]>
Commit | Line | Data |
---|---|---|
e6eaabeb SW |
1 | #ifndef PPCE500_H |
2 | #define PPCE500_H | |
3 | ||
92238367 | 4 | #include "hw/boards.h" |
a3fc8396 | 5 | #include "hw/platform-bus.h" |
92238367 | 6 | |
03f04809 IM |
7 | typedef struct PPCE500MachineState { |
8 | /*< private >*/ | |
9 | MachineState parent_obj; | |
10 | ||
a3fc8396 IM |
11 | /* points to instance of TYPE_PLATFORM_BUS_DEVICE if |
12 | * board supports dynamic sysbus devices | |
13 | */ | |
14 | PlatformBusDevice *pbus_dev; | |
03f04809 IM |
15 | } PPCE500MachineState; |
16 | ||
17 | typedef struct PPCE500MachineClass { | |
18 | /*< private >*/ | |
19 | MachineClass parent_class; | |
e6eaabeb | 20 | |
e6eaabeb | 21 | /* required -- must at least add toplevel board compatible */ |
03f04809 IM |
22 | void (*fixup_devtree)(void *fdt); |
23 | ||
24 | int pci_first_slot; | |
25 | int pci_nr_slots; | |
f5fba9d2 SW |
26 | |
27 | int mpic_version; | |
b88e77f4 | 28 | bool has_mpc8xxx_gpio; |
f7087343 AG |
29 | bool has_platform_bus; |
30 | hwaddr platform_bus_base; | |
31 | hwaddr platform_bus_size; | |
32 | int platform_bus_first_irq; | |
33 | int platform_bus_num_irqs; | |
2eaaac1f AG |
34 | hwaddr ccsrbar_base; |
35 | hwaddr pci_pio_base; | |
cb3778a0 AG |
36 | hwaddr pci_mmio_base; |
37 | hwaddr pci_mmio_bus_base; | |
2eaaac1f | 38 | hwaddr spin_base; |
03f04809 | 39 | } PPCE500MachineClass; |
e6eaabeb | 40 | |
03f04809 | 41 | void ppce500_init(MachineState *machine); |
e6eaabeb | 42 | |
a36848ff AL |
43 | hwaddr booke206_page_size_to_tlb(uint64_t size); |
44 | ||
03f04809 IM |
45 | #define TYPE_PPCE500_MACHINE "ppce500-base-machine" |
46 | #define PPCE500_MACHINE(obj) \ | |
47 | OBJECT_CHECK(PPCE500MachineState, (obj), TYPE_PPCE500_MACHINE) | |
48 | #define PPCE500_MACHINE_GET_CLASS(obj) \ | |
49 | OBJECT_GET_CLASS(PPCE500MachineClass, obj, TYPE_PPCE500_MACHINE) | |
50 | #define PPCE500_MACHINE_CLASS(klass) \ | |
51 | OBJECT_CLASS_CHECK(PPCE500MachineClass, klass, TYPE_PPCE500_MACHINE) | |
52 | ||
e6eaabeb | 53 | #endif |