From e19346b4cadd51fa16975564d0b459a4cd7e0571 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Sun, 28 Feb 2010 15:14:45 -0800 Subject: [PATCH] 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 --- core/pxelinux.asm | 11 +++++++---- 1 file 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, -- 2.7.4