From mboxrd@z Thu Jan 1 00:00:00 1970 From: Espen Skoglund Subject: [PATCH] RE: ioemu build failure with GCC > 4.3 Date: Tue, 15 Jul 2008 19:33:10 +0100 Message-ID: <18556.60774.708391.180674@gargle.gargle.HOWL> References: <409D32C55C48D34DB5E31C8AB29EB15B05425B30@FTLPEXCH05.citrite.net> <409D32C55C48D34DB5E31C8AB29EB15B05425B61@FTLPEXCH05.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <409D32C55C48D34DB5E31C8AB29EB15B05425B61@FTLPEXCH05.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ross Philipson Cc: xen-devel@lists.xensource.com, "Daniel P. Berrange" , "He, Qing" , Ian Jackson , Stefan de Konink , Keir Fraser List-Id: xen-devel@lists.xenproject.org [Ross Philipson] > Roger that, when I disable VT-d in the BIOS, I can boot up fine. > Ross > -----Original Message----- > From: Keir Fraser > Sent: Tuesday, July 15, 2008 10:06 AM > To: Ross Philipson; Stefan de Konink; Ian Jackson > Cc: xen-devel@lists.xensource.com; Daniel P. Berrange; He, Qing > Subject: Re: [Xen-devel] ioemu build failure with GCC > 4.3 > On 15/7/08 14:55, "Ross Philipson" wrote: >> The answer to the question in this email is, no I cannot boot. Xen >> crashes early on with an assertion. The serial output from Xen is >> in the attached file also. >> >> I am unfortunately engaged in some other priority work and I was >> just trying to get the latest Xen going on another machine as an >> aside task. I have not spent a great deal of time looking into it. > The crash is during VT-d initialisation. Another argument for > disabling VT-d by default in Xen 3.3. Actually, one should never try to dump the VT-d tables from the DMA fault interrupt handler since, well, it's in an interrupt handler and this assertion will always be triggered (on x86_32). eSk --- vt-d: Disable VT-d table output on DMA page faults Printing VT-d tables requires map_domain_page() which can not be called from interrupt context (on x86_32). Signed-off-by: Espen Skoglund diff -r 1f88a5d4ab95 xen/drivers/passthrough/vtd/iommu.c --- a/xen/drivers/passthrough/vtd/iommu.c Tue Jul 15 18:27:59 2008 +0100 +++ b/xen/drivers/passthrough/vtd/iommu.c Tue Jul 15 19:22:23 2008 +0100 @@ -719,9 +719,11 @@ static int iommu_page_fault_do_one(struc PCI_SLOT(source_id & 0xFF), PCI_FUNC(source_id & 0xFF), addr, fault_reason, iommu->reg); +#if 0 if ( fault_reason < 0x20 ) print_vtd_entries(iommu, (source_id >> 8), (source_id & 0xff), (addr >> PAGE_SHIFT)); +#endif return 0; }