On Mon, Aug 21, 2006 at 10:29:36PM +0900, Magnus Damm wrote: > On 8/21/06, Andi Kleen <[EMAIL PROTECTED]> wrote: > > > >> > >> + /* Reload CS with a value that is within our GDT. We need to do > >this > >> + * if we were loaded by a 64 bit bootloader that happened to use a > >> + * CS that is larger than the GDT limit. This is true if we came > >here > >> + * from kexec running under Xen. > >> + */ > >> + movq %rsp, %rdx > >> + movq $__KERNEL_DS, %rax > >> + pushq %rax /* SS */ > >> + pushq %rdx /* RSP */ > >> + movq $__KERNEL_CS, %rax > >> + movq $cs_reloaded, %rdx > >> + pushq %rax /* CS */ > >> + pushq %rdx /* RIP */ > >> + lretq > > > >Can't you just use a normal far jump? That might be simpler. > > I couldn't find a far jump that took a 64-bit address to jump to. But > I guess that the kernel will be loaded in the lowest 4G regardless so > I guess 32-bit pointers are ok, right? That will make it simpler for > sure. >
Given the idea of relocatable kernel is floating around I would prefer if we are not bounded by the restriction of loading a kernel in lowest 4G. Thanks Vivek _______________________________________________ fastboot mailing list [email protected] https://lists.osdl.org/mailman/listinfo/fastboot
