summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2001-01-21 00:21:51 +0000
committerhpa <hpa>2001-01-21 00:21:51 +0000
commite9a9fa70273dd61b043555a3926ce82b9729416a (patch)
tree7529d4087dff44872dac5b4ccffc9e108a96b7a2
parentcf00b640236d57184a9b9d10eb78af60b365a595 (diff)
downloadsyslinux-e9a9fa70273dd61b043555a3926ce82b9729416a.tar.gz
Try to make the A20 delay loops a bit more consistent.
-rw-r--r--ldlinux.asm6
-rw-r--r--pxelinux.asm6
2 files changed, 6 insertions, 6 deletions
diff --git a/ldlinux.asm b/ldlinux.asm
index bfb483d1..84d47285 100644
--- a/ldlinux.asm
+++ b/ldlinux.asm
@@ -2535,7 +2535,7 @@ bcopy: push eax
;
%define io_delay call _io_delay
%define IO_DELAY_PORT 80h ; Invalid port (we hope!)
-%define disable_wait 256 ; How long to wait for a disable
+%define disable_wait 32 ; How long to wait for a disable
%define A20_DUNNO 0 ; A20 type unknown
%define A20_NONE 1 ; A20 always on?
@@ -2669,11 +2669,11 @@ a20_test:
push ax
mov cx,0FFFFh ; HMA = segment 0FFFFh
mov es,cx
- mov cx,0100h ; Loop count
+ mov cx,32 ; Loop count
mov ax,[ss:A20Test]
.a20_wait: inc ax
mov [ss:A20Test],ax
-; call try_wbinvd
+ io_delay ; Serialize, and fix delay
cmp ax,[es:A20Test+10h]
loopz .a20_wait
.a20_done: pop ax
diff --git a/pxelinux.asm b/pxelinux.asm
index 96143781..164e4727 100644
--- a/pxelinux.asm
+++ b/pxelinux.asm
@@ -2116,7 +2116,7 @@ bcopy: push eax
;
%define io_delay call _io_delay
%define IO_DELAY_PORT 80h ; Invalid port (we hope!)
-%define disable_wait 256 ; How long to wait for a disable
+%define disable_wait 32 ; How long to wait for a disable
%define A20_DUNNO 0 ; A20 type unknown
%define A20_NONE 1 ; A20 always on?
@@ -2250,11 +2250,11 @@ a20_test:
push ax
mov cx,0FFFFh ; HMA = segment 0FFFFh
mov es,cx
- mov cx,0100h ; Loop count
+ mov cx,32 ; Loop count
mov ax,[ss:A20Test]
.a20_wait: inc ax
mov [ss:A20Test],ax
-; call try_wbinvd
+ io_delay ; Serialize, and fix delay
cmp ax,[es:A20Test+10h]
loopz .a20_wait
.a20_done: pop ax