>  
> +     /* 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.

-Andi
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to