1 #ifndef PPCE500_H 2 #define PPCE500_H 3 4 #include "hw/boards.h" 5 6 typedef struct PPCE500MachineState { 7 /*< private >*/ 8 MachineState parent_obj; 9 10 } PPCE500MachineState; 11 12 typedef struct PPCE500MachineClass { 13 /*< private >*/ 14 MachineClass parent_class; 15 16 /* required -- must at least add toplevel board compatible */ 17 void (*fixup_devtree)(void *fdt); 18 19 int pci_first_slot; 20 int pci_nr_slots; 21 22 int mpic_version; 23 bool has_mpc8xxx_gpio; 24 bool has_platform_bus; 25 hwaddr platform_bus_base; 26 hwaddr platform_bus_size; 27 int platform_bus_first_irq; 28 int platform_bus_num_irqs; 29 hwaddr ccsrbar_base; 30 hwaddr pci_pio_base; 31 hwaddr pci_mmio_base; 32 hwaddr pci_mmio_bus_base; 33 hwaddr spin_base; 34 } PPCE500MachineClass; 35 36 void ppce500_init(MachineState *machine); 37 38 hwaddr booke206_page_size_to_tlb(uint64_t size); 39 40 #define TYPE_PPCE500_MACHINE "ppce500-base-machine" 41 #define PPCE500_MACHINE(obj) \ 42 OBJECT_CHECK(PPCE500MachineState, (obj), TYPE_PPCE500_MACHINE) 43 #define PPCE500_MACHINE_GET_CLASS(obj) \ 44 OBJECT_GET_CLASS(PPCE500MachineClass, obj, TYPE_PPCE500_MACHINE) 45 #define PPCE500_MACHINE_CLASS(klass) \ 46 OBJECT_CLASS_CHECK(PPCE500MachineClass, klass, TYPE_PPCE500_MACHINE) 47 48 #endif 49