WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[PATCH] RE: [Xen-devel] ioemu build failure with GCC > 4.3

[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@xxxxxxxxxxxxxxxxxxx; Daniel P. Berrange; He, Qing
> Subject: Re: [Xen-devel] ioemu build failure with GCC > 4.3

> On 15/7/08 14:55, "Ross Philipson" <Ross.Philipson@xxxxxxxxxx> 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 <espen.skoglund@xxxxxxxxxxxxx>

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;
 }

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