diff options
author | hpa <hpa> | 2003-11-21 08:00:22 +0000 |
---|---|---|
committer | hpa <hpa> | 2003-11-21 08:00:22 +0000 |
commit | 4e754168b72c41cd19d9ae1be835e651ab9d402c (patch) | |
tree | f4f1dac891cd17ee57855445aef7b66cb78d9a70 | |
parent | 6c906a898cfcd5232979847b4f14901e68fc9e38 (diff) | |
download | syslinux-4e754168b72c41cd19d9ae1be835e651ab9d402c.tar.gz |
Fix handling of loading large "boot sectors"
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | bootsect.inc | 2 | ||||
-rw-r--r-- | pxelinux.asm | 4 |
3 files changed, 5 insertions, 3 deletions
@@ -10,7 +10,7 @@ Changes in 2.07: address of the boot interface to the kernel as a command-line option. * mkdiskimage: fix the generation of the end limit. - * PXELINUX: Fix bug in chainloading of other NBPs. + * PXELINUX: Fix multiple bugs in chainloading of other NBPs. * MEMDISK: Fix bug that would occationally cause "ran out of input data" when using compressed disk images. diff --git a/bootsect.inc b/bootsect.inc index 2fca7818..24ebab6e 100644 --- a/bootsect.inc +++ b/bootsect.inc @@ -36,7 +36,7 @@ load_bootsec: push cx %endif xchg dx,ax - shr eax,16 + shl eax,16 xchg dx,ax ; Now EAX = file length mov edi, 100000h call load_high diff --git a/pxelinux.asm b/pxelinux.asm index 3431a492..fd0d62cc 100644 --- a/pxelinux.asm +++ b/pxelinux.asm @@ -379,7 +379,9 @@ _start1: ; ; Now we need to find the !PXE structure. It's *supposed* to be pointed ; to by SS:[SP+4], but support INT 1Ah, AX=5650h method as well. -; +; FIX: ES:BX should point to the PXENV+ structure on entry as well. +; We should make that the second test, and not trash ES:BX... +; cmp dword [es:bx], '!PXE' je have_pxe |