Message ID | 20220310112725.570053-47-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/nios2: Shadow register set, EIC and VIC | expand |
On 10/03/2022 11:27, Richard Henderson wrote: > We want to move data from the heap into Nios2MachineState, > which is not possible with DEFINE_MACHINE. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > hw/nios2/10m50_devboard.c | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c > index 3d1205b8bd..bdc3ffd50d 100644 > --- a/hw/nios2/10m50_devboard.c > +++ b/hw/nios2/10m50_devboard.c > @@ -36,6 +36,13 @@ > > #include "boot.h" > > +struct Nios2MachineState { > + MachineState parent_obj; > +}; > + > +#define TYPE_NIOS2_MACHINE MACHINE_TYPE_NAME("10m50-ghrd") > +OBJECT_DECLARE_TYPE(Nios2MachineState, MachineClass, NIOS2_MACHINE) > + > #define BINARY_DEVICE_TREE_FILE "10m50-devboard.dtb" > > static void nios2_10m50_ghrd_init(MachineState *machine) > @@ -105,11 +112,24 @@ static void nios2_10m50_ghrd_init(MachineState *machine) > BINARY_DEVICE_TREE_FILE, NULL); > } > > -static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc) > +static void nios2_10m50_ghrd_class_init(ObjectClass *oc, void *data) > { > + MachineClass *mc = MACHINE_CLASS(oc); > + > mc->desc = "Altera 10M50 GHRD Nios II design"; > mc->init = nios2_10m50_ghrd_init; > mc->is_default = true; > } > > -DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init); > +static const TypeInfo nios2_10m50_ghrd_type_info = { > + .name = TYPE_NIOS2_MACHINE, > + .parent = TYPE_MACHINE, > + .instance_size = sizeof(Nios2MachineState), > + .class_init = nios2_10m50_ghrd_class_init, > +}; > + > +static void nios2_10m50_ghrd_type_init(void) > +{ > + type_register_static(&nios2_10m50_ghrd_type_info); > +} > +type_init(nios2_10m50_ghrd_type_init); Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c index 3d1205b8bd..bdc3ffd50d 100644 --- a/hw/nios2/10m50_devboard.c +++ b/hw/nios2/10m50_devboard.c @@ -36,6 +36,13 @@ #include "boot.h" +struct Nios2MachineState { + MachineState parent_obj; +}; + +#define TYPE_NIOS2_MACHINE MACHINE_TYPE_NAME("10m50-ghrd") +OBJECT_DECLARE_TYPE(Nios2MachineState, MachineClass, NIOS2_MACHINE) + #define BINARY_DEVICE_TREE_FILE "10m50-devboard.dtb" static void nios2_10m50_ghrd_init(MachineState *machine) @@ -105,11 +112,24 @@ static void nios2_10m50_ghrd_init(MachineState *machine) BINARY_DEVICE_TREE_FILE, NULL); } -static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc) +static void nios2_10m50_ghrd_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Altera 10M50 GHRD Nios II design"; mc->init = nios2_10m50_ghrd_init; mc->is_default = true; } -DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init); +static const TypeInfo nios2_10m50_ghrd_type_info = { + .name = TYPE_NIOS2_MACHINE, + .parent = TYPE_MACHINE, + .instance_size = sizeof(Nios2MachineState), + .class_init = nios2_10m50_ghrd_class_init, +}; + +static void nios2_10m50_ghrd_type_init(void) +{ + type_register_static(&nios2_10m50_ghrd_type_info); +} +type_init(nios2_10m50_ghrd_type_init);
We want to move data from the heap into Nios2MachineState, which is not possible with DEFINE_MACHINE. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- hw/nios2/10m50_devboard.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)