On Wed, May 03, 2017 at 02:57:14PM +0200, Igor Mammedov wrote: > add machine_run_board_init() wrapper that calls machine > init for now but in follow up patches it will be used > to run generic machine code that should run before > machine init. > > Signed-off-by: Igor Mammedov Reviewed-by: David Gibson > --- > include/hw/boards.h | 1 + > hw/core/machine.c | 6 ++++++ > vl.c | 2 +- > 3 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/include/hw/boards.h b/include/hw/boards.h > index 1f518a1..0e74484 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -32,6 +32,7 @@ void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner, > MachineClass *find_default_machine(void); > extern MachineState *current_machine; > > +void machine_run_board_init(MachineState *machine); > bool machine_usb(MachineState *machine); > bool machine_kernel_irqchip_allowed(MachineState *machine); > bool machine_kernel_irqchip_required(MachineState *machine); > diff --git a/hw/core/machine.c b/hw/core/machine.c > index a63f17b..217b4f4 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -648,6 +648,12 @@ bool machine_mem_merge(MachineState *machine) > return machine->mem_merge; > } > > +void machine_run_board_init(MachineState *machine) > +{ > + MachineClass *machine_class = MACHINE_GET_CLASS(machine); > + machine_class->init(machine); > +} > + > static void machine_class_finalize(ObjectClass *klass, void *data) > { > MachineClass *mc = MACHINE_CLASS(klass); > diff --git a/vl.c b/vl.c > index fe4741d..ac46d6e 100644 > --- a/vl.c > +++ b/vl.c > @@ -4562,7 +4562,7 @@ int main(int argc, char **argv, char **envp) > current_machine->boot_order = boot_order; > current_machine->cpu_model = cpu_model; > > - machine_class->init(current_machine); > + machine_run_board_init(current_machine); > > realtime_init(); > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson