aboutsummaryrefslogtreecommitdiffstats
path: root/bcopy32.inc
diff options
context:
space:
mode:
authorhpa <hpa>2004-12-27 03:28:08 +0000
committerhpa <hpa>2004-12-27 03:28:08 +0000
commit88310d544e0e2758355f8372fcfe7ceb73256973 (patch)
tree07e78283dbc0c1c7fdca5ebfde71978ff27f75ad /bcopy32.inc
parente73cd0b64ed52d9d08ef1bfcae8b8c30f7157a75 (diff)
downloadsyslinux.git-88310d544e0e2758355f8372fcfe7ceb73256973.tar.gz
syslinux.git-88310d544e0e2758355f8372fcfe7ceb73256973.tar.xz
syslinux.git-88310d544e0e2758355f8372fcfe7ceb73256973.zip
Reorganize memory slightly; split .bss into .bss and .earlybss and
move its base down to 0800h; relocate pxelinux since it needs copious amounts of bss.
Diffstat (limited to 'bcopy32.inc')
-rw-r--r--bcopy32.inc7
1 files changed, 5 insertions, 2 deletions
diff --git a/bcopy32.inc b/bcopy32.inc
index 3bd2ca9f..7b707801 100644
--- a/bcopy32.inc
+++ b/bcopy32.inc
@@ -383,6 +383,9 @@ try_wbinvd:
; necessary code into the trackbuf area before doing the copy,
; and do adjustments to anything except BSS area references.
;
+; NOTE: Since PXELINUX relocates itself, put all these
+; references in the ".earlybss" segment.
+;
; After performing the copy, this routine resets the stack and
; jumps to 0:7c00.
;
@@ -393,7 +396,7 @@ try_wbinvd:
; ESI, EDI, ECX - same as bcopy
; On stack - initial state (fd, ad, ds, es, fs, gs)
;
-ADJUST equ (__bcopy_start - $$) + 7C00h - BSS_START
+ADJUST equ (__bcopy_start - $$) + TEXT_START - BSS_START
align 2
adjlist dw bcopy_gdt.adj1 - ADJUST
@@ -450,7 +453,7 @@ bcopy_over_self:
jmp 0:7c00h
__bcopy_end:
- section .bss
+ section .earlybss
A20Test resw 1 ; Counter for testing status of A20
A20Type resw 1 ; A20 type
A20Tries resb 1 ; Times until giving up on A20