[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] VT-d: improve RMRR validity checking



Alex Williamson wrote:
On Wed, 2010-03-10 at 06:56 -0700, Alex Williamson wrote:
On Wed, 2010-03-10 at 15:03 +0800, Weidong Han wrote:
Can you post your Xen boot logs?

I'm not sure what you're looking for in a boot log, I think I've pretty
well described the problem.  Here's the relevant output:

(XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 0, version 32, address 0xfec08000, GSI 24-47
(XEN) IOAPIC[2]: apic_id 10, version 32, address 0xfec10000, GSI 48-71
(XEN) Enabling APIC mode:  Phys.  Using 3 I/O APICs
(XEN) [VT-D]dmar.c:421:   Non-existent device (84:13.0) is reported in this 
DRHD's scope!
(XEN) [VT-D]dmar.c:443:   The DRHD is invalid due to there are devices under 
its scope are not PCI discoverable! Pls try option iommu=force or 
iommu=workaround_bios_bug if you really want VT-d
(XEN) Failed to parse ACPI DMAR.  Disabling VT-d.

apic_id 10 is the one described under the non-INCLUDE_PCI_ALL DRHD,
which is not materialized on the PCI bus.  The DMAR effectively breaks
down to:

DMAR
 - INTR_REMAP set

DRHD0
 - INCLUDE_PCI_ALL set
 - scope includes IOAPIC 8 & 0

DRHD1
 - INCLUDE_PCI_ALL *NOT* set
 - scope includes various PCI sub-hierarchies *AND* IOAPIC 10

DRHD0 and DRHD1 are on the same PCI segment (0x0) and are peers of one
another, so it's not possible to set INCLUDE_PCI_ALL on both DRHDs, and
it's incorrect to list IOAPIC 10 under DRHD0.

Thanks,

Alex

Alex, you are right. IOAPICs can be included in any DRHDs. Pls try following patch, if no problem, I will submit it.

diff -r cadf1bae9ee2 xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c    Thu Feb 25 18:26:45 2010 +0800
+++ b/xen/drivers/passthrough/vtd/dmar.c    Thu Mar 11 17:49:40 2010 +0800
@@ -437,11 +437,9 @@ acpi_parse_one_drhd(struct acpi_dmar_ent
            else
            {
                dprintk(XENLOG_WARNING VTDPREFIX,
-                    "  The DRHD is invalid due to there are devices under "
-                    "its scope are not PCI discoverable! Pls try option "
-                    "iommu=force or iommu=workaround_bios_bug if you "
-                    "really want VT-d\n");
-                ret = -EINVAL;
+                    "  There are devices under device scope are not PCI "
+                    "discoverable! if xen fails at VT-d enabling, pls try "
+                    "option iommu=workaround_bios_bug.\n");
            }
        }
        else


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.