[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Problem: Xen 3.4 fails to boot on Dell e6400, with iommu=1


  • To: Tom Rotenberg <tom.rotenberg@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
  • Date: Mon, 29 Jun 2009 14:34:49 +0800
  • Accept-language: zh-CN, en-US
  • Acceptlanguage: zh-CN, en-US
  • Cc:
  • Delivery-date: Sun, 28 Jun 2009 23:36:33 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acn4AJv4p1Zul3eBSx+qCx2PWrBOLQAcmZHQAAQGveA=
  • Thread-topic: [Xen-devel] Problem: Xen 3.4 fails to boot on Dell e6400, with iommu=1

diff -r 90391e2247fc xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c   Tue Jun 23 11:40:27 2009 +0100
+++ b/xen/drivers/passthrough/vtd/iommu.c   Mon Jun 29 10:24:31 2009 +0800
@@ -1693,7 +1693,7 @@ static int init_vtd_hw(void)
         }
         dma_msi_data_init(iommu, iommu->vector);
         dma_msi_addr_init(iommu, cpu_physical_id(first_cpu(cpu_online_map)));
-        clear_fault_bits(iommu);
+        //clear_fault_bits(iommu);
         dmar_writel(iommu->reg, DMAR_FECTL_REG, 0);

         /* initialize flush functions */

And, can you comment the invocation of clear_fault_bits() in init_vtd_hw() like 
above and see if the host can boot fine?

Thanks,
-- Dexuan



-----Original Message-----
From: Cui, Dexuan 
Sent: 2009?6?29? 14:30
To: 'Tom Rotenberg'; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Problem: Xen 3.4 fails to boot on Dell e6400, with 
iommu=1

diff -r 90391e2247fc xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c   Tue Jun 23 11:40:27 2009 +0100
+++ b/xen/drivers/passthrough/vtd/iommu.c   Mon Jun 29 10:18:23 2009 +0800
@@ -1653,6 +1653,8 @@ void clear_fault_bits(struct iommu *iomm
 {
     u64 val;
 
+    printk("clear_fault_bits: CAP_REG=0x%llx\n",
+        (unsigned long long)dmar_readq(iommu->reg,DMAR_CAP_REG));
     val = dmar_readq(
         iommu->reg,
         cap_fault_reg_offset(dmar_readq(iommu->reg,DMAR_CAP_REG))+0x8);

Hi Tom,
Can you please apply the above patch and send us the entire log?  
(I don't have the same host, so I can't try it myself.)

Thanks,
-- Dexuan 

________________________________

From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Tom Rotenberg
Sent: 2009?6?28? 22:56
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Problem: Xen 3.4 fails to boot on Dell e6400, with iommu=1


Hi,

I am trying to use xen 3.4 on a Dell E6400 machine. But, when i try to boot xen 
with a 'iommu=1' parameter in the boot line, Xen fails to boot. I have also 
tried to boot with and without the 'iommu_inclusive_mapping' boot option, but 
it didn't seem to help at all.

Does anyone knows how to solve this issue?

These are the last messages in the UART:

(XEN) Brought up 2 CPUs
(XEN) microcode.c:73:d32767 microcode: CPU1 resumed
(XEN) [VT-D]iommu.c:1761: DMAR: Forcing write-buffer flush
(XEN) Intel VT-d Snoop Control supported.
(XEN) Intel VT-d DMA Passthrough not supported.
(XEN) Intel VT-d Queued Invalidation supported.
(XEN) Intel VT-d Interrupt Remapping supported.
(XEN) ----[ Xen-3.4.0  x86_64  debug=n  Not tainted ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff828c8012c951>] clear_fault_bits+0x21/0xa0
(XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor
(XEN) rax: ffff828bfff5aff8   rbx: ffff830078f82f90   rcx: 0000000000000020
(XEN) rdx: 00000000ffffffff   rsi: ffff828bfff57000   rdi: ffff830078f82f90
(XEN) rbp: 0000000000000090   rsp: ffff828c8026fda0   r8:  ffff83007be2c110
(XEN) r9:  000000000000001a   r10: 0000000000000005   r11: 0000000000000005
(XEN) r12: 0000000000000090   r13: 0000000000000090   r14: ffff830078f82fcc
(XEN) r15: 0000000000004800   cr0: 000000008005003b   cr4: 00000000000026f0
(XEN) cr3: 000000007be74000   cr2: ffff828bfff5aff8
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
(XEN) Xen stack trace from rsp=ffff828c8026fda0:
(XEN)    ffff828c8012d32d ffff830078f824b0 ffff828c801e422f ffff828c80204490
(XEN)    ffff828c801e422f ffff828c802044c0 ffff828c8026fdf8 0000000000000000
(XEN)    ffff828c8012de7e ffff830078f82d40 ffff828c80228100 000000000000001f
(XEN)    00000000ffffffed ffff828c80227a78 0000000000000001 ffff828c80205f60
(XEN)    ffff828c801f3400 ffff83000008bf40 ffff828c8012a9d4 ffff828c80227978
(XEN)    ffff828c8021a589 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    00000000002b23c0 ffffff8c80274000 0008bf4000000000 000000000008bf40
(XEN)    0000000000000000 ffff83000008bfc0 0000000001ce08a0 0000000000000000
(XEN)    ffffffff00000000 0000000800000000 000000010000006e 0000000000000003
(XEN)    00000000000002f8 0000000000000000 0000000000000000 0000000000067e2c
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    ffff828c801000b5 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 ffff830079f18000
(XEN) Xen call trace:
(XEN)    [<ffff828c8012c951>] clear_fault_bits+0x21/0xa0
(XEN)    [<ffff828c8012d32d>] init_vtd_hw+0x15d/0x3e0
(XEN)    [<ffff828c8012de7e>] intel_vtd_setup+0x5ae/0x610
(XEN)    [<ffff828c8012a9d4>] iommu_setup+0x24/0x110
(XEN)    [<ffff828c8021a589>] __start_xen+0x1859/0x27c0
(XEN)    [<ffff828c801000b5>] __high_start+0xa1/0xa3
(XEN)
(XEN) Pagetable walk from ffff828bfff5aff8:
(XEN)  L4[0x105] = 000000007be7a027 5555555555555555
(XEN)  L3[0x02f] = 000000007c04b063 5555555555555555
(XEN)  L2[0x1ff] = 000000007c04a063 5555555555555555
(XEN)  L1[0x15a] = 0000000000000000 ffffffffffffffff
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) FATAL PAGE FAULT
(XEN) [error_code=0000]
(XEN) Faulting linear address: ffff828bfff5aff8
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.