From mboxrd@z Thu Jan 1 00:00:00 1970 From: Weidong Han Subject: Re: [PATCH] VT-d: improve RMRR validity checking Date: Thu, 11 Mar 2010 10:11:28 +0800 Message-ID: <4B985150.1000001@intel.com> References: <4B59098B.6000108@intel.com> <4B590FA4.4000008@jp.fujitsu.com> <4B59132B.40607@intel.com> <4B59188C.50901@jp.fujitsu.com> <4B59660F.4000909@intel.com> <7162ab21003091339i4adb8669safd5e074607386a2@mail.gmail.com> <4B9706B3.3050903@intel.com> <1268191101.3015.30.camel@2710p.home> <4B9711CF.7030908@intel.com> <1268192253.3015.37.camel@2710p.home> <4B971F57.9000903@intel.com> <1268196438.3015.56.camel@2710p.home> <4B974438.3050806@intel.com> <1268229408.14039.151.camel@8530w.home> <1268244414.14039.206.camel@8530w.home> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1268244414.14039.206.camel@8530w.home> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Alex Williamson Cc: "xen-devel@lists.xensource.com" , Noboru Iwamatsu , "Cihula, Joseph" , "Kay, Allen M" , "linux@eikelenboom.it" , "keir.fraser@eu.citrix.com" List-Id: xen-devel@lists.xenproject.org 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