diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-11-14 20:51:23 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-11-14 20:51:23 -0800 |
commit | 2c2fed8305e2cf52c27d8a5c1fd5b5982f541711 (patch) | |
tree | ed39fedc95bdb7f26b748ed1d1d7943465de4665 /comboot.inc | |
parent | d2520f1b46d08fe2879a93c81973df67834fea17 (diff) | |
download | syslinux-2c2fed8305e2cf52c27d8a5c1fd5b5982f541711.tar.gz |
Preserve ES:DI instead of probing for $PnPsyslinux-3.53-pre5
The $PnP probe has been found to lock up at least one machine for
reasons unknown. Drop it; instead, burn the extra few bytes in the
bootsector to save away ES:DI for later restore.
Diffstat (limited to 'comboot.inc')
-rw-r--r-- | comboot.inc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/comboot.inc b/comboot.inc index 33414bc4..2c1c8826 100644 --- a/comboot.inc +++ b/comboot.inc @@ -460,13 +460,7 @@ comapi_pxecall equ comapi_err ; Not available ; comapi_derinfo: mov P_AL,my_id -%if IS_SYSLINUX || IS_MDSLINUX || IS_EXTLINUX - mov al,[DriveNumber] - mov P_DL,al - mov P_ES,cs - mov P_BX,PartInfo - mov P_CL,SECTOR_SHIFT -%elif IS_PXELINUX +%if IS_PXELINUX mov ax,[APIVer] mov P_DX,ax mov ax,[StrucPtr] @@ -477,12 +471,21 @@ comapi_derinfo: mov P_SI,ax mov ax,[InitStack+2] mov P_FS,ax -%elif IS_ISOLINUX +%else + ; Physical medium... + + mov P_CL,SECTOR_SHIFT mov al,[DriveNumber] mov P_DL,al + mov P_FS,cs + mov P_SI,OrigESDI +%if IS_SYSLINUX || IS_MDSLINUX || IS_EXTLINUX + mov P_ES,cs + mov P_BX,PartInfo +%elif IS_ISOLINUX mov P_ES,cs mov P_BX,spec_packet - mov P_CL,SECTOR_SHIFT +%endif %endif clc ret |