[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