aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-08-03 21:46:57 -0700
committerLiu Aleaxander <Aleaxander@gmail.com>2009-08-04 16:18:08 +0800
commit030c84480f275e2aa8c98c08de187185d522d252 (patch)
treecf2355ff15534f6b04aa326f53aae86ac61d940b
parentfa630ef0692757d381eef9f62ac69ccc00139d07 (diff)
downloadpxelinux-030c84480f275e2aa8c98c08de187185d522d252.tar.gz
pxelinux-030c84480f275e2aa8c98c08de187185d522d252.tar.xz
pxelinux-030c84480f275e2aa8c98c08de187185d522d252.zip
core: pxelinux: InitStack must be in .earlybss
InitStack is stored to before the .bss segments are zeroed; therefore it needs to live in the .earlybss segment rather than .bss16. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--core/pxelinux.asm8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm
index b4a61e94..a7bed544 100644
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -166,18 +166,22 @@ trackbufsize equ 8192
trackbuf resb trackbufsize ; Track buffer goes here
; ends at 2800h
+ ; These fields save information from before the time
+ ; .bss is zeroed... must be in .earlybss
+ global InitStack
+InitStack resd 1
+
section .bss16
global Files
alignb open_file_t_size
Files resb MAX_OPEN*open_file_t_size
alignb FILENAME_MAX
- global BootFile, PathPrefix, DotQuadBuf, IPOption, InitStack
+ global BootFile, PathPrefix, DotQuadBuf, IPOption
BootFile resb 256 ; Boot file from DHCP packet
PathPrefix resb 256 ; Path prefix derived from boot file
DotQuadBuf resb 16 ; Buffer for dotted-quad IP address
IPOption resb 80 ; ip= option buffer
-InitStack resd 1 ; Pointer to reset stack (SS:SP)
PXEStack resd 1 ; Saved stack during PXE call
alignb 4