]>
Commit | Line | Data |
---|---|---|
879f60f0 AF |
1 | /* |
2 | * QEMU RISC-V lowRISC Ibex PLIC | |
3 | * | |
4 | * Copyright (c) 2020 Western Digital | |
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_IBEX_PLIC_H | |
20 | #define HW_IBEX_PLIC_H | |
21 | ||
22 | #include "hw/sysbus.h" | |
db1015e9 | 23 | #include "qom/object.h" |
879f60f0 AF |
24 | |
25 | #define TYPE_IBEX_PLIC "ibex-plic" | |
8063396b | 26 | OBJECT_DECLARE_SIMPLE_TYPE(IbexPlicState, IBEX_PLIC) |
879f60f0 | 27 | |
db1015e9 | 28 | struct IbexPlicState { |
879f60f0 AF |
29 | /*< private >*/ |
30 | SysBusDevice parent_obj; | |
31 | ||
32 | /*< public >*/ | |
33 | MemoryRegion mmio; | |
34 | ||
35 | uint32_t *pending; | |
22491406 | 36 | uint32_t *claimed; |
879f60f0 AF |
37 | uint32_t *source; |
38 | uint32_t *priority; | |
39 | uint32_t *enable; | |
40 | uint32_t threshold; | |
41 | uint32_t claim; | |
42 | ||
43 | /* config */ | |
44 | uint32_t num_cpus; | |
45 | uint32_t num_sources; | |
46 | ||
47 | uint32_t pending_base; | |
48 | uint32_t pending_num; | |
49 | ||
50 | uint32_t source_base; | |
51 | uint32_t source_num; | |
52 | ||
53 | uint32_t priority_base; | |
54 | uint32_t priority_num; | |
55 | ||
56 | uint32_t enable_base; | |
57 | uint32_t enable_num; | |
58 | ||
59 | uint32_t threshold_base; | |
60 | ||
61 | uint32_t claim_base; | |
db1015e9 | 62 | }; |
879f60f0 AF |
63 | |
64 | #endif /* HW_IBEX_PLIC_H */ |