From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Wang Subject: Re: [PATCH] IOMMU: fail HPET MSI setup on AMD Date: Fri, 19 Oct 2012 15:27:45 +0200 Message-ID: <50815551.2010303@amd.com> References: <508136CD02000078000A2888@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <508136CD02000078000A2888@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On 10/19/2012 11:17 AM, Jan Beulich wrote: > While the MSI message format doesn't need adjustment for AMD IOMMUs, > the interrupt remapping tables still need updating. The respective code > has to be able to determine the IOMMU responsible, which currently > requires an associated PCI device. The absence of that device in the > HPET case causes the code to crash, and the code determining the source > ID to be used for HPETs (parse_ivhd_device_special() afaict) isn't even > looking at whether it's dealing with an IO-APIC or a HPET (i.e. ignores > the "variety" structure member). If I tried to fix that, I would have > no way to test that I did things right, so all I can do to fix the > crash is make the setup fail if the IOMMU did not provide a handler > (which, considering the above, is the right thing anyway). > > Signed-off-by: Jan Beulich > > --- a/xen/drivers/passthrough/iommu.c > +++ b/xen/drivers/passthrough/iommu.c > @@ -498,7 +498,7 @@ unsigned int iommu_read_apic_from_ire(un > int __init iommu_setup_hpet_msi(struct msi_desc *msi) > { > const struct iommu_ops *ops = iommu_get_ops(); > - return ops->setup_hpet_msi ? ops->setup_hpet_msi(msi) : 0; > + return ops->setup_hpet_msi ? ops->setup_hpet_msi(msi) : -ENODEV; > } > > void iommu_resume() > > > Acked, I will work on AMD part for HPET MSI remapping. Thanks, Wei