Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 160799 - Kernel panic: pci_map_single: high address but no IOMMU.
Summary: Kernel panic: pci_map_single: high address but no IOMMU.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel
Version: 3.0
Hardware: ia32e
OS: Linux
medium
low
Target Milestone: ---
Assignee: Ernie Petrides
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: 156320
TreeView+ depends on / blocked
 
Reported: 2005-06-17 12:23 UTC by Jeff Burke
Modified: 2007-11-30 22:07 UTC (History)
2 users (show)

Fixed In Version: RHSA-2005-663
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-09-28 15:23:50 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2005:663 qe-ready SHIPPED_LIVE Important: Updated kernel packages available for Red Hat Enterprise Linux 3 Update 6 2005-09-28 04:00:00 UTC

Description Jeff Burke 2005-06-17 12:23:15 UTC
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@crowe.devel.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.

Comment 1 Ernie Petrides 2005-06-24 01:28:01 UTC
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


Comment 2 Ernie Petrides 2005-06-24 17:32:52 UTC
Patch posted for review on 24-Jun-2005.  Test RPMs on porkchop have been removed.


Comment 4 Ernie Petrides 2005-07-12 01:03:38 UTC
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).


Comment 7 Red Hat Bugzilla 2005-09-28 15:23:50 UTC
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



Note You need to log in before you can comment on or make changes to this bug.