aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/pxelinux.asm2
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