[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PCI Device Subtree Change from Traditional to Upstream
On 01/03/2018 11:57 AM, Anthony PERARD wrote: > On Wed, Dec 20, 2017 at 11:40:03AM -0600, Kevin Stange wrote: >> Hi, >> >> I've been working on transitioning a number of Windows guests under HVM >> from using QEMU traditional to QEMU upstream as is recommended in the >> documentation. When I move these guests, the PCI subtree for Xen >> devices changes and Windows creates a totally new copy of each device. >> Windows tracks down the storage without issue, but it treats the new >> instance of the NIC driver as a new device and clears the network >> configuration even though the MAC address is unchanged. Manually >> booting the guest back on the traditional device model reactivates the >> original PCI subtree and the old network configuration with it. >> >> The only thing that I have been able to find that's substantially >> different comparing the device trees is that the device instance ID >> values differ on the parent Xen PCI device: >> >> PCI\VEN_5853&DEV_0001&SUBSYS_00015853&REV_01\3&267A616A&3&18 >> >> PCI\VEN_5853&DEV_0001&SUBSYS_00015853&REV_01\3&267A616A&3&10 >> >> Besides actually setting the guest to boot using QEMU traditional, is >> there a way to convince Windows to treat these devices as the same? A >> patch-based solution would be acceptable to me if there is one, but I >> don't understand the code well enough to create my own solution. > > Hi Kevin, > > I've got a patch to QEMU that seems to do the trick: > > From: Anthony PERARD <anthony.perard@xxxxxxxxxx> > Subject: [PATCH] xen-platform: Hardcode PCI slot to 3 > > Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> > --- > hw/i386/pc_piix.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 5e47528993..93e3a9a916 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -405,7 +405,7 @@ static void pc_xen_hvm_init(MachineState *machine) > > bus = pci_find_primary_bus(); > if (bus != NULL) { > - pci_create_simple(bus, -1, "xen-platform"); > + pci_create_simple(bus, PCI_DEVFN(3, 0), "xen-platform"); > } > } > #endif > > > The same thing could be done by libxl, by providing specific command > line options to qemu. (I think that could even be done via a different > config file for the guest.) This patch doesn't seem to work for me. It seems like the device model process is exiting immediately, but I haven't been able to find any information as to what is going wrong. I tested with Xen 4.6.6 and the QEMU packaged with that release. Should I try it on a different version of Xen and QEMU? -- Kevin Stange Chief Technology Officer Steadfast | Managed Infrastructure, Datacenter and Cloud Services 800 S Wells, Suite 190 | Chicago, IL 60607 312.602.2689 X203 | Fax: 312.602.2688 kevin@xxxxxxxxxxxxx | www.steadfast.net _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |