[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: reserve 00:02.0 for INTEL IGD
> -----Original Message----- > From: Igor Mammedov [mailto:imammedo@xxxxxxxxxx] > Sent: Thursday, May 22, 2014 10:20 PM > To: Michael S. Tsirkin > Cc: Chen, Tiejun; peter.maydell@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxx; > Daniel P. Berrange; stefano.stabellini@xxxxxxxxxxxxx; Kay, Allen M; > Kelly.Zytaruk@xxxxxxx; qemu-devel@xxxxxxxxxx; Zhang, Yang Z; Gerd > Hoffmann; anthony@xxxxxxxxxxxxx; Anthony PERARD > Subject: Re: [Xen-devel] [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: > reserve 00:02.0 for INTEL IGD > > On Thu, 22 May 2014 14:25:32 +0300 > "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote: > > > On Thu, May 22, 2014 at 10:50:10AM +0000, Chen, Tiejun wrote: > > > > -----Original Message----- > > > > From: Gerd Hoffmann [mailto:kraxel@xxxxxxxxxx] > > > > Sent: Thursday, May 22, 2014 2:45 PM > > > > To: Chen, Tiejun > > > > Cc: Anthony PERARD; Daniel P. Berrange; peter.maydell@xxxxxxxxxx; > > > > xen-devel@xxxxxxxxxxxxxxxxxxx; mst@xxxxxxxxxx; > > > > stefano.stabellini@xxxxxxxxxxxxx; Kay, Allen M; > > > > Kelly.Zytaruk@xxxxxxx; qemu-devel@xxxxxxxxxx; Zhang, Yang Z; > > > > anthony@xxxxxxxxxxxxx > > > > Subject: Re: [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: > > > > reserve > > > > 00:02.0 for INTEL IGD > > > > > > > > Hi, > > > > > > > > > > Another useful thing would be to not create the xen platform > > > > > > device in case "-nodefaults" was specified on the command line > > > > > > (that switch turns off a bunch of other devices present by default: > > > > > > vga, > nic, cdrom, ...). > > > > > > > > > > Currently looks 'xen-platform' itself can't be created, not > > > > > those devices > > > > existed on that. > > > > > > > > The error message looks more like libxl tries to hot-unplug the > > > > xen platform device. > > > > > > > > Attached patch (untested!) hooks up the xen platform device to the > > > > default device code we have in qemu. Two effects: > > > > > > > > (1) As mentioned above the device will not be created in case > > > > -nodefaults is specified on the command line. > > > > (2) Autocreating the device is also turned off in case xen-platform > > > > is added manually via -device. > > > > > > > > With the patch applied you should be able to move the xen-platform > > > > device to some other place with a simple 'qemu -device > xen-platform,addr=$slot'. > > > > > > > > > > Gerd, > > > > > > Sorry, I may misunderstand what you mean previously then have a wrong > test. > > > > > > So this still doesn't work actually. > > > > > > After applied your patch, 'xen-platform' is always disabled by > > > default, right? So 00:02.0 is left naturally to be assigned to IGD > > > as we expect like this, > > > > > > tchen0@tchen0-HVM-domU:~$ lspci > > > 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM > > > Controller (rev 06) > > > 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA > > > [Natoma/Triton II] > > > 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE > > > [Natoma/Triton II] > > > 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) > > > 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 > > > v3/4th Gen Core Processor Integrated Graphics Controller (rev 06) > > > 00:03.0 USB controller: Intel Corporation 8 Series/C220 Series > > > Chipset Family USB EHCI #2 (rev 04) > > > 00:1f.0 ISA bridge: Intel Corporation Q87 Express LPC Controller > > > (rev 04) > > > > > > Then this is fine but if you intend to add a 'qemu -device > > > xen-platform,addr=$slot', this doesn't work well. In my case, > > > > > > gfx_passthru=1 > > > pci=["00:02.0@2", "00:1a.0"] > > > xen_platform_pci=0 > > > device_model_args_hvm = ['-device', 'xen-platform,addr=0x3'] > > > > > > tchen0@tchen0-linux:~/workspace$ sudo xl cr domu-cfg Parsing config > > > from domu-cfg > > > libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an > > > error message from QMP server: Unsupported bus. Bus doesn't have > > > property 'acpi-pcihp-bsel' set > > > libxl: error: libxl_create.c:1277:domcreate_attach_pci: > > > libxl_device_pci_add failed: -3 > > > > > > Thanks > > > Tiejun > > > > Weird: this implies use_acpi_pci_hotplug got set somehow. > even if it's not set, and xenfv compat prop says it isn't, root PCI bus > should have > property present. > > Tiejun, > What is output of the following debug patch: With your patch and the following configurations, gfx_passthru=1 pci=["00:02.0@2", "00:1a.0"] xen_platform_pci=0 device_model_args_hvm = ['-device', 'xen-platform,addr=0x3'] Then, tchen0@tchen0-linux:~/workspace$ sudo xl cr domu-cfg Parsing config from domu-cfg libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an error message from QMP server: Unsupported bus. Bus doesn't have property 'acpi-pcihp-bsel' set libxl: error: libxl_create.c:1277:domcreate_attach_pci: libxl_device_pci_add failed: -3 tchen0@tchen0-linux:~/workspace$ cat /var/log/xen/qemu-dm-HVM.log char device redirected to /dev/pts/40 (label serial0) acpi_pcihp_init qemu: terminating on signal 1 from pid 24621 tchen0@tchen0-linux:~/workspace$ Thanks Tiejun > > --- > > diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 3b143b3..6f8e26d 100644 > --- a/hw/acpi/pcihp.c > +++ b/hw/acpi/pcihp.c > @@ -305,6 +305,7 @@ void acpi_pcihp_init(AcpiPciHpState *s, PCIBus > *root_bus, > s->root= root_bus; > s->legacy_piix = !bridges_enabled; > > + fprintf(stderr, "acpi_pcihp_init\n"); > if (s->legacy_piix) { > unsigned *bus_bsel = g_malloc(sizeof *bus_bsel); > > @@ -313,6 +314,7 @@ void acpi_pcihp_init(AcpiPciHpState *s, PCIBus > *root_bus, > *bus_bsel = ACPI_PCIHP_BSEL_DEFAULT; > object_property_add_uint32_ptr(OBJECT(root_bus), > ACPI_PCIHP_PROP_BSEL, > bus_bsel, NULL); > + fprintf(stderr, "Legacy PCI hotplug\n"); > } > > memory_region_init_io(&s->io, NULL, &acpi_pcihp_io_ops, s, diff --git > a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 9fac589..a1211dd 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -736,6 +736,7 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque) > unsigned *bsel_alloc = opaque; > unsigned *bus_bsel; > > + fprintf(stderr, "acpi_set_bsel bus: %s, hotpluggable: %d\n", > + bus->qbus.name, bus->qbus.allow_hotplug); > if (bus->qbus.allow_hotplug) { > bus_bsel = g_malloc(sizeof *bus_bsel); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |