diff options
author | hpa <hpa> | 2002-04-28 00:50:20 +0000 |
---|---|---|
committer | hpa <hpa> | 2002-04-28 00:50:20 +0000 |
commit | b085cb9ecd24969421d10b8d5f37af5fb22c581f (patch) | |
tree | 5509a72490638e51d723431d57856c8412c8b70e /bcopy32.inc | |
parent | 3e012b34a2eac374cd3db4c74657fb059d357536 (diff) | |
download | syslinux-b085cb9ecd24969421d10b8d5f37af5fb22c581f.tar.gz |
Make the setup of the bootup entry state saner.
Diffstat (limited to 'bcopy32.inc')
-rw-r--r-- | bcopy32.inc | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/bcopy32.inc b/bcopy32.inc index 4910fbb0..af322f91 100644 --- a/bcopy32.inc +++ b/bcopy32.inc @@ -381,10 +381,7 @@ try_wbinvd: ; ; Inputs: ; ESI, EDI, ECX - same as bcopy -; EDX - edx on invocation -; EAX - esi on invocation -; EBX - ebx on invocation -; ES - es on invocation +; On stack - initial state (ad, fd, ds, es, fs, gs) ; %define ADJUST (__bcopy_start - trackbuf) @@ -397,10 +394,6 @@ adjlist dw bcopy_gdt.adj1 - ADJUST adjlist_cnt equ ($-adjlist)/2 bcopy_over_self: - push es - push ebx - push eax - push edx push esi push edi push ecx @@ -408,8 +401,6 @@ bcopy_over_self: xor bx,bx mov es,bx mov ds,bx - mov fs,bx - mov gs,bx mov si,__bcopy_start mov di,trackbuf @@ -439,9 +430,11 @@ bcopy_over_self: pop esi call bcopy - pop edx - pop esi - pop ebx + pop gs + pop fs pop es + pop ds + popfd + popad jmp 0:7c00h __bcopy_end: |