From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH] VT-d: improve RMRR validity checking Date: Tue, 9 Mar 2010 16:25:40 -0700 Message-ID: <7162ab21003091525w11e8fc2cmba9264accaa04906@mail.gmail.com> References: <4B590FA4.4000008@jp.fujitsu.com> <4B59132B.40607@intel.com> <4B59188C.50901@jp.fujitsu.com> <4B59660F.4000909@intel.com> <7162ab21003091339i4adb8669safd5e074607386a2@mail.gmail.com> <20100309213026.GA12602@phenom.dumpdata.com> <7162ab21003091357v32b3c58qae708301fdf2764a@mail.gmail.com> <20100309222229.GA700@phenom.dumpdata.com> <1268175900.14039.142.camel@8530w.home> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <1268175900.14039.142.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: Konrad Rzeszutek Wilk Cc: "xen-devel@lists.xensource.com" , Noboru Iwamatsu , "Kay, Allen M" , "Cihula, Joseph" , Weidong Han , "linux@eikelenboom.it" , "keir.fraser@eu.citrix.com" List-Id: xen-devel@lists.xenproject.org On Tue, Mar 9, 2010 at 4:05 PM, Alex Williamson wr= ote: > > In my case ir_ioapic_num will match nr_ioapics, so this shouldn't > disable on my system. > > The problem with the current Xen code is that there's no requirement > that an IOAPIC is a PCI device, yet we have to describe it as a device > scope under a DRHD to enable interrupt remapping. =C2=A0That means we hav= e to > fill in the scope path with something, even if there's no device visible > there. =C2=A0We happen to use the path of the IOAPIC if it were exposed s= o we > can keep straight what it is, but nothing requires it to be enumerable > on the PCI bus. I guess we probably do need to use the actual IOAPIC PCI source ID so we can enable source ID checking in the interrupt remapping table, but I still don't think that implies it needs to be visible on a bus walk. > =C2=A0IMHO, the only important field in an IOAPIC DRHD scope > is the enumeration ID, which allows the OS/VMM to map the IOAPIC to one > defined in the MADT. So actually, I might make the argument that the purpose of IOAPIC scope is: 1) Map an MADT defined APIC ID under a DRHD 2) Provide the source ID for the IOAPIC Using the source ID to verify the IOAPIC exists isn't valid, though I think it would be valid to verify the APIC ID against the MADT. Thanks, Alex