1
From 58ee9b0ae05d81c74d6869a25ce4263fc22ed809 Mon Sep 17 00:00:00 2001
2
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
3
Date: Mon, 3 Jun 2013 15:38:31 +0000
4
Subject: [PATCH] xen_machine_pv: do not create a dummy CPU in machine->init
6
Content-Type: text/plain; charset=UTF-8
7
Content-Transfer-Encoding: 8bit
9
This fixes a regression introduced by:
11
commit 62fc403f11523169eb4264de31279745f48e3ecc
12
Author: Igor Mammedov <imammedo@redhat.com>
13
Date: Mon Apr 29 18:54:13 2013 +0200
15
target-i386: Attach ICC bus to CPU on its creation
17
X86CPU should have parent bus so it could provide bus for child APIC.
19
The commit makes it mandatory to pass a valid ICC bus to cpu_x86_create,
20
but cpu_x86_init just passes NULL to it.
21
xen_machine_pv uses cpu_x86_init, therefore it has been broken.
23
This patch fixes the problem by removing the dummy CPU creation
24
altogether from xen_init_pv, relying on the fact that QEMU can now cope
25
with a machine without an emulated CPU.
27
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
28
Reviewed-by: Andreas Färber <afaerber@suse.de>
29
CC: imammedo@redhat.com
30
CC: qemu-stable@nongnu.org
32
hw/i386/xen_machine_pv.c | 16 ----------------
33
1 file changed, 16 deletions(-)
35
diff --git a/hw/i386/xen_machine_pv.c b/hw/i386/xen_machine_pv.c
36
index f829a52..9f2e291 100644
37
--- a/hw/i386/xen_machine_pv.c
38
+++ b/hw/i386/xen_machine_pv.c
43
-#include "hw/i386/pc.h"
44
#include "hw/boards.h"
45
#include "hw/xen/xen_backend.h"
46
#include "xen_domainbuild.h"
49
static void xen_init_pv(QEMUMachineInitArgs *args)
51
- const char *cpu_model = args->cpu_model;
52
const char *kernel_filename = args->kernel_filename;
53
const char *kernel_cmdline = args->kernel_cmdline;
54
const char *initrd_filename = args->initrd_filename;
60
- /* Initialize a dummy CPU */
61
- if (cpu_model == NULL) {
63
- cpu_model = "qemu64";
65
- cpu_model = "qemu32";
68
- cpu = cpu_x86_init(cpu_model);
72
/* Initialize backend core & drivers */
73
if (xen_be_init() != 0) {
74
fprintf(stderr, "%s: xen backend core setup failed\n", __FUNCTION__);