diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2009-09-04 16:15:37 -0700 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2009-09-04 16:15:37 -0700 |
| commit | ebef1cd107b7034056309bf49f92a2b9e92b9fe0 (patch) | |
| tree | fbfbbcf923fa6bde9ef02743794393c53b5dcc7f | |
| parent | 4d5ca62c83c6c75d8ff28549cd8e620ce127deff (diff) | |
| download | syslinux-4.00-pre6.tar.gz | |
core: pxe: need to save/restore es around EFI CSM hacksyslinux-4.00-pre6
Unlike in the Syslinux 3.x branch, we need to save/restore es around
the PXE EFI CSM localboot hack. This really should be moved to C,
anyway, at the same time USE_PXE_PROVIDED_STACK is finally killed off.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| -rw-r--r-- | core/pxelinux.asm | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm index 1ebd2b5e..93ef8b4a 100644 --- a/core/pxelinux.asm +++ b/core/pxelinux.asm @@ -176,6 +176,7 @@ _start1: ; if we want to reset", so that chainloading other NBPs will work. ; efi_csm_workaround: + push es les bp,[InitStack] ; GS:SP -> original stack les bx,[es:bp+44] ; Return address cmp word [es:bx],18CDh ; Already pointing to INT 18h? @@ -229,6 +230,7 @@ efi_csm_workaround: rep movsb .skip: + pop es ; Restore CS == DS == ES section .data16 alignz 4 |
