[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Xen-devel] target-i386: Introduce ICC bus/device/bridg
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [Xen-devel] target-i386: Introduce ICC bus/device/bridge |
Date: |
Tue, 28 May 2013 12:49:19 +0100 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Mon, 27 May 2013, Igor Mammedov wrote:
> On Fri, 24 May 2013 08:56:14 -0600
> jacek burghardt <address@hidden> wrote:
>
> > I wonder if anyone has patch that allows to tlak to icc bus introduced in
> > qemu upstream ?
> > https://github.com/qemu/qemu/commit/f0513d2c0156799e0c75a108ab9a049eea4f9607
> >
> > icc-bridge will serve as a parent for icc-bus and provide
> > mmio mapping services to child icc-devices.
> > * icc-device will replace SysBusDevice as a parent of APIC
> > and IOAPIC devices.
>
> looking at xen_init_pv() it creates dummy CPU which appears
> not to be used by PV guest. What was the purpose in creating it?
>
I think that the purpose used to be keeping the rest of QEMU happy,
because it used to assume that a CPU was being emulated. As a matter of
fact the Xen PV machine does not actually emulate anything, especially
it doesn't emulate the CPU.
Nowadays QEMU is capable of handling machines without cpus, so I suggest
removing this code from xen_init_pv altogether.
jacek, can you please confirm that the patch below solves your problem?
---
xen_machine_pv: do not create a dummy CPU in machine->init
QEMU can cope with machines without cpus.
Signed-off-by: Stefano Stabellini <address@hidden>
diff --git a/hw/i386/xen_machine_pv.c b/hw/i386/xen_machine_pv.c
index f829a52..b02ffac 100644
--- a/hw/i386/xen_machine_pv.c
+++ b/hw/i386/xen_machine_pv.c
@@ -31,27 +31,12 @@
static void xen_init_pv(QEMUMachineInitArgs *args)
{
- const char *cpu_model = args->cpu_model;
const char *kernel_filename = args->kernel_filename;
const char *kernel_cmdline = args->kernel_cmdline;
const char *initrd_filename = args->initrd_filename;
- X86CPU *cpu;
- CPUState *cs;
DriveInfo *dinfo;
int i;
- /* Initialize a dummy CPU */
- if (cpu_model == NULL) {
-#ifdef TARGET_X86_64
- cpu_model = "qemu64";
-#else
- cpu_model = "qemu32";
-#endif
- }
- cpu = cpu_x86_init(cpu_model);
- cs = CPU(cpu);
- cs->halted = 1;
-
/* Initialize backend core & drivers */
if (xen_be_init() != 0) {
fprintf(stderr, "%s: xen backend core setup failed\n", __FUNCTION__);
Re: [Qemu-devel] [Xen-devel] target-i386: Introduce ICC bus/device/bridge, jacek burghardt, 2013/05/28