From 0264d03fc1ac26b65ee4c28b136d88794cb88214 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 8 Feb 2007 09:58:09 -0800 Subject: PXELINUX: ES:BX -> PXENV+, so we can't have ES:DI -> $PnP. This broke chainbooting FreeBSD at least. --- bootsect.inc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bootsect.inc') diff --git a/bootsect.inc b/bootsect.inc index d52aefba..66e1886a 100644 --- a/bootsect.inc +++ b/bootsect.inc @@ -136,6 +136,11 @@ replace_bootstrap: mov [es:di+12],esi ; New ESI mov [es:di+6],bx ; New DS +%ifndef IS_PXELINUX + ; DON'T DO THIS FOR PXELINUX... + ; For PXE, ES:BX -> PXENV+, and this would corrupt + ; that use. + ; Hunt for $PnP header if one exists mov ax,0F000h mov fs,ax @@ -163,6 +168,7 @@ replace_bootstrap: ; Found a valid $PnP header, point ES:DI to it mov [es:di+8], bx ; New DI mov [es:di+4], fs ; New ES +%endif .donepnp: pop ax ; Copy list count -- cgit v1.2.1