This is the most up-to-date patch on a board I have been struggling with for over a month now I am posting this patch for both discussion and inclusion.
The good part is we get to linux. The bad part is that linux gets bored of waiting for the IRQs. The IRQs do not seem to work, at least, they partially do not work.
This board is on loan from a friend, and I will have to give it back in a few days. If I can't get it to work, I'd at least like my work to be available for the next person who may want to get this model running.
The first obvious sign of something going wrong is the keyboard not responding in SeaBIOS. Later, linux tells us: "..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0 ..MP-BIOS bug: 8254 timer not connected to IO-APIC ...trying to set up timer (IRQ0) through the 8259A ... ..... (found apic 0 pin 0) ... ...... works." message from linux.
This indicates to me that linux is setting up the timer as IRQ0 through the i8259A, through the IOAPIC pin 0 as ExtInt, and to the LAPIC lint0 as ExtInt. The mfg BIOS sets it up through the IOAPIC pin2, and it works.
We later see the i8259 IMR= fffa, which means IRQ0 (timer) and IRQ2(cascade) are unmasked. In the mfg BIOS, the IMR = fffb, which means that only IRQ2 is unmasked, so the timer should be set up through the IOAPIC pin 2.
Under coreboot, linux finally says ata3: lost interrupt (Status 0x58) and dies.
Well, maybe it's just the IOAPIC acting up, so let's put a "noapic" in the kernel arguments and see what happens. IRQs still do not work and linux stops at the same error message.
The fact that the IOAPIC is accepting IRQ0 from the PIC means that the IOAPIC should at least work as a VirtualWire, but the fact that interrupts still do not work in "noapic" mode indicates the opposite. Is it the IOAPIC acting up, or the i8259?
Maybe I'm looking at the problem from the wrong perspective. I'd appreciate any suggestions or hints to get this board corebooting.
I'm also attaching the boot log from both coreboot and the mfg BIOS for a more complete reference.
Alex
Ping!
Alex
Alex G. wrote:
Add support for ASUS K8X-X SE motherboard.
..
Linux cannot complete booting.
Also not with acpi=off so that it uses the mptable?
Basically the code isn't ready yet.
Maybe we should have a CONFIG_EXPERIMENTAL ?
//Peter
On 03/02/2011 04:38 PM, Peter Stuge wrote:
Alex G. wrote:
Add support for ASUS K8X-X SE motherboard.
..
Linux cannot complete booting.
Also not with acpi=off so that it uses the mptable?
Basically the code isn't ready yet.
Maybe we should have a CONFIG_EXPERIMENTAL ?
//Peter
Alex why don't you leave acpi out for now, Linux doesn't need it to boot. I would concentrate on your IRQ routing issue.
On 03/02/2011 11:41 PM, Joseph Smith wrote:
On 03/02/2011 04:38 PM, Peter Stuge wrote:
Alex G. wrote:
Add support for ASUS K8X-X SE motherboard.
..
Linux cannot complete booting.
Also not with acpi=off so that it uses the mptable?
Yes. It fails to work with acpi, mptable, and pirq table. That means [no option], "acpi=off", and "acpi=off noapic" respectively.
Basically the code isn't ready yet.
I explained the issue in more detail in my first email qith this patch, that I had sent a while back.
Maybe we should have a CONFIG_EXPERIMENTAL ?
Alright, but don't mind my asking, how exactly do we do this?
Alex why don't you leave acpi out for now, Linux doesn't need it to boot. I would concentrate on your IRQ routing issue.
I haven't even touched the ACPI in over month. I'm testing with "acpi=off". The problem doesn't seem to be IRQ routing, as in routing, but the IOAPIC refusing to work the way it should work. I've explained this in more detail in my initial posting.
I'm waiting for the friend who owns this board to pick it up any day now, so I doubt I will be able to finish it. I've been spinning in circles for a very long time now. If I can't get it ready, I'd like the next person who tries to port this board to already have my work as a starting point.
Alex
On 03/02/2011 05:03 PM, Alex G. wrote:
On 03/02/2011 11:41 PM, Joseph Smith wrote:
On 03/02/2011 04:38 PM, Peter Stuge wrote:
Alex G. wrote:
Add support for ASUS K8X-X SE motherboard.
..
Linux cannot complete booting.
Also not with acpi=off so that it uses the mptable?
Yes. It fails to work with acpi, mptable, and pirq table. That means [no option], "acpi=off", and "acpi=off noapic" respectively.
Basically the code isn't ready yet.
I explained the issue in more detail in my first email qith this patch, that I had sent a while back.
Maybe we should have a CONFIG_EXPERIMENTAL ?
Alright, but don't mind my asking, how exactly do we do this?
Alex why don't you leave acpi out for now, Linux doesn't need it to boot. I would concentrate on your IRQ routing issue.
I haven't even touched the ACPI in over month. I'm testing with "acpi=off". The problem doesn't seem to be IRQ routing, as in routing, but the IOAPIC refusing to work the way it should work. I've explained this in more detail in my initial posting.
I'm waiting for the friend who owns this board to pick it up any day now, so I doubt I will be able to finish it. I've been spinning in circles for a very long time now. If I can't get it ready, I'd like the next person who tries to port this board to already have my work as a starting point.
Alex have you tried adding irqpoll to your command line? It may give you some clues?
On 03/03/2011 02:15 AM, Joseph Smith wrote:
Alex have you tried adding irqpoll to your command line? It may give you some clues?
Just did: http://pastebin.com/6n2AV3DU
I'm looking over the output to see if there's anything useful.
Alex
This is my last submission of this patch. I've made the board depend on CONFIG_EXPERT, and added a help menu describing it does not work. I leave the mptable because I have invested significant effort into making sure it is correct. I leave the APCI table because I have invested effort into getting the _PRT to be correct.
There is a comment in a linux source file: "Some [firmware] writers are clueless". I feel like one of those firmware writers, be it because I wasn't able to find the information I need, or I have and am not able to understand it.
I have gotten tired of spinning in circles with this board, and am thus abandoning it. I make this last submission on a use it or lose it basis.
/me out
Alex