Stefano Stabellini
2009-Oct-12 17:20 UTC
[Xen-devel] [PATCH 5 of 7] xend: allow a device to be assigned to a guest and its stubdom
This patch allows a pci device to be passed through an HVM guest and its own stubdom at the same time. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> --- diff -r 3fe128b5f387 tools/python/xen/xend/XendConfig.py --- a/tools/python/xen/xend/XendConfig.py Thu Oct 08 12:14:19 2009 +0100 +++ b/tools/python/xen/xend/XendConfig.py Fri Oct 09 19:30:38 2009 +0100 @@ -2061,6 +2061,9 @@ def is_hvm(self): return self[''HVM_boot_policy''] != '''' + def is_stubdom(self): + return (self[''PV_kernel''].find(''ioemu'') >= 0) + def target(self): return self[''target''] diff -r 3fe128b5f387 tools/python/xen/xend/server/pciif.py --- a/tools/python/xen/xend/server/pciif.py Thu Oct 08 12:14:19 2009 +0100 +++ b/tools/python/xen/xend/server/pciif.py Fri Oct 09 19:30:38 2009 +0100 @@ -77,7 +77,8 @@ dom_list = xstransact.List(''/local/domain'') pci_str_list = [] for d in dom_list: - pci_str_list = pci_str_list + get_assigned_pci_devices(int(d)) + if xstransact.Read(''/local/domain/'' + d + ''/target'') is None : + pci_str_list = pci_str_list + get_assigned_pci_devices(int(d)) return pci_str_list class PciController(DevController): @@ -303,7 +304,7 @@ if dev.driver == ''pciback'': PCIQuirk(dev) - if not self.vm.info.is_hvm(): + if not self.vm.info.is_hvm() and not self.vm.info.is_stubdom() : # Setup IOMMU device assignment bdf = xc.assign_device(fe_domid, pci_dict_to_xc_str(pci_dev)) pci_str = pci_dict_to_bdf_str(pci_dev) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel