[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v3][PATCH 15/16] xen/vtd: enable USB device assignment
> From: Chen, Tiejun > Sent: Thursday, June 11, 2015 9:15 AM > > Before we refine RMRR mechanism, USB RMRR may conflict with guest bios > region so we always ignore USB RMRR. If USB RMRR conflicts with guest bios, the conflict is always there before and after your refinement. :-) > Now this can be gone when we enable > pci_force to check/reserve RMRR. > > Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx> except one small comment below > --- > xen/drivers/passthrough/vtd/dmar.h | 1 - > xen/drivers/passthrough/vtd/iommu.c | 11 ++--------- > xen/drivers/passthrough/vtd/utils.c | 7 ------- > 3 files changed, 2 insertions(+), 17 deletions(-) > > diff --git a/xen/drivers/passthrough/vtd/dmar.h > b/xen/drivers/passthrough/vtd/dmar.h > index af1feef..af205f5 100644 > --- a/xen/drivers/passthrough/vtd/dmar.h > +++ b/xen/drivers/passthrough/vtd/dmar.h > @@ -129,7 +129,6 @@ do { \ > > int vtd_hw_check(void); > void disable_pmr(struct iommu *iommu); > -int is_usb_device(u16 seg, u8 bus, u8 devfn); > int is_igd_drhd(struct acpi_drhd_unit *drhd); > > #endif /* _DMAR_H_ */ > diff --git a/xen/drivers/passthrough/vtd/iommu.c > b/xen/drivers/passthrough/vtd/iommu.c > index d7c9e1c..d3233b8 100644 > --- a/xen/drivers/passthrough/vtd/iommu.c > +++ b/xen/drivers/passthrough/vtd/iommu.c > @@ -2229,11 +2229,9 @@ static int reassign_device_ownership( > /* > * If the device belongs to the hardware domain, and it has RMRR, don't > * remove it from the hardware domain, because BIOS may use RMRR at > - * booting time. Also account for the special casing of USB below (in > - * intel_iommu_assign_device()). > + * booting time. this code is run-time right? > */ > - if ( !is_hardware_domain(source) && > - !is_usb_device(pdev->seg, pdev->bus, pdev->devfn) ) > + if ( !is_hardware_domain(source) ) > { > const struct acpi_rmrr_unit *rmrr; > u16 bdf; > @@ -2283,13 +2281,8 @@ static int intel_iommu_assign_device( > if ( ret ) > return ret; > > - /* FIXME: Because USB RMRR conflicts with guest bios region, > - * ignore USB RMRR temporarily. > - */ > seg = pdev->seg; > bus = pdev->bus; > - if ( is_usb_device(seg, bus, pdev->devfn) ) > - return 0; > > /* Setup rmrr identity mapping */ > for_each_rmrr_device( rmrr, bdf, i ) > diff --git a/xen/drivers/passthrough/vtd/utils.c > b/xen/drivers/passthrough/vtd/utils.c > index bd14c02..b8a077f 100644 > --- a/xen/drivers/passthrough/vtd/utils.c > +++ b/xen/drivers/passthrough/vtd/utils.c > @@ -29,13 +29,6 @@ > #include "extern.h" > #include <asm/io_apic.h> > > -int is_usb_device(u16 seg, u8 bus, u8 devfn) > -{ > - u16 class = pci_conf_read16(seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn), > - PCI_CLASS_DEVICE); > - return (class == 0xc03); > -} > - > /* Disable vt-d protected memory registers. */ > void disable_pmr(struct iommu *iommu) > { > -- > 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |