Bug 160799
| Summary: | Kernel panic: pci_map_single: high address but no IOMMU. | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 3 | Reporter: | Jeff Burke <jburke> |
| Component: | kernel | Assignee: | Ernie Petrides <petrides> |
| Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> |
| Severity: | low | Docs Contact: | |
| Priority: | medium | ||
| Version: | 3.0 | CC: | lwoodman, petrides |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | ia32e | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | RHSA-2005-663 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2005-09-28 15:23:50 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 156320 | ||
Test build with tentative patch in progress. RPMs should be available on porkchop later tonight under here: /mnt/redhat/beehive/comps/dist/3.0E-scratch/kernel/2.4.21-32.9.EL.ernie.1 Patch posted for review on 24-Jun-2005. Test RPMs on porkchop have been removed. A fix for this problem has just been committed to the RHEL3 U6 patch pool this evening (in kernel version 2.4.21-32.10.EL). An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2005-663.html |
Description of problem: In RHEL3 while both Intel EM64T and AMD are x86_64. They require different kernels. If infact you install the wrong kernel, the message is ambiguos to the problem. The kernel when booting can detect the incorrect situation and panic with a meaningful message. Rather then the message that get printed now "Kernel panic: pci_map_single: high address but no IOMMU." We could print a useful message "Hey dummy you installed the wrong kernel" or something more politically correct. Version-Release number of selected component (if applicable): N/A How reproducible: Every Time Steps to Reproduce: 1.On an EM64T system install the x86_64 kernel instead of the ia32e Actual results: Bootdata ok (command line is ro root=LABEL=/RHEL3 hda=ide-scsi console=ttyS0,960 0 console=tty0) Linux version 2.4.21-32.8.ELsmp (bhcompile.redhat.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)) #1 SMP Tue Jun 14 20:56:40 EDT 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 00000000000a0000 (usable) BIOS-e820: 0000000000100000 - 00000000bffc0000 (usable) BIOS-e820: 00000000bffc0000 - 00000000bffcfc00 (ACPI data) BIOS-e820: 00000000bffcfc00 - 00000000bffff000 (reserved) BIOS-e820: 00000000e0000000 - 00000000fec90000 (reserved) BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved) BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000000140000000 (usable) kernel direct mapping tables upto 10140000000 @ 8000-e000 No NUMA configuration found Faking a node at 0000000000000000-0000000140000000 Bootmem setup node 0 0000000000000000-0000000140000000 found SMP MP-table at 000fe710 hm, page 000fe000 reserved twice. hm, page 000ff000 reserved twice. hm, page 000f0000 reserved twice. setting up node 0 0-140000 On node 0 totalpages: 1310720 zone(0): 4096 pages. zone(1): 1306624 pages. zone(2): 0 pages. ACPI: RSDP (v000 DELL ) @ 0x00000000000fd6c0 ACPI: RSDT (v001 DELL PE BKC 00000.00001) @ 0x00000000000fd6d4 ACPI: FADT (v001 DELL PE BKC 00000.00001) @ 0x00000000000fd708 ACPI: MADT (v001 DELL PE BKC 00000.00001) @ 0x00000000000fd77c ACPI: SPCR (v001 DELL PE BKC 00000.00001) @ 0x00000000000fd824 ACPI: HPET (v001 DELL PE BKC 00000.00001) @ 0x00000000000fd874 ACPI: DSDT (v001 DELL PE BKC 00000.00001) @ 0x0000000000000000 ACPI: BIOS passes blacklist ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:4 APIC version 16 ACPI: LAPIC (acpi_id[0x02] lapic_id[0x06] enabled) Processor #6 15:4 APIC version 16 ACPI: LAPIC (acpi_id[0x03] lapic_id[0x01] enabled) Processor #1 15:4 APIC version 16 ACPI: LAPIC (acpi_id[0x04] lapic_id[0x07] enabled) Processor #7 15:4 APIC version 16 ACPI: LAPIC_NMI (acpi_id[0x01] polarity[0x1] trigger[0x1] lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] polarity[0x1] trigger[0x1] lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x03] polarity[0x1] trigger[0x1] lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x04] polarity[0x1] trigger[0x1] lint[0x1]) ACPI: IOAPIC (id[0x08] address[0xfec00000] global_irq_base[0x0]) IOAPIC[0]: Assigned apic_id 8 IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, IRQ 0-23 ACPI: IOAPIC (id[0x09] address[0xfec80000] global_irq_base[0x20]) IOAPIC[1]: Assigned apic_id 9 IOAPIC[1]: apic_id 9, version 32, address 0xfec80000, IRQ 32-55 ACPI: IOAPIC (id[0x0a] address[0xfec83000] global_irq_base[0x40]) IOAPIC[2]: Assigned apic_id 10 IOAPIC[2]: apic_id 10, version 32, address 0xfec83000, IRQ 64-87 ACPI: INT_SRC_OVR (bus[0] irq[0x0] global_irq[0x2] polarity[0x0] trigger[0x0]) ACPI: INT_SRC_OVR (bus[0] irq[0x9] global_irq[0x9] polarity[0x1] trigger[0x3]) acpi: HPET id: 0xffffffff base: 0xfed00000 Using ACPI (MADT) for SMP configuration information Setting APIC routing to flat Checking aperture... Kernel command line: ro root=LABEL=/RHEL3 hda=ide-scsi console=ttyS0,9600 consol e=tty0 ide_setup: hda=ide-scsi Initializing CPU#0 time.c: Detected 14.318180 MHz HPET timer. time.c: Detected 3591.136 MHz TSC timer. Console: colour VGA+ 80x25 Calibrating delay loop... 7156.53 BogoMIPS Page-cache hash table entries: 2097152 (order: 12, 16384 KB) Page-pin hash table entries: 524288 (order: 9, 2048 KB) Dentry cache hash table entries: 1048576 (order: 12, 16384 KB) Inode cache hash table entries: 524288 (order: 11, 8192 KB) Buffer cache hash table entries: 524288 (order: 10, 4096 KB) Memory: 4004396k/5242880k available (1813k kernel code, 0k reserved, 1878k data, 228k init) Mount cache hash table entries: 256 (order: 0, 4096 bytes) CPU: Trace cache: 12K uops<6>CPU: L2 cache: 1024K CPU: Physical Processor ID: 0 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. POSIX conformance testing by UNIFIX mtrr: v2.02 (20020716)) CPU: Trace cache: 12K uops<6>CPU: L2 cache: 1024K CPU: Physical Processor ID: 0 CPU0: Intel(R) Xeon(TM) CPU 3.60GHz stepping 01 per-CPU timeslice cutoff: 5118.77 usecs. task migration cache decay timeout: 10 msecs. CPU present map: c3 Booting processor 1/6 rip 6000 page 0000010013c40000 Setting warm reset code and vector. 1. 2. 3. Asserting INIT. Waiting for send to finish... +Deasserting INIT. Waiting for send to finish... +#startup loops: 2. Sending STARTUP #1. After apic_write. target apic 6000000 after target chip after eip write Initializing CPU#1 CPU#1 (phys ID: 6) waiting for CALLOUT Startup point 1. Waiting for send to finish... +Sending STARTUP #2. After apic_write. target apic 6000000 after target chip after eip write Startup point 1. Waiting for send to finish... +After Startup. Before Callout 1. After Callout 1. CALLIN, before setup_local_APIC(). Calibrating delay loop... 7156.53 BogoMIPS Stack at about 0000010013c41fd4 CPU: Trace cache: 12K uops<6>CPU: L2 cache: 1024K CPU: Physical Processor ID: 3 Intel machine check reporting enabled on CPU#1. OK. CPU1: Intel(R) Xeon(TM) CPU 3.60GHz stepping 01 CPU has booted. Booting processor 2/1 rip 6000 page 000001000c0a6000 Setting warm reset code and vector. 1. 2. 3. Asserting INIT. Waiting for send to finish... +Deasserting INIT. Waiting for send to finish... +#startup loops: 2. Sending STARTUP #1. After apic_write. target apic 1000000 after target chip after eip write Initializing CPU#2 CPU#2 (phys ID: 1) waiting for CALLOUT Startup point 1. Waiting for send to finish... +Sending STARTUP #2. After apic_write. target apic 1000000 after target chip after eip write Startup point 1. Waiting for send to finish... +After Startup. Before Callout 2. After Callout 2. CALLIN, before setup_local_APIC(). Calibrating delay loop... 7156.53 BogoMIPS Stack at about 000001000c0a7fd4 CPU: Trace cache: 12K uops<6>CPU: L2 cache: 1024K CPU: Physical Processor ID: 0 Intel machine check reporting enabled on CPU#2. OK. CPU2: Intel(R) Xeon(TM) CPU 3.60GHz stepping 01 CPU has booted. Booting processor 3/7 rip 6000 page 0000010013e4a000 Setting warm reset code and vector. 1. 2. 3. Asserting INIT. Waiting for send to finish... +Deasserting INIT. Waiting for send to finish... +#startup loops: 2. Sending STARTUP #1. After apic_write. target apic 7000000 after target chip after eip write Initializing CPU#3 CPU#3 (phys ID: 7) waiting for CALLOUT Startup point 1. Waiting for send to finish... +Sending STARTUP #2. After apic_write. target apic 7000000 after target chip after eip write Startup point 1. Waiting for send to finish... +After Startup. Before Callout 3. After Callout 3. CALLIN, before setup_local_APIC(). Calibrating delay loop... 7156.53 BogoMIPS Stack at about 0000010013e4bfd4 CPU: Trace cache: 12K uops<6>CPU: L2 cache: 1024K CPU: Physical Processor ID: 3 Intel machine check reporting enabled on CPU#3. OK. CPU3: Intel(R) Xeon(TM) CPU 3.60GHz stepping 01 CPU has booted. Before bogomips. Total of 4 processors activated (28626.12 BogoMIPS). Before bogocount - setting activated=1. Boot done. cpu_sibling_map[0] = 2 cpu_sibling_map[1] = 3 cpu_sibling_map[2] = 0 cpu_sibling_map[3] = 1 ENABLING IO-APIC IRQs ..TIMER: vector=0x31 pin1=2 pin2=0 testing the IO APIC........................................................... done. Using local APIC timer interrupts. Detected 12.469 MHz APIC timer. cpu: 0, clocks: 1995067, slice: 399013 CPU0<T0:1995056,T1:1596032,D:11,S:399013,C:1995067> cpu: 2, clocks: 1995067, slice: 399013 cpu: 1, clocks: 1995067, slice: 399013 cpu: 3, clocks: 1995067, slice: 399013 CPU1<T0:1995056,T1:1197024,D:6,S:399013,C:1995067> CPU3<T0:1995056,T1:398992,D:12,S:399013,C:1995067> CPU2<T0:1995056,T1:798016,D:1,S:399013,C:1995067> checking TSC synchronization across CPUs: passed. time.c: Using HPET based timekeeping. Setting commenced=1, go go go Starting migration thread for cpu 0 Starting migration thread for cpu 1 Starting migration thread for cpu 2 Starting migration thread for cpu 3 ACPI: Subsystem revision 20030619 PCI: Using configuration type 1 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: System [ACPI] (supports S0 S4 S5) ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Ignoring BAR0-3 of IDE controller 00:1f.1 ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12) ACPI: PCI Interrupt Link [LNKB] (IRQs *3 4 5 6 7 10 11 12) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 *7 10 11 12) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 *11 12) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *10 11 12) ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12, disabled) ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 *5 6 7 10 11 12) ACPI: PCI Interrupt Link [LNKG] enabled at IRQ 5 PCI: No IRQ known for interrupt pin A of device 00:1f.1 PCI: Using ACPI for IRQ routing Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 4938M PCI-DMA: Disabling IOMMU. Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd VFS: Disk quotas vdquot_6.5.1 aio_setup: num_physpages = 327680 aio_setup: sizeof(struct page) = 104 Hugetlbfs mounted. Total HugeTLB memory allocated, 0 IA32 emulation $Id: sys_ia32.c,v 1.56 2003/04/10 10:45:37 ak Exp $ pty: 2048 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SER IAL_PCI SERIAL_ACPI enabled ttyS0 at 0x03f8 (irq = 4) is a 16550A register_serial(): autoconfig failed Real Time Clock Driver v1.10e NET4: Frame Diverter 0.46 RAMDISK driver initialized: 256 RAM disks of 8192K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx ICH5: IDE controller at PCI slot 00:1f.1 PCI: Device 00:1f.1 not available because of resource collisions PCI: No IRQ known for interrupt pin A of device 00:1f.1 ICH5: Not fully BIOS configured! ICH5: chipset revision 2 ICH5: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:pio, hdd:pio SiI680: IDE controller at PCI slot 09:06.0 SiI680: chipset revision 2 SiI680: BASE CLOCK == 100 SiI680: 100% native mode on irq 23 ide2: MMIO-DMA , BIOS settings: hde:pio, hdf:pio ide3: MMIO-DMA , BIOS settings: hdg:pio, hdh:pio hda: HL-DT-STCD-RW/DVD-ROM GCC-4243N, ATAPI CD/DVD-ROM drive hde: VIRTUALFLOPPY DRIVE Floppy, ATAPI FLOPPY drive hdf: VIRTUALCDROM DRIVE, ATAPI CD/DVD-ROM drive hde: set_drive_speed_status: status=0x40 { DriveReady } hdf: set_drive_speed_status: status=0x40 { DriveReady } ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide2 at 0xffffff0000014c80-0xffffff0000014c87,0xffffff0000014c8a on irq 23 ide-floppy driver 0.99.newide hde: attached ide-floppy driver. ide-floppy: Can't get floppy parameters ide-floppy driver 0.99.newide md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP: routing cache hash table of 32768 buckets, 512Kbytes TCP: Hash tables configured (established 262144 bind 65536) Linux IP multicast router 0.06 plus PIM-SM Initializing IPsec netlink socket NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). SCSI subsystem driver Revision: 1.00 megaraid: v2.10.8.2-RH1 (Release Date: Mon Jul 26 12:15:51 EDT 2004) megaraid: found 0x1028:0x0013:bus 2:slot 14:func 0 scsi0:Found MegaRAID controller at 0xffffff000001e000, IRQ:46 Kernel panic: pci_map_single: high address but no IOMMU. Expected results: We should detect that it is a intel chipset and the config has IA32E disabled. Additional info: I spoke with Ernie. He agreed we could handle this better. He requested this ticket be put in.