diff --git a/qemu/hw/sparc64/sun4u.c b/qemu/hw/sparc64/sun4u.c index e90b3cff..ec6bfdfe 100644 --- a/qemu/hw/sparc64/sun4u.c +++ b/qemu/hw/sparc64/sun4u.c @@ -51,12 +51,34 @@ static int sun4u_init(struct uc_struct *uc, MachineState *machine) return 0; } -static void sun4u_machine_init(struct uc_struct *uc, MachineClass *mc) +static void sun4u_class_init(struct uc_struct *uc, ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(uc, oc); + mc->init = sun4u_init; mc->max_cpus = 1; /* XXX for now */ mc->is_default = 1; mc->arch = UC_ARCH_SPARC; } -DEFINE_MACHINE("sun4u", sun4u_machine_init) +static const TypeInfo sun4u_type = { + MACHINE_TYPE_NAME("sun4u"), + TYPE_MACHINE, + + 0, + 0, + NULL, + + NULL, + NULL, + NULL, + + NULL, + + sun4u_class_init, +}; + +void sun4u_machine_init(struct uc_struct *uc) +{ + type_register_static(uc, &sun4u_type); +} diff --git a/qemu/include/hw/sparc/sparc.h b/qemu/include/hw/sparc/sparc.h index 184cb241..25bda8c9 100644 --- a/qemu/include/hw/sparc/sparc.h +++ b/qemu/include/hw/sparc/sparc.h @@ -3,6 +3,6 @@ void sparc_cpu_register_types(void *opaque); void leon3_generic_machine_init_register_types(struct uc_struct *uc); -void sun4u_machine_init_register_types(struct uc_struct *uc); +void sun4u_machine_init(struct uc_struct *uc); #endif diff --git a/qemu/target/sparc/unicorn64.c b/qemu/target/sparc/unicorn64.c index bfa4c93e..9de721cb 100644 --- a/qemu/target/sparc/unicorn64.c +++ b/qemu/target/sparc/unicorn64.c @@ -110,7 +110,7 @@ void sparc64_uc_init(struct uc_struct* uc) { register_accel_types(uc); sparc_cpu_register_types(uc); - sun4u_machine_init_register_types(uc); + sun4u_machine_init(uc); uc->reg_read = sparc_reg_read; uc->reg_write = sparc_reg_write; uc->reg_reset = sparc_reg_reset;