Messages in this thread | | | Date | Sun, 3 Oct 2010 17:32:12 +0100 | Subject | Re: Dynamic nop selection breaks boot on Geode LX | From | Daniel Drake <> |
| |
On 3 October 2010 06:50, Borislav Petkov <bp@alien8.de> wrote: > maybe because the Geode doesn't have both the > P6_NOP5 and the NOP with 4 0x66 prefixes: > http://kerneltrap.org/mailarchive/linux-kernel/2010/8/27/4612336 > > and for some reason the trap can't find the fixup address. You say > "hangs" so you don't even get an "invalid opcode" OOPS?
The XO doesn't have standard VGA, so it is difficult to debug such early crashes. This is crashing so early that kernel messages don't even start to get sent over serial.
To debug these things, I checkpoint the code with various calls which send individual characters over serial:
static void log_serial(char c) { while ((inb(0x3fd) & 0x20) == 0) ; outb(c, 0x3f8); while ((inb(0x3fd) & 0x40) == 0) ; }
So, I'm not really sure if/how it crashed or oops'd. However, I can confirm that panic() does not get reached, since I put a character log in there and it doesn't get sent. Let me know if you want me to put character logging in other places.
I applied your two patches by hand and it doesn't solve the issue, because the init_amd_k6() code is called long after arch_init_ideal_nop5()
Daniel
| |