Myles Watson napsal(a):
On Mon, Mar 16, 2009 at 1:23 PM, Rudolf Marek <[email protected]> wrote:
Hi,
All of the other interrupts from 0x0-0xf are set as Edge triggered in
the mptable, so that seems likely.
Fine. Second reason might be that the ExtInt pin is wrong for the APIC. I
mean it is set wrongly. To which pin sets the original BIOS the ExtInt IRQ?
Do I need to decode the mptable to know that? Is there a utility to
do that? I've gotten as far as "ISA is bus 86", but I'm struggling to
find ExtINT in there. I don't see anything that matches what I
expect.
It should be the interrupt type 3 maybe you can dump the table somewhere?
mp_ExtINT Looking into the mptable for yhe 2895 seems that extint is not pin0
but pin2!
Maybe you can change the code here:
--- ck804_lpc.c (revision 3613)
+++ ck804_lpc.c (working copy)
@@ -43,9 +43,9 @@
#define INT (1 << 8)
/* IO-APIC virtual wire mode configuration */
/* mask, trigger, polarity, destination, delivery, vector */
- { 0, ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST | ExtINT,
NONE},
+ { 0, DISABLED, NONE},
{ 1, DISABLED, NONE},
- { 2, DISABLED, NONE},
+ { 2, ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST | ExtINT,
NONE},
{ 3, DISABLED, NONE},
{ 4, DISABLED, NONE},
{ 5, DISABLED, NONE},
04d0: 20 0c
IRQ 7, IRQ a, IRQ b are edge?
Nope IRQ5 and IRQ10 and IRQ11 are edge.
But I think that linux trusts more the APIC conf and not the MPTable so, after
you fix it it may actually start to work.
Rudolf
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot