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@zytor.com>
; 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
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,