Re: Patch "i386: Relocatable kernel support" causes instant reboot

From: Vivek Goyal
Date: Thu Dec 21 2006 - 09:26:39 EST


On Thu, Dec 21, 2006 at 07:56:01AM +0530, Vivek Goyal wrote:
[..]
> > # Manual, Mixing 16-bit and 32-bit code, page 16-6)
> >
> > .byte 0x66, 0xea # prefix + jmpi-opcode
> > -code32: .long 0x1000 # will be set to 0x100000
> > - # for big kernels
> > +code32: .long startup_32 # will be set to %cs+startup_32
> > .word __BOOT_CS
> > +.code32
> > +startup_32:
> > + movl $(__BOOT_DS), %eax
> > + movl %eax, %ds
> > + movl %eax, %es
> > + movl %eax, %fs
> > + movl %eax, %gs
> > + movl %eax, %ss
> > +
> > + xorl %eax, %eax
> > +1: incl %eax # check that A20 really IS enabled
> > + movl %eax, 0x00000000 # loop forever if it isn't
> > + cmpl %eax, 0x00100000
> > + je 1b
> > +
> > + # Jump to the 32bit entry point
> > + jmpl *(code32_start - start + (DELTA_INITSEG << 4))(%esi)
>
> Hi Eric,
>
> I got a basic query. Why have we introduced this additional jump to
> startup_32 in the same file? Won't it work if we stick to old method of
> enabling protected mode and then directly taking a jmp to startup_32 in
> arch/i386/kernel/head.S. Am I missing something obivious?
>

Sorry, I meant arch/i386/boot/compressed/head.S and not arch/i386/kernel/head.S

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/