diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-06-14 16:21:10 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-06-14 16:21:10 -0700 |
commit | 6bb2cbbf970aec9cb480de6e0df4918ffc766c0b (patch) | |
tree | 097c02fdaeec9f15f9dd84a44a5a5d72fe0f9b06 | |
parent | 21e8f68b76dda9fa4dd8a70fcfe1d574cad37cc5 (diff) | |
parent | fdc246e2f9df9db4eb141a58e20a7272598345b4 (diff) | |
download | syslinux.git-6bb2cbbf970aec9cb480de6e0df4918ffc766c0b.tar.gz syslinux.git-6bb2cbbf970aec9cb480de6e0df4918ffc766c0b.tar.xz syslinux.git-6bb2cbbf970aec9cb480de6e0df4918ffc766c0b.zip |
Merge branch 'syslinux-3.8x'
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | core/bootsect.inc | 21 | ||||
-rw-r--r-- | version | 2 |
3 files changed, 25 insertions, 4 deletions
@@ -2,6 +2,12 @@ Starting with 1.47, changes marked with SYSLINUX, PXELINUX, ISOLINUX or EXTLINUX apply to that specific program only; other changes apply to all derivatives. +Changes in 3.83: + * PXELINUX: clear memory before handing over to a chainloaded + NBP. This may help avoid a bug in Windows RIS. + * PXELINUX: fix localboot after NBP chainloading on certain + BIOSes (including ASUS A8N-E, but possibly others.) + Changes in 3.82: * isohybrid: fix the -partok logic for loading from a partition. * ISOLINUX: deal with systems which return from INT 13h with diff --git a/core/bootsect.inc b/core/bootsect.inc index b107eb5c..200f00ad 100644 --- a/core/bootsect.inc +++ b/core/bootsect.inc @@ -74,21 +74,36 @@ load_bootsec: xor ax,ax rep movsw pop si ; DS:SI points to partition info + xor bx,bx %elif IS_ISOLINUX mov dl,[DriveNumber] + xor bx,bx %elif IS_PXELINUX mov byte [KeepPXE],03h ; Chainloading + keep PXE call reset_pxe + lfs si,[InitStack] + ; Put restore DS, EDX and ESI to the true initial values + mov bx,[fs:si+6] + mov edx,[fs:si+28] + mov esi,[fs:si+12] %endif - xor bx,bx ; ; replace_bootstrap for the special case where we have exactly one -; descriptor. +; descriptor, based in low memory. We will generate a second descriptor +; to clear remaining FBM. ; replace_bootstrap_one: - push word 1 ; Length of descriptor list + mov eax,[trackbuf] ; Base address + add eax,[trackbuf+8] ; Length + movzx ecx,word [BIOS_fbm] + shl ecx,10 ; Free Base Memory + sub ecx,eax + mov [trackbuf+12],eax + or dword [trackbuf+16],-1 ; Zero memory + mov [trackbuf+20],ecx + push word 2 ; Length of descriptor list ; Fall through ; @@ -1 +1 @@ -3.82 2009 +3.83 2009 |