On Sun, 25 Mar 2007 14:33:07 -0400, Kumba <kumba@xxxxxxxxxx> wrote: > Actually, I just realized I didn't rehash my dhcpd, so it booted the wrong > kernel. A kernel built with this patchset won't boot without the following > change in include/asm-mips/stackframe.h: > > --- include/asm-mips/stackframe.h.orig 2007-03-25 14:22:04.000000000 -0400 > +++ include/asm-mips/stackframe.h 2007-03-25 14:22:21.000000000 -0400 > @@ -70,7 +70,7 @@ > #else > MFC0 k0, CP0_CONTEXT > #endif > -#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) > +#if defined(CONFIG_32BIT) || !defined(KBUILD_64BIT_SYM32) > lui k1, %hi(kernelsp) > #else It looks very strange. "lui k1, %hi(kernelsp)" should be enough for the -msym32 kernel. What is a version of binutils and gcc you are using? And could you show me disassembled list of handle_int (or some other rountines using get_saved_sp) of failed kernel? If you were using gcc 3.x, does this fix work for you? #if defined(CONFIG_32BIT) || (defined(KBUILD_64BIT_SYM32) && __GNUC__ >= 4) lui k1, %hi(kernelsp) #else ... --- Atsushi Nemoto