RE: [PATCH] x86_64 VIA chipset IOAPIC fix

From: HurryLin
Date: Fri Apr 16 2004 - 05:58:18 EST


Dear Tony:

We have done some tests as follows:

1. For original issue (bug 1530)
According to your patch for bug 2090, We rebuild SuSe 9.0 final with kernel 2.6.3 and your patch. Then, we enter "APIC" in the command line to enable APIC mode but the system still hang with bios using dynamic IRQ routing method in ASL code. So your patch can fix this issue. The original issue is detailed in bug 1530.

2. IRQ routing in SuSe OS
a. According to your patch for bug 2090, We rebuild SuSe 9.0 final with kernel 2.6.3 and your patch. Then, we enter "APIC" in the command line to enable APIC mode but the system can work with bios using static IRQ routing method in ASL code but abnormal. We get some information for your reference (bootlog and interrupts). In other words, we find the IRQ of USB is XT-PIC and IRQ5,11 but it should originally be IO-APIC and IRQ 21.
b. If we install SuSe 9.0 final with bios using static IRQ routing method in ASL code, then the system can normally work. The IRQ of USB contoller is IO-APIC and 21.

For the above, we have some questions:
1. Why is the system's IRQ routing abnormal for USB controller when rebuild SuSe 9.0 with kernel 2.6.3?
2. Is the dynamic IRQ routing method of ASL code in bios incorrect? Or does the OS's APCI praser have some problem?

If you need more information or any problem, please feel free to contact with me.

Hurry

-----Original Message-----
From: Tony Lindgren [mailto:tony@xxxxxxxxxxx]
Sent: Thursday, March 25, 2004 11:35 AM
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: acpi-devel-request@xxxxxxxxxxxxxxxxxxxxx; patches@xxxxxxxxxx;
ak@xxxxxxx; len.brown@xxxxxxxxx; pavel@xxxxxx; ccheney@xxxxxxxxxx
Subject: [PATCH] x86_64 VIA chipset IOAPIC fix


Hi Andi & Len,

Sorry for cross posting all over the place, I tried to CC some people who have
been bugged by this bug.

I finally got the IOAPIC working on my eMachines m6805 amd64 laptop with the
following patch. I have not tried it on any other machines, so can you guys
please check the sanity and make the necessary changes if needed?

This fixes at least ACPI bug 2090:

http://bugme.osdl.org/show_bug.cgi?id=2090

Might fix some other x86 VIA bugs too?

To turn it on, apic still needs to be specified in the kernel cmdline:

root=/dev/hda3 ro psmouse.proto=imps apic console=tty0

Now cat /proc/interrupts shows:

0: 70843 IO-APIC-edge timer
1: 9 IO-APIC-edge i8042
2: 0 XT-PIC cascade
8: 0 IO-APIC-edge rtc
10: 0 IO-APIC-level acpi
12: 44 IO-APIC-edge i8042
14: 2734 IO-APIC-edge ide0
15: 19 IO-APIC-edge ide1
17: 0 IO-APIC-level yenta
18: 0 IO-APIC-level eth0
21: 565 IO-APIC-level ehci_hcd, uhci_hcd, uhci_hcd, uhci_hcd
22: 0 IO-APIC-level VIA8233
23: 6 IO-APIC-level eth1
NMI: 12
LOC: 70752
ERR: 0
MIS: 0

And things are just working :)

Regards,

Tony

And here's the patch, it's against 2.6.5-rc2:

Attachment: bootlog
Description: bootlog

Attachment: interrupts
Description: interrupts