Bug 7928

Summary: No boot without noapic on AMD A64 3500+ and Abit KN9 Ultra
Product: Platform Specific/Hardware Reporter: João Miguel Neves (joao.neves)
Component: i386Assignee: platform_i386
Status: RESOLVED CODE_FIX    
Severity: blocking CC: andi-bz, lenb, mjevans1983, protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on: 8368    
Bug Blocks:    
Attachments: dmesg with noapic

Description João Miguel Neves 2007-02-03 10:52:17 UTC
Most recent kernel where this bug did *NOT* occur: None
Distribution: Ubuntu
Hardware Environment: AMD Athlon 64 3500+ in a Abit KN9 Ultra with MCP55 chipset
- BIOS has been updated to last available version (1.6 at this time)
Software Environment: Grub and Kernel
Problem Description: Kernel Panic without 'noapic' option

apic=debug results in (sorry for any errors - this was copied by hand):
ENABLING IO-APIC IRQs
Synchronizing Arb IDs.
..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up (IRQ0) through the 8259A ...  failed.
...trying to set up timer as Virtual Wire IRQ... failed.
...trying to set up timer as ExtInt IRQ... failed :(.
Kernel panic - no syncing: IO-APIC + timer doesn't work! Boot with apic=debug
and send a report. Then try booting with 'noapic' option

I've tried several kernel other versions from distributions (mostly live cd's
the last was a live build of Ubuntu) all with the same results.

I don't know if it's related or not, but the machine is unstable when booted
with 'noapic'. Lost network connections happens several times a day. Sometimes
there are even kernel oops.

Steps to reproduce: Try to boot the machine without 'noapic' as a bootparam.
Comment 1 Anton Gorlov 2007-02-09 00:09:10 UTC
I have the same trouble.
Motherboard: Epox AF590SLI2

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0
	Capabilities: [44] HyperTransport: Slave or Primary Interface
	Capabilities: [e0] HyperTransport: MSI Mapping

00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0

00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
	Flags: bus master, 66MHz, fast devsel, latency 0
	Capabilities: [44] #00 [0000]

00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) (prog-if
00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000a000-0000afff
	Memory behind bridge: fa000000-fcffffff
	Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff
	Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
	Capabilities: [60] HyperTransport: MSI Mapping
	Capabilities: [80] Express Root Port (Slot+) IRQ 0
	Capabilities: [100] Virtual Channel

00:08.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a1)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0
	Capabilities: [44] HyperTransport: Slave or Primary Interface
	Capabilities: [e0] #00 [fee0]

00:09.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0

00:09.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel, IRQ 5
	I/O ports at fc00 [size=64]
	I/O ports at f800 [size=64]
	Capabilities: [44] Power Management version 2

00:09.2 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: 66MHz, fast devsel

00:0a.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1)
(prog-if 10 [OHCI])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 10
	Memory at fe02f000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2

00:0a.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2)
(prog-if 20 [EHCI])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 11
	Memory at fe02e000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [44] Debug port
	Capabilities: [80] Power Management version 2

00:0c.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1) (prog-if 8a [Master
SecP PriP])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0
	I/O ports at f400 [size=16]
	Capabilities: [44] Power Management version 2

00:0d.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
(prog-if 85 [Master SecO PriO])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 10
	I/O ports at 09f0 [size=8]
	I/O ports at 0bf0 [size=4]
	I/O ports at 0970 [size=8]
	I/O ports at 0b70 [size=4]
	I/O ports at e000 [size=16]
	Memory at fe02d000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
	Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
	Capabilities: [cc] HyperTransport: MSI Mapping

00:0d.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
(prog-if 85 [Master SecO PriO])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 11
	I/O ports at 09e0 [size=8]
	I/O ports at 0be0 [size=4]
	I/O ports at 0960 [size=8]
	I/O ports at 0b60 [size=4]
	I/O ports at cc00 [size=16]
	Memory at fe02c000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
	Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
	Capabilities: [cc] HyperTransport: MSI Mapping

00:0d.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
(prog-if 85 [Master SecO PriO])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 5
	I/O ports at c800 [size=8]
	I/O ports at c400 [size=4]
	I/O ports at c000 [size=8]
	I/O ports at bc00 [size=4]
	I/O ports at b800 [size=16]
	Memory at fe02b000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
	Capabilities: [b0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable-
	Capabilities: [cc] HyperTransport: MSI Mapping

00:0e.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2) (prog-if 01
[Subtractive decode])
	Flags: bus master, 66MHz, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
	I/O behind bridge: 00008000-00009fff
	Memory behind bridge: fde00000-fdefffff
	Prefetchable memory behind bridge: fdf00000-fdffffff
	Capabilities: [b8] Subsystem: Gammagraphx, Inc. Unknown device 0000
	Capabilities: [8c] HyperTransport: MSI Mapping

00:0e.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 5
	Memory at fe020000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [44] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/0 Enable-
	Capabilities: [6c] HyperTransport: MSI Mapping

00:10.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 10
	Memory at fe02a000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at b400 [size=8]
	Memory at fe029000 (32-bit, non-prefetchable) [size=256]
	Memory at fe028000 (32-bit, non-prefetchable) [size=16]
	Capabilities: [44] Power Management version 2
	Capabilities: [70] MSI-X: Enable+ Mask- TabSize=8
	Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/3 Enable-
	Capabilities: [6c] HyperTransport: MSI Mapping

00:11.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
	Subsystem: EPoX Computer Co., Ltd. Unknown device 1026
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 11
	Memory at fe027000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at b000 [size=8]
	Memory at fe026000 (32-bit, non-prefetchable) [size=256]
	Memory at fe025000 (32-bit, non-prefetchable) [size=16]
	Capabilities: [44] Power Management version 2
	Capabilities: [70] MSI-X: Enable- Mask- TabSize=8
	Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/3 Enable-
	Capabilities: [6c] HyperTransport: MSI Mapping

00:13.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
(prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00006000-00007fff
	Memory behind bridge: fdd00000-fddfffff
	Prefetchable memory behind bridge: 00000000fdc00000-00000000fdcfffff
	Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
	Capabilities: [60] HyperTransport: MSI Mapping
	Capabilities: [80] Express Root Port (Slot+) IRQ 0
	Capabilities: [100] Virtual Channel

00:15.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
(prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: fdb00000-fdbfffff
	Prefetchable memory behind bridge: 00000000fda00000-00000000fdafffff
	Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
	Capabilities: [60] HyperTransport: MSI Mapping
	Capabilities: [80] Express Root Port (Slot+) IRQ 0
	Capabilities: [100] Virtual Channel

00:16.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
(prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: fd900000-fd9fffff
	Prefetchable memory behind bridge: 00000000fd800000-00000000fd8fffff
	Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
	Capabilities: [60] HyperTransport: MSI Mapping
	Capabilities: [80] Express Root Port (Slot+) IRQ 0
	Capabilities: [100] Virtual Channel

00:17.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2)
(prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: fd700000-fd7fffff
	Prefetchable memory behind bridge: 00000000fd600000-00000000fd6fffff
	Capabilities: [40] Subsystem: nVidia Corporation Unknown device 0000
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
	Capabilities: [60] HyperTransport: MSI Mapping
	Capabilities: [80] Express Root Port (Slot+) IRQ 0
	Capabilities: [100] Virtual Channel

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
	Flags: fast devsel
	Capabilities: [80] HyperTransport: Host or Secondary Interface

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
	Flags: fast devsel

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM
Controller
	Flags: fast devsel

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
	Flags: fast devsel
	Capabilities: [f0] #0f [0010]

01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GS] (rev
a1) (prog-if 00 [VGA])
	Subsystem: LeadTek Research Inc. Unknown device 2a55
	Flags: bus master, fast devsel, latency 0, IRQ 10
	Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at fb000000 (64-bit, non-prefetchable) [size=16M]
	I/O ports at ac00 [size=128]
	[virtual] Expansion ROM at fc000000 [disabled] [size=128K]
	Capabilities: [60] Power Management version 2
	Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
	Capabilities: [78] Express Endpoint IRQ 0
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting

02:05.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev
01) (prog-if 02 [16550])
	Subsystem: LSI Logic / Symbios Logic 2S (16C550 UART)
	Flags: medium devsel, IRQ 5
	I/O ports at 9c00 [size=8]
	I/O ports at 9800 [size=8]
	I/O ports at 9400 [size=8]
	I/O ports at 9000 [size=8]
	I/O ports at 8c00 [size=8]
	I/O ports at 8800 [size=16]

03:00.0 SATA controller: JMicron Technologies, Inc. JMicron 20360/20363 AHCI
Controller (rev 02) (prog-if 01 [AHCI 1.0])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 9034
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at fddfe000 (32-bit, non-prefetchable) [size=8K]
	[virtual] Expansion ROM at fdc00000 [disabled] [size=64K]
	Capabilities: [68] Power Management version 2
	Capabilities: [50] Express Legacy Endpoint IRQ 1

03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI
Controller (rev 02) (prog-if 85 [Master SecO PriO])
	Subsystem: EPoX Computer Co., Ltd. Unknown device 9034
	Flags: bus master, fast devsel, latency 0, IRQ 11
	I/O ports at 7c00 [size=8]
	I/O ports at 7800 [size=4]
	I/O ports at 7400 [size=8]
	I/O ports at 7000 [size=4]
	I/O ports at 6c00 [size=16]
	Capabilities: [68] Power Management version 2

Comment 2 Anton Gorlov 2007-02-09 00:10:54 UTC
Created attachment 10362 [details]
dmesg  with noapic
Comment 3 João Miguel Neves 2007-02-16 03:34:50 UTC
Changed the kernel version as the problem is exactly the same with a vanilla
kernel 2.6.20.

If this is a BIOS issue, could some give me a clue on what to complain about to
the manufacturer?

Thanks in advance,
Jo
Comment 4 João Miguel Neves 2007-02-16 03:37:53 UTC
Changed severity to match the definition.
Comment 5 João Miguel Neves 2007-03-04 13:57:38 UTC
> I don't know if it's related or not, but the machine is unstable when booted
> with 'noapic'. Lost network connections happens several times a day. Sometimes
> there are even kernel oops.

Just a note on this: this behaviour was unrelated. The BIOS was detecting the
ram as DDR2 533 and it was DDR2 400.
Comment 6 Dmitriy Fisenko 2007-03-28 02:08:09 UTC
I am trying to boot 2.6.20.2 on a Gigabyte GA-M57SLI-S4 with f7 BIOS 
AMD Athlon 64 3800+ X2 and got same message:

ENABLING IO-APIC IRQs
 ..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
 ..MP-BIOS bug: 8254 timer not connected to IO-APIC
 ...trying to set up timer (IRQ0) through the 8259A ... failed.
 ...trying to set up timer as Virtual Wire IRQ... failed.
 ...trying to set up timer as ExtINT IRQ... failed :(.
 Kernel panic - not syncing: IO-APIC + timer doesn't work!
Comment 7 Natalie Protasevich 2007-07-03 22:00:11 UTC
Just for the record - is there specific reason why you boot with noapic, does it boot in APIC mode?
Comment 8 João Miguel Neves 2007-07-03 22:08:38 UTC
No. As the original report shows, without noapic the kernel just panics.
Comment 9 Michael Evans 2007-07-21 02:41:28 UTC
Looks related to this thread.  So far I have had some success with the additional boot parameter 'acpi_use_timer_override' instead of 'noapic'.

Are all (or most?) nforce 5xx / MCP55 bios(es?) broken?

http://bugzilla.kernel.org/show_bug.cgi?id=8219
Comment 10 Natalie Protasevich 2007-07-21 08:37:15 UTC
The boot trace shows that you have PM timer, so the acpi_use_timer_override might not help. In the code, there is a correlation between NVIDIA timer overrides and presence of HPET timer. Andi, can you advise please?
Comment 11 Natalie Protasevich 2007-07-21 08:42:57 UTC
... and another question: are you booting 32 bit kernel or x86_64? (The cathegory shows the bug is against i386).
Comment 12 Michael Evans 2007-07-21 09:10:51 UTC
No, 64 bit, but I suspect that the underlying issue is related to interaction at the firmware level, which is most likely much more similar then different between instruction sets for the processor.  Just because you're running 64 bit shouldn't change PCI* bus relations/interrupts.  Don't MSI/traditional interrupts work under both instruction sets?

Though I've never written anything at this level for a modern computer, only those really ancient and inexpensive lab boards during a few college courses... so take this with a huge grain of salt.
Comment 13 Natalie Protasevich 2007-07-21 09:38:08 UTC
Michael, I saw your boot trace and it was 64 bit.
Joao, you seem to report this under i386, does this mean you are using 32 bit kernel?
The timer quirk code is present in both archs, but the code flow is different.
Comment 14 João Miguel Neves 2007-07-21 10:02:00 UTC
Correct. This bug was reported on a 32 bit kernel.
Comment 15 Andi Kleen 2007-07-22 06:20:54 UTC
Even with pmtimer irq 0 is needed (it only is a counter not an own
interrupt source)

Does it boot with acpi_use_timer_override? 

If it's like the standard HPET BIOS bug.  We have a zillion of dups 
on that one in the database.

Most likely it will be fixed with 
(against mainline, apply in this order)

ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/early-quirks-unification
ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/nvidia-timer-quirk
Comment 16 Natalie Protasevich 2007-08-22 14:46:19 UTC
Any updates on this? Joao, Have you tested with the patches suggested in #15?
Thanks.
Comment 17 João Miguel Neves 2007-12-03 08:25:44 UTC
No, it doesn't boot with acpi_use_timer_override. I'll try the patches next.
Comment 18 Michael Evans 2007-12-04 14:14:34 UTC
Actually, it did on my board, but that was with a different version kernel.  A BIOS UPDATE FIXED IT TO WORK WITHOUT ANY OVER-RIDE.  (However I did enable the HPET timer in the bios that showed up after the update.)

Check your board and make sure you've flashed the latest version of the bios (And then the one before that if it doesn't work but there is an earlier version that could work in case they screwed it up again...)
Comment 19 Thomas Gleixner 2008-09-05 04:35:36 UTC
Any updates on this one ? Latest mainline 2.6.27-rc5 has lots of updates in that area, so any reports against that would be appreciated
Comment 20 João Miguel Neves 2008-09-08 08:35:12 UTC
Working with 2.6.27-rc5.
Comment 21 Thomas Gleixner 2008-09-08 09:54:53 UTC
> Working with 2.6.27-rc5.

Thanks for reporting.

       tglx