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.
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