On Thu, Dec 21, 2006 at 02:54:01PM +0100, Jean Delvare wrote: > On Thu, 21 Dec 2006 03:32:33 -0700, Eric W. Biederman wrote: > > Ok. There is almost enough for inference but here is a patch of stops > > for setup.S let's see if one of those will stop the reboots. > > > > I have a strong feeling that we are going to find a tool chain issue, > > but I'd like to find where we ware having problems before we declare > > that to be the case. > > (...) > > diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S > > index 06edf1c..2868020 100644 > > --- a/arch/i386/boot/setup.S > > +++ b/arch/i386/boot/setup.S > > @@ -795,6 +795,7 @@ a20_done: > > > > #endif /* CONFIG_X86_VOYAGER */ > > # set up gdt and idt and 32bit start address > > +10: jmp 10b > > Locked here, removed. > > Out of curiosity, what does the "b" stand for? >
I think one can have multiple labels named as 10: so we need to specify which one do you want to jump to. Either forward one (f) or backward one (b). [..] > > Locked here, removed. > > > # Jump to the 32bit entry point > > jmpl *(code32_start - start + (DELTA_INITSEG << 4))(%esi) > > .code16 > > Which brought me to the original situation, where unsurprisingly the > reboot happened. So the problem is located after label 14. Does it help? > Ok. so indirect jump seems to be having problem. On my machine disassembly of setup.o show following. ff a6 14 02 00 00 jmp *0x214(%esi) This seems to be fine as 0x14 is the offset of code32_start, and ((DELTA_INITSEG) << 4) is 0x200. How does it look like on your machine? Thanks Vivek - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/