On Wed, Jan 9, 2013 at 11:07 AM, David Woodhouse <dw...@infradead.org> wrote:
> --- a/edk2/OvmfPkg/Library/LoadLinuxLib/X64/JumpToKernel.asm
> +++ b/edk2/OvmfPkg/Library/LoadLinuxLib/X64/JumpToKernel.asm
> @@ -24,10 +24,47 @@
>  
> ;------------------------------------------------------------------------------
>  JumpToKernel PROC
>
> -    mov     rsi, rdx
> -    add     rcx, 200h
> -    call    rcx
> -    ret
> +    ; Set up for executing kernel. BP in %esi, entry point on the stack
> +    ; (64-bit when the 'ret' will use it as 32-bit, but we're little-endian)
> +    mov    rsi, rdx
> +    push   rcx
> +
> +    ; Jump into the compatibility mode CS
> +    push    10h
> +    push    @F

This push won't assemble. ("Invalid instruction operands")

There might be a way to get masm to assemble that instruction, but I
don't know the magic syntax.

This works, and I think is a valid alternative, right?
lea rax, @F
push rax

-Jordan

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to