diff options
Diffstat (limited to 'core/pxelinux.asm')
-rw-r--r-- | core/pxelinux.asm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm index 185b90f1..3e2bc0a1 100644 --- a/core/pxelinux.asm +++ b/core/pxelinux.asm @@ -289,7 +289,26 @@ KernelName resb FILENAME_MAX ; Mangled name for kernel ; Hardware cleanup common code ; -%include "localboot.inc" + section .text16 + global local_boot16:function hidden +local_boot16: + mov [LocalBootType],ax + lss sp,[InitStack] + pop gs + pop fs + pop es + pop ds + popad + mov ax,[cs:LocalBootType] + cmp ax,-1 ; localboot -1 == INT 18h + je .int18 + popfd + retf ; Return to PXE +.int18: + popfd + int 18h + jmp 0F000h:0FFF0h + hlt ; ; kaboom: write a message and bail out. Wait for quite a while, |