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 /bootsect.inc | |
parent | 3e012b34a2eac374cd3db4c74657fb059d357536 (diff) | |
download | syslinux-b085cb9ecd24969421d10b8d5f37af5fb22c581f.tar.gz |
Make the setup of the bootup entry state saner.
Diffstat (limited to 'bootsect.inc')
-rw-r--r-- | bootsect.inc | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/bootsect.inc b/bootsect.inc index 4546eda2..4d2274f8 100644 --- a/bootsect.inc +++ b/bootsect.inc @@ -73,25 +73,33 @@ load_bootsec: push di mov cx,8 ; 16 bytes rep movsw - pop ax ; DS:SI points to partition info + pop si ; DS:SI points to partition info %elif IS_ISOLINUX mov dl,[DriveNo] %endif - mov esi,7C00h - mov edi,100000h - pop ecx ; Byte count + pop ecx ; Byte count to copy cli - xor ebx,ebx - mov ds,bx %if IS_PXELINUX lss sp,[Stack] ; Reset stack to PXE original - les bx,[InitESBX] ; ES:BX -> PXENV+ + pop es %else + xor ebx,ebx + mov ds,bx mov es,bx - mov esp,esi + mov esp,7C00h + pushad + pushfd + push bx ; ds + push bx ; es + push bx ; fs + push bx ; gs %endif + + mov esi,100000h ; Copy from... + mov edi,7C00h ; Copy to... + jmp bcopy_over_self %if IS_SYSLINUX = 0 |