aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc/e500.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/ppc/e500.h')
-rw-r--r--hw/ppc/e500.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/hw/ppc/e500.h b/hw/ppc/e500.h
index 70ba1d8f4f..621403bd24 100644
--- a/hw/ppc/e500.h
+++ b/hw/ppc/e500.h
@@ -3,12 +3,21 @@
#include "hw/boards.h"
-typedef struct PPCE500Params {
- int pci_first_slot;
- int pci_nr_slots;
+typedef struct PPCE500MachineState {
+ /*< private >*/
+ MachineState parent_obj;
+
+} PPCE500MachineState;
+
+typedef struct PPCE500MachineClass {
+ /*< private >*/
+ MachineClass parent_class;
/* required -- must at least add toplevel board compatible */
- void (*fixup_devtree)(struct PPCE500Params *params, void *fdt);
+ void (*fixup_devtree)(void *fdt);
+
+ int pci_first_slot;
+ int pci_nr_slots;
int mpic_version;
bool has_mpc8xxx_gpio;
@@ -22,10 +31,18 @@ typedef struct PPCE500Params {
hwaddr pci_mmio_base;
hwaddr pci_mmio_bus_base;
hwaddr spin_base;
-} PPCE500Params;
+} PPCE500MachineClass;
-void ppce500_init(MachineState *machine, PPCE500Params *params);
+void ppce500_init(MachineState *machine);
hwaddr booke206_page_size_to_tlb(uint64_t size);
+#define TYPE_PPCE500_MACHINE "ppce500-base-machine"
+#define PPCE500_MACHINE(obj) \
+ OBJECT_CHECK(PPCE500MachineState, (obj), TYPE_PPCE500_MACHINE)
+#define PPCE500_MACHINE_GET_CLASS(obj) \
+ OBJECT_GET_CLASS(PPCE500MachineClass, obj, TYPE_PPCE500_MACHINE)
+#define PPCE500_MACHINE_CLASS(klass) \
+ OBJECT_CLASS_CHECK(PPCE500MachineClass, klass, TYPE_PPCE500_MACHINE)
+
#endif