diff options
author | hpa <hpa> | 2005-01-12 00:34:54 +0000 |
---|---|---|
committer | hpa <hpa> | 2005-01-12 00:34:54 +0000 |
commit | 25ac97ff571bf6b5891921f6e5f1b6f45806314a (patch) | |
tree | bd4dc3873d43dfd03e0312d229c61a5256f12c12 /bootsect.inc | |
parent | a740cb88107937fe0758aa6e520fb4cc552157fc (diff) | |
download | syslinux-25ac97ff571bf6b5891921f6e5f1b6f45806314a.tar.gz |
3.07: Fix chainloading
Diffstat (limited to 'bootsect.inc')
-rw-r--r-- | bootsect.inc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/bootsect.inc b/bootsect.inc index 67ce6762..f22e845a 100644 --- a/bootsect.inc +++ b/bootsect.inc @@ -66,7 +66,7 @@ load_bootsec: xor edx,edx xor esi,esi -%if IS_SYSLINUX || IS_MDSLINUX +%if IS_SYSLINUX || IS_MDSLINUX || IS_EXTLINUX ; Restore original FDC table mov eax,[OrigFDCTabPtr] mov [fdctab],eax @@ -111,7 +111,9 @@ replace_bootstrap: call vgaclearmode ; - ; Set up initial stack frame (not used by PXE if keeppxe is set) + ; Set up initial stack frame (not used by PXE if keeppxe is + ; set - we use the PXE stack then.) + ; AFTER THIS POINT ONLY .earlybss IS AVAILABLE, NOT .bss ; xor ax,ax mov ds,ax @@ -135,12 +137,12 @@ replace_bootstrap: mov [es:di+12],esi mov [es:di+6],bx - pop cx ; Copy list count + pop ax ; Copy list count pop bx ; Copy from... cli - mov ax,es - mov ss,ax + mov cx,es + mov ss,cx movzx esp,di jmp shuffle_and_boot |