[syslinux:pathbased] pxelinux: allow "localboot -1" to do INT 18h, just like !pxelinux

syslinux-bot for H. Peter Anvin hpa at zytor.com
Sun Feb 28 15:18:12 PST 2010


Commit-ID:  e19346b4cadd51fa16975564d0b459a4cd7e0571
Gitweb:     http://syslinux.zytor.com/commit/e19346b4cadd51fa16975564d0b459a4cd7e0571
Author:     H. Peter Anvin <hpa at zytor.com>
AuthorDate: Sun, 28 Feb 2010 15:14:45 -0800
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Sun, 28 Feb 2010 15:14:45 -0800

pxelinux: allow "localboot -1" to do INT 18h, just like !pxelinux

Allow "localboot -1" to invoke INT 18h, as it does on other
derivatives.  Perhaps that can help track down systems on which the
normal return path just isn't working.

Signed-off-by: H. Peter Anvin <hpa at zytor.com>


---
 core/pxelinux.asm |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/core/pxelinux.asm b/core/pxelinux.asm
index 9df43bf..5ba3acd 100644
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -277,8 +277,6 @@ ROOT_FS_OPS:
 ; Boot to the local disk by returning the appropriate PXE magic.
 ; AX contains the appropriate return code.
 ;
-%if HAS_LOCALBOOT
-
 local_boot:
 		push cs
 		pop ds
@@ -296,10 +294,15 @@ local_boot:
 		pop ds
 		popad
 		mov ax,[cs:LocalBootType]
+		cmp ax,-1			; localboot -1 == INT 18h
+		je .int18
 		popfd
 		retf				; Return to PXE
-
-%endif
+.int18:
+		popfd
+		int 18h
+		jmp 0F000h:0FFF0h
+		hlt
 
 ;
 ; kaboom: write a message and bail out.  Wait for quite a while,



More information about the Syslinux-commits mailing list