diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | core/bootsect.inc | 13 | ||||
-rw-r--r-- | version | 2 |
3 files changed, 16 insertions, 3 deletions
@@ -2,6 +2,10 @@ 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. + 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..3ea36bf5 100644 --- a/core/bootsect.inc +++ b/core/bootsect.inc @@ -84,11 +84,20 @@ load_bootsec: ; ; 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 edx,word [BIOS_fbm] + shl edx,10 ; Free Base Memory + sub edx,eax + mov [trackbuf+12],eax + or dword [trackbuf+16],-1 ; Zero memory + mov [trackbuf+20],edx + push word 2 ; Length of descriptor list ; Fall through ; @@ -1 +1 @@ -3.82 2009 +3.83 2009 |