|
|
05bba0 |
From aec2ed0972eec0b7d251de1ae27de00b2bf29936 Mon Sep 17 00:00:00 2001
|
|
|
05bba0 |
From: Laszlo Ersek <lersek@redhat.com>
|
|
|
05bba0 |
Date: Tue, 27 Jan 2015 17:48:10 +0100
|
|
|
05bba0 |
Subject: [PATCH 07/16] main(): set current_machine before calling
|
|
|
05bba0 |
machine->init()
|
|
|
05bba0 |
|
|
|
05bba0 |
Message-id: <1422380891-11054-2-git-send-email-lersek@redhat.com>
|
|
|
05bba0 |
Patchwork-id: 63584
|
|
|
05bba0 |
O-Subject: [RHEL-7.2 qemu-kvm PATCH 1/2] main(): set current_machine before calling machine->init()
|
|
|
05bba0 |
Bugzilla: 1176283
|
|
|
05bba0 |
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
05bba0 |
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
|
05bba0 |
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
|
|
|
05bba0 |
|
|
|
05bba0 |
Performing the assignment earlier allows machine->init() and its children
|
|
|
05bba0 |
to access current_machine->name.
|
|
|
05bba0 |
|
|
|
05bba0 |
The alternative would be to pass QEMUMachineInitArgs down to
|
|
|
05bba0 |
pc_memory_init() and even deeper, which I deem to cause more annoyance for
|
|
|
05bba0 |
future backports than this patch.
|
|
|
05bba0 |
|
|
|
05bba0 |
Note that upstream commit 0056ae24bc36798fdd96d0b31e217e9f73896736 moved
|
|
|
05bba0 |
the assignment similarly (but it is not backportable to RHEL-7).
|
|
|
05bba0 |
|
|
|
05bba0 |
This patch could only regress code that depends on the nullity of
|
|
|
05bba0 |
"current_machine". I only found one such site, qemu_system_reset().
|
|
|
05bba0 |
qemu_system_reset() is called from the following places:
|
|
|
05bba0 |
- load_vmstate(), which is not called in the code straddled by the
|
|
|
05bba0 |
assignment movement,
|
|
|
05bba0 |
- main_loop_should_exit(), ditto,
|
|
|
05bba0 |
- later in main(),
|
|
|
05bba0 |
- "xen-all.c", irrelevant.
|
|
|
05bba0 |
|
|
|
05bba0 |
Downstream only.
|
|
|
05bba0 |
|
|
|
05bba0 |
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
|
05bba0 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
05bba0 |
---
|
|
|
05bba0 |
vl.c | 5 +++--
|
|
|
05bba0 |
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
05bba0 |
|
|
|
05bba0 |
diff --git a/vl.c b/vl.c
|
|
|
05bba0 |
index 2b3dc88..35b927e 100644
|
|
|
05bba0 |
--- a/vl.c
|
|
|
05bba0 |
+++ b/vl.c
|
|
|
05bba0 |
@@ -4252,6 +4252,9 @@ int main(int argc, char **argv, char **envp)
|
|
|
05bba0 |
.kernel_cmdline = kernel_cmdline,
|
|
|
05bba0 |
.initrd_filename = initrd_filename,
|
|
|
05bba0 |
.cpu_model = cpu_model };
|
|
|
05bba0 |
+
|
|
|
05bba0 |
+ current_machine = machine;
|
|
|
05bba0 |
+
|
|
|
05bba0 |
machine->init(&args);
|
|
|
05bba0 |
|
|
|
05bba0 |
audio_init();
|
|
|
05bba0 |
@@ -4260,8 +4263,6 @@ int main(int argc, char **argv, char **envp)
|
|
|
05bba0 |
|
|
|
05bba0 |
set_numa_modes();
|
|
|
05bba0 |
|
|
|
05bba0 |
- current_machine = machine;
|
|
|
05bba0 |
-
|
|
|
05bba0 |
/* init USB devices */
|
|
|
05bba0 |
if (usb_enabled(false)) {
|
|
|
05bba0 |
if (foreach_device_config(DEV_USB, usb_parse) < 0)
|
|
|
05bba0 |
--
|
|
|
05bba0 |
1.8.3.1
|
|
|
05bba0 |
|