Tom Rotenberg
2009-May-24 11:09 UTC
[Xen-devel] Booting Xen 3.4 with iommu=1 causes boot to hang
Hi, I just cloned and built Xen 3.4 and built it. When i try to boot it, the boot hangs. After small check, it turns out that the option ''iommu=1'' causes the boot to hang. Without this option - dom0 boots fine, but *with* this option, it hangs, and the serial output looks like this: (XEN) Video information: (XEN) VGA is text mode 80x25, font 8x16 (XEN) VBE/DDC methods: V2; EDID transfer time: 1 seconds (XEN) Disc information: (XEN) Found 1 MBR signatures (XEN) Found 1 EDD information structures (XEN) Xen-e820 RAM map: (XEN) 0000000000000000 - 000000000009ec00 (usable) (XEN) 000000000009ec00 - 00000000000a0000 (reserved) (XEN) 00000000000dc000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 000000007c4a1000 (usable) (XEN) 000000007c4a1000 - 000000007c4a7000 (reserved) (XEN) 000000007c4a7000 - 000000007c5b7000 (usable) (XEN) 000000007c5b7000 - 000000007c60f000 (reserved) (XEN) 000000007c60f000 - 000000007c6c6000 (usable) (XEN) 000000007c6c6000 - 000000007c6d1000 (ACPI NVS) (XEN) 000000007c6d1000 - 000000007c6d4000 (ACPI data) (XEN) 000000007c6d4000 - 000000007c6d8000 (reserved) (XEN) 000000007c6d8000 - 000000007c6dc000 (ACPI NVS) (XEN) 000000007c6dc000 - 000000007c6df000 (reserved) (XEN) 000000007c6df000 - 000000007c706000 (ACPI NVS) (XEN) 000000007c706000 - 000000007c708000 (ACPI data) (XEN) 000000007c708000 - 000000007c90f000 (reserved) (XEN) 000000007c90f000 - 000000007c99f000 (ACPI NVS) (XEN) 000000007c99f000 - 000000007c9ff000 (ACPI data) (XEN) 000000007c9ff000 - 000000007ca00000 (usable) (XEN) 000000007cc00000 - 000000007f000000 (reserved) (XEN) 00000000e0000000 - 00000000f0000000 (reserved) (XEN) 00000000fec00000 - 00000000fec10000 (reserved) (XEN) 00000000fed00000 - 00000000fed00400 (reserved) (XEN) 00000000fed10000 - 00000000fed14000 (reserved) (XEN) 00000000fed18000 - 00000000fed1a000 (reserved) (XEN) 00000000fed1c000 - 00000000fed90000 (reserved) (XEN) 00000000fee00000 - 00000000fee01000 (reserved) (XEN) 00000000ff800000 - 0000000100000000 (reserved) (XEN) System RAM: 1990MB (2037788kB) (XEN) ACPI: RSDP 000F6530, 0024 (r2 LENOVO) (XEN) ACPI: XSDT 7C96A5B6, 009C (r1 LENOVO TP-7U 2030 LTP 0) (XEN) ACPI: FACP 7C96A700, 00F4 (r3 LENOVO TP-7U 2030 LNVO 1) (XEN) ACPI: DSDT 7C96AADB, F0B8 (r1 LENOVO TP-7U 2030 MSFT 3000000) (XEN) ACPI: FACS 7C98E000, 0040 (XEN) ACPI: SSDT 7C96A8B4, 0227 (r1 LENOVO TP-7U 2030 MSFT 3000000) (XEN) ACPI: ECDT 7C979B93, 0052 (r1 LENOVO TP-7U 2030 LNVO 1) (XEN) ACPI: APIC 7C979BE5, 0078 (r1 LENOVO TP-7U 2030 LNVO 1) (XEN) ACPI: MCFG 7C979C5D, 003C (r1 LENOVO TP-7U 2030 LNVO 1) (XEN) ACPI: HPET 7C979C99, 0038 (r1 LENOVO TP-7U 2030 LNVO 1) (XEN) ACPI: SLIC 7C979DC2, 0176 (r1 LENOVO TP-7U 2030 LTP 0) (XEN) ACPI: BOOT 7C979F38, 0028 (r1 LENOVO TP-7U 2030 LTP 1) (XEN) ACPI: ASF! 7C979F60, 00A0 (r16 LENOVO TP-7U 2030 PTL 1) (XEN) ACPI: SSDT 7C98D213, 054F (r1 LENOVO TP-7U 2030 INTL 20050513) (XEN) ACPI: TCPA 7C707000, 0032 (r0 0 0) (XEN) ACPI: DMAR 7C706000, 0120 (r1 1 0) (XEN) ACPI: SSDT 7C6D3000, 0655 (r1 PmRef CpuPm 3000 INTL 20050624) (XEN) ACPI: SSDT 7C6D2000, 0274 (r1 PmRef Cpu0Tst 3000 INTL 20050624) (XEN) ACPI: SSDT 7C6D1000, 0242 (r1 PmRef ApTst 3000 INTL 20050624) (XEN) NUMA turned off (XEN) Faking a node at 0000000000000000-000000007ca00000 (XEN) Domain heap initialised (XEN) found SMP MP-table at 000f6570 (XEN) DMI present. (XEN) Using APIC driver default (XEN) ACPI: PM-Timer IO Port: 0x1008 (XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[1004,0], pm1x_evt[1000,0] (XEN) ACPI: wakeup_vec[7c98e00c], vec_size[20] (XEN) ACPI: Local APIC address 0xfee00000 (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) (XEN) Processor #0 7:7 APIC version 20 (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) (XEN) Processor #1 7:7 APIC version 20 (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled) (XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled) (XEN) ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) (XEN) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) (XEN) ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0]) (XEN) IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23 (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) (XEN) ACPI: IRQ0 used by override. (XEN) ACPI: IRQ2 used by override. (XEN) ACPI: IRQ9 used by override. (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs (XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000 (XEN) [VT-D]dmar.c:485: Host address width 36 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = feb03000 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1b.0 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = feb01000 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:2.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:2.1 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = feb00000 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.3 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = feb02000 (XEN) [VT-D]dmar.c:358: found INCLUDE_ALL (XEN) [VT-D]dmar.c:498: found ACPI_DMAR_RMRR (XEN) [VT-D]dmar.c:401: RMRR address range not in reserved memory base fc226c00 end = fc2273ff; iommu_inclusive_mapping=1 parameter may be needed. (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.1 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.7 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.1 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.7 (XEN) [VT-D]dmar.c:498: found ACPI_DMAR_RMRR (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:2.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:2.1 (XEN) Intel VT-d DMAR tables have been parsed. (XEN) Using ACPI (MADT) for SMP configuration information (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Initializing CPU#0 (XEN) Detected 2394.058 MHz processor. (XEN) CPU: L1 I cache: 32K, L1 D cache: 32K (XEN) CPU: L2 cache: 3072K (XEN) CPU: Physical Processor ID: 0 (XEN) CPU: Processor Core ID: 0 (XEN) VMX: Supported advanced features: (XEN) - APIC MMIO access virtualisation (XEN) - APIC TPR shadow (XEN) - Virtual NMI (XEN) - MSR direct-access bitmap (XEN) HVM: VMX enabled (XEN) Intel machine check reporting enabled on CPU#0. (XEN) mce_init: init bank1 (XEN) mce_init: init bank2 (XEN) mce_init: init bank3 (XEN) mce_init: init bank4 (XEN) mce_init: init bank5 (XEN) CPU0: Thermal monitoring enabled (TM2) (XEN) CMCI: CPU0 has no CMCI support (XEN) CPU0: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz stepping 06 (XEN) Booting processor 1/1 eip 8c000 (XEN) Initializing CPU#1 (XEN) CPU: L1 I cache: 32K, L1 D cache: 32K (XEN) CPU: L2 cache: 3072K (XEN) CPU: Physical Processor ID: 0 (XEN) CPU: Processor Core ID: 1 (XEN) Intel machine check reporting enabled on CPU#1. (XEN) mce_init: init bank1 (XEN) mce_init: init bank2 (XEN) mce_init: init bank4 (XEN) mce_init: init bank5 (XEN) CPU1: Thermal monitoring enabled (TM2) (XEN) CMCI: CPU1 has no CMCI support (XEN) CPU1: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz stepping 06 (XEN) Total of 2 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1 (XEN) checking TSC synchronization across 2 CPUs: passed. (XEN) Platform timer is 14.318MHz HPET (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 not supported. (XEN) Intel VT-d DMA Passthrough not supported. (XEN) Intel VT-d Queued Invalidation not supported. (XEN) Intel VT-d Interrupt Remapping not supported. (XEN) I/O virtualisation enabled (XEN) I/O virtualisation for PV guests disabled (XEN) HPET: 4 timers in total, 0 timers will be used for broadcast (XEN) ACPI sleep modes: S3 (XEN) mcheck_poll: Machine check polling timer started. (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:0.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:2.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:2.1 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:3.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:19.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1a.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1a.1 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1a.2 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1a.7 (XEN) [VT-D]iommu.c:1245:d32767 domain_context_mapping:PCIe: bdf = 0:1b.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1d.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1d.1 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1d.2 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1d.7 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1f.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1f.2 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf = 0:1f.3 (XEN) [VT-D]iommu.c:1245:d32767 domain_context_mapping:PCIe: bdf = 3:0.0 (XEN) [VT-D]iommu.c:1252:d32767 domain_context_mapping:PCI: bdf It looks like some kind of a problem in Xen IOMMU code, no? Anyone has any clue regarding this? Thanks, Tom _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-May-24 11:43 UTC
Re: [Xen-devel] Booting Xen 3.4 with iommu=1 causes boot to hang
On 24/05/2009 12:09, "Tom Rotenberg" <tom.rotenberg@gmail.com> wrote:> It looks like some kind of a problem in Xen IOMMU code, no? Anyone has any > clue regarding this?There are plenty of broken BIOSes out there that don''t correctly support VT-d. Try adding iommu_inclusive_mapping as an extra Xen boot parameter -- this workaround is often successful. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
wei zhou
2009-May-24 11:58 UTC
Re: [Xen-devel] Booting Xen 3.4 with iommu=1 causes boot to hang
Hi Keir : "iommu_inclusive_mapping" ? I will try . Did the xen-3.4.0 version have much more features to surpport graphic pass through? I am working on the PCIE graphic pass through test. Could this work done without modifing the source code? Just throuhing some configuriation works . 2009/5/24 Keir Fraser <keir.fraser@eu.citrix.com>> On 24/05/2009 12:09, "Tom Rotenberg" <tom.rotenberg@gmail.com> wrote: > > > It looks like some kind of a problem in Xen IOMMU code, no? Anyone has > any > > clue regarding this? > > There are plenty of broken BIOSes out there that don''t correctly support > VT-d. Try adding iommu_inclusive_mapping as an extra Xen boot parameter -- > this workaround is often successful. > > -- Keir > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >-- Best regards ! Wei Zhou E-mail: weizhou.sir@gmail.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tom Rotenberg
2009-May-24 12:31 UTC
Re: [Xen-devel] Booting Xen 3.4 with iommu=1 causes boot to hang
Keir, Just tried it, and it works like a charm. Thanks!! (P.S. If it''s relevant for anyone - i tested it on Lenovo T400). Tom 2009/5/24 Keir Fraser <keir.fraser@eu.citrix.com>> On 24/05/2009 12:09, "Tom Rotenberg" <tom.rotenberg@gmail.com> wrote: > > > It looks like some kind of a problem in Xen IOMMU code, no? Anyone has > any > > clue regarding this? > > There are plenty of broken BIOSes out there that don''t correctly support > VT-d. Try adding iommu_inclusive_mapping as an extra Xen boot parameter -- > this workaround is often successful. > > -- Keir > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel