summaryrefslogtreecommitdiff
path: root/cpuinit.inc
diff options
context:
space:
mode:
authorhpa <hpa>2004-12-27 07:04:08 +0000
committerhpa <hpa>2004-12-27 07:04:08 +0000
commitfd90c4d0a06ede3c60229086356d1e10d3c34d76 (patch)
tree7274f5d9c1db4fb09bd09bf1a152d7e1107c5f99 /cpuinit.inc
parent88310d544e0e2758355f8372fcfe7ceb73256973 (diff)
downloadsyslinux-fd90c4d0a06ede3c60229086356d1e10d3c34d76.tar.gz
More work on using sections for memory alignment. Make bcopy32 always
live in low memory so we don't have to do a bunch on-the-fly relocation, and produce map files.
Diffstat (limited to 'cpuinit.inc')
-rw-r--r--cpuinit.inc14
1 files changed, 8 insertions, 6 deletions
diff --git a/cpuinit.inc b/cpuinit.inc
index 866c5f3a..8ac20f51 100644
--- a/cpuinit.inc
+++ b/cpuinit.inc
@@ -41,6 +41,14 @@ enough_ram:
skip_checks:
;
+; Initialize the bcopy32 code in low memory
+;
+ mov si,section..bcopy32.start
+ mov di,__bcopy_start
+ mov cx,__bcopy_size >> 2
+ rep movsd
+
+;
; Check if we're 386 (as opposed to 486+); if so we need to blank out
; the WBINVD instruction
;
@@ -65,10 +73,4 @@ skip_checks:
mov byte [try_wbinvd],0c3h ; Near RET
is_486:
%endif ; DO_WBINVD
-;
-; Mark A20 type as unknown. This particular word needs to be in BSS,
-; so it needs to be initialized.
-;
- mov word [A20Type],0
-