summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2008-02-11 16:06:26 +0100
committerMichael Brown2008-02-11 16:06:26 +0100
commitf8a0b5f682561bf1e78aef64b16c05cc9ee70902 (patch)
treea26fc5965a71e7ef74af5283d2c800cdce5f92bb
parentFixes for EqualLogic iSCSI targets: (diff)
downloadipxe-f8a0b5f682561bf1e78aef64b16c05cc9ee70902.tar.gz
ipxe-f8a0b5f682561bf1e78aef64b16c05cc9ee70902.tar.xz
ipxe-f8a0b5f682561bf1e78aef64b16c05cc9ee70902.zip
Use internal 16-bit stack for added safety.
-rw-r--r--src/arch/i386/prefix/pxeprefix.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/i386/prefix/pxeprefix.S b/src/arch/i386/prefix/pxeprefix.S
index ca1a00c9..31b2102f 100644
--- a/src/arch/i386/prefix/pxeprefix.S
+++ b/src/arch/i386/prefix/pxeprefix.S
@@ -700,6 +700,10 @@ run_etherboot:
/* Install Etherboot */
call install
+ /* Set up real-mode stack */
+ movw %bx, %ss
+ movw $_estack16, %sp
+
#ifdef PXELOADER_KEEP_UNDI
/* Copy our undi_device structure to the preloaded_undi variable */
movw %bx, %es