xref: /qemu/include/hw/misc/sifive_test.h (revision 8063396b)
1 /*
2  * QEMU Test Finisher interface
3  *
4  * Copyright (c) 2018 SiFive, Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2 or later, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef HW_SIFIVE_TEST_H
20 #define HW_SIFIVE_TEST_H
21 
22 #include "hw/sysbus.h"
23 #include "qom/object.h"
24 
25 #define TYPE_SIFIVE_TEST "riscv.sifive.test"
26 
27 typedef struct SiFiveTestState SiFiveTestState;
28 DECLARE_INSTANCE_CHECKER(SiFiveTestState, SIFIVE_TEST,
29                          TYPE_SIFIVE_TEST)
30 
31 struct SiFiveTestState {
32     /*< private >*/
33     SysBusDevice parent_obj;
34 
35     /*< public >*/
36     MemoryRegion mmio;
37 };
38 
39 enum {
40     FINISHER_FAIL = 0x3333,
41     FINISHER_PASS = 0x5555,
42     FINISHER_RESET = 0x7777
43 };
44 
45 DeviceState *sifive_test_create(hwaddr addr);
46 
47 #endif
48