Message ID | 20201027182144.3315885-7-pbonzini@redhat.com |
---|---|
State | Accepted |
Commit | e0d17dfd22348eab63c5e19b7ee9c9212c2b8af8 |
Headers | show |
Series | cleanup qemu_init and make sense of command line processing | expand |
On Tue, 27 Oct 2020 14:21:21 -0400 Paolo Bonzini <pbonzini@redhat.com> wrote: > Some very simple initialization routines can be nested in existing > subsystem-level functions, do that to simplify qemu_init. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/core/machine.c | 3 +++ > include/hw/qdev-core.h | 8 -------- > migration/migration.c | 4 ++++ > softmmu/qdev-monitor.c | 6 ------ > softmmu/vl.c | 5 ----- > 5 files changed, 7 insertions(+), 19 deletions(-) > > diff --git a/hw/core/machine.c b/hw/core/machine.c > index baea4e8613..d84b84463c 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -872,6 +872,9 @@ static void machine_initfn(Object *obj) > MachineState *ms = MACHINE(obj); > MachineClass *mc = MACHINE_GET_CLASS(obj); > > + container_get(obj, "/peripheral"); > + container_get(obj, "/peripheral-anon"); > + > ms->dump_guest_core = true; > ms->mem_merge = true; > ms->enable_graphics = true; > diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h > index 868973319e..56ce7f2d7f 100644 > --- a/include/hw/qdev-core.h > +++ b/include/hw/qdev-core.h > @@ -769,14 +769,6 @@ BusState *sysbus_get_default(void); > char *qdev_get_fw_dev_path(DeviceState *dev); > char *qdev_get_own_fw_dev_path_from_handler(BusState *bus, DeviceState *dev); > > -/** > - * @qdev_machine_init > - * > - * Initialize platform devices before machine init. This is a hack until full > - * support for composition is added. > - */ > -void qdev_machine_init(void); > - > /** > * device_legacy_reset: > * > diff --git a/migration/migration.c b/migration/migration.c > index deb6005b8d..f48b03cac2 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -169,6 +169,10 @@ void migration_object_init(void) > error_report_err(err); > exit(1); > } > + > + blk_mig_init(); > + ram_mig_init(); > + dirty_bitmap_mig_init(); > } > > void migration_shutdown(void) > diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c > index bcfb90a08f..bcfcbac181 100644 > --- a/softmmu/qdev-monitor.c > +++ b/softmmu/qdev-monitor.c > @@ -943,12 +943,6 @@ BlockBackend *blk_by_qdev_id(const char *id, Error **errp) > return blk; > } > > -void qdev_machine_init(void) > -{ > - qdev_get_peripheral_anon(); > - qdev_get_peripheral(); > -} > - > QemuOptsList qemu_device_opts = { > .name = "device", > .implied_opt_name = "driver", > diff --git a/softmmu/vl.c b/softmmu/vl.c > index 32880616e2..b05340802a 100644 > --- a/softmmu/vl.c > +++ b/softmmu/vl.c > @@ -4275,10 +4275,6 @@ void qemu_init(int argc, char **argv, char **envp) > exit(1); > } > > - blk_mig_init(); > - ram_mig_init(); > - dirty_bitmap_mig_init(); > - > qemu_opts_foreach(qemu_find_opts("mon"), > mon_init_func, NULL, &error_fatal); > > @@ -4311,7 +4307,6 @@ void qemu_init(int argc, char **argv, char **envp) > reading from the other reads, because timer polling functions query > clock values from the log. */ > replay_checkpoint(CHECKPOINT_INIT); > - qdev_machine_init(); > > current_machine->boot_order = boot_order; >
diff --git a/hw/core/machine.c b/hw/core/machine.c index baea4e8613..d84b84463c 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -872,6 +872,9 @@ static void machine_initfn(Object *obj) MachineState *ms = MACHINE(obj); MachineClass *mc = MACHINE_GET_CLASS(obj); + container_get(obj, "/peripheral"); + container_get(obj, "/peripheral-anon"); + ms->dump_guest_core = true; ms->mem_merge = true; ms->enable_graphics = true; diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 868973319e..56ce7f2d7f 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -769,14 +769,6 @@ BusState *sysbus_get_default(void); char *qdev_get_fw_dev_path(DeviceState *dev); char *qdev_get_own_fw_dev_path_from_handler(BusState *bus, DeviceState *dev); -/** - * @qdev_machine_init - * - * Initialize platform devices before machine init. This is a hack until full - * support for composition is added. - */ -void qdev_machine_init(void); - /** * device_legacy_reset: * diff --git a/migration/migration.c b/migration/migration.c index deb6005b8d..f48b03cac2 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -169,6 +169,10 @@ void migration_object_init(void) error_report_err(err); exit(1); } + + blk_mig_init(); + ram_mig_init(); + dirty_bitmap_mig_init(); } void migration_shutdown(void) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index bcfb90a08f..bcfcbac181 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -943,12 +943,6 @@ BlockBackend *blk_by_qdev_id(const char *id, Error **errp) return blk; } -void qdev_machine_init(void) -{ - qdev_get_peripheral_anon(); - qdev_get_peripheral(); -} - QemuOptsList qemu_device_opts = { .name = "device", .implied_opt_name = "driver", diff --git a/softmmu/vl.c b/softmmu/vl.c index 32880616e2..b05340802a 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -4275,10 +4275,6 @@ void qemu_init(int argc, char **argv, char **envp) exit(1); } - blk_mig_init(); - ram_mig_init(); - dirty_bitmap_mig_init(); - qemu_opts_foreach(qemu_find_opts("mon"), mon_init_func, NULL, &error_fatal); @@ -4311,7 +4307,6 @@ void qemu_init(int argc, char **argv, char **envp) reading from the other reads, because timer polling functions query clock values from the log. */ replay_checkpoint(CHECKPOINT_INIT); - qdev_machine_init(); current_machine->boot_order = boot_order;
Some very simple initialization routines can be nested in existing subsystem-level functions, do that to simplify qemu_init. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- hw/core/machine.c | 3 +++ include/hw/qdev-core.h | 8 -------- migration/migration.c | 4 ++++ softmmu/qdev-monitor.c | 6 ------ softmmu/vl.c | 5 ----- 5 files changed, 7 insertions(+), 19 deletions(-)