[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] target-i386: Introduce ICC bus/device/bridge
Am 28.05.2013 13:49, schrieb Stefano Stabellini: > On Mon, 27 May 2013, Igor Mammedov wrote: >> On Fri, 24 May 2013 08:56:14 -0600 >> jacek burghardt <jaceksburghardt@xxxxxxxxx> 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? That's based on top of your other patches though, right? Accessing first_cpu with no CPU created is doomed to fail. qtest does create CPUs, it just doesn't execute them. Not arguing against this, just cautioning that additional NULL checks may be needed elsewhere. Cheers, Andreas > --- > > > xen_machine_pv: do not create a dummy CPU in machine->init > > QEMU can cope with machines without cpus. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > 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__); > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |