summaryrefslogtreecommitdiff
path: root/memdisk/memdisk.asm
diff options
context:
space:
mode:
authorhpa <hpa>2001-12-12 03:39:52 +0000
committerhpa <hpa>2001-12-12 03:39:52 +0000
commitd893da1c297819fc309772ceb6c716064fb23d42 (patch)
treed091fc8b981614094ffd0dc9226d501ccb09341b /memdisk/memdisk.asm
parent210bd8c3a671905cd9e4756bde8ffce90ff346c9 (diff)
downloadsyslinux-1.65-pre6.tar.gz
Make the memory configuration calls actually work properly, especiallysyslinux-1.65-pre6
E820.
Diffstat (limited to 'memdisk/memdisk.asm')
-rw-r--r--memdisk/memdisk.asm13
1 files changed, 6 insertions, 7 deletions
diff --git a/memdisk/memdisk.asm b/memdisk/memdisk.asm
index 1dd41b6a..9bc453d9 100644
--- a/memdisk/memdisk.asm
+++ b/memdisk/memdisk.asm
@@ -250,7 +250,6 @@ int15_e820:
push ds
push cs
pop ds
- push edx ; "SMAP"
and ebx,ebx
jne .renew
mov ebx,E820Table
@@ -274,7 +273,7 @@ int15_e820:
jne .notdone
xor ebx,ebx ; Done with table
.notdone:
- pop eax ; "SMAP"
+ mov eax,edx ; "SMAP"
pop ds
mov ecx,20 ; Bytes loaded
int15_success:
@@ -306,14 +305,14 @@ int15_e801:
mov ax,[cs:Mem1MB]
mov cx,ax
mov bx,[cs:Mem16MB]
- mov dx,ax
+ mov dx,bx
jmp short int15_success
int15_e881:
mov eax,[cs:Mem1MB]
mov ecx,eax
mov ebx,[cs:Mem16MB]
- mov edx,eax
+ mov edx,ebx
jmp short int15_success
int15_88:
@@ -415,8 +414,6 @@ Mover_dst1: db 0, 0, 0 ; Low 24 bits of target addy
Mover_dst2: db 0 ; High 8 bits of source addy
Mover_dummy2: dd 0, 0, 0, 0 ; More space for the BIOS
-LastStatus db 0 ; Last return status
-
alignb 4, db 0
PatchArea equ $ ; This gets filled in by the installer
@@ -428,11 +425,11 @@ DiskBuf dd 0 ; Linear address of high memory disk
Mem1MB dd 0 ; 1MB-16MB memory amount (1K)
Mem16MB dd 0 ; 16MB-4G memory amount (64K)
-MemInt1588 dd 0 ; 1MB-65MB memory amount (1K)
OldInt13 dd 0 ; INT 13h in chain
OldInt15 dd 0 ; INT 15h in chain
+MemInt1588 dw 0 ; 1MB-65MB memory amount (1K)
OldDosMem dw 0 ; Old position of DOS mem end
DriveNo db 0 ; Our drive number
@@ -446,6 +443,8 @@ Stack dd 0 ; Saved SS:ESP on invocation
dw 0
SavedAX dw 0 ; AX saved on invocation
+LastStatus db 0 ; Last return status
+
alignb 4, db 0 ; We *MUST* end on a dword boundary
E820Table equ $ ; The installer loads the E820 table here