diff options
Diffstat (limited to 'core/isolinux.asm')
-rw-r--r-- | core/isolinux.asm | 60 |
1 files changed, 55 insertions, 5 deletions
diff --git a/core/isolinux.asm b/core/isolinux.asm index cb64d8ab..06291f8b 100644 --- a/core/isolinux.asm +++ b/core/isolinux.asm @@ -167,6 +167,7 @@ _spec_len equ _spec_end - _spec_start ;; CD-ROM sector (2K) of the file, so the number one priority is actually ;; loading the rest. ;; + global StackBuf StackBuf equ STACK_TOP-44 ; 44 bytes needed for ; the bootsector chainloading ; code! @@ -521,7 +522,7 @@ award_string db 0b8h,1,2,0bbh,0,7ch,0b9h,6,0,0bah,80h,1,09ch,09ah ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; award_hack: mov si,spec_err_msg ; Moved to this place from - call writemsg ; spec_query_faild + call writemsg ; spec_query_failed ; %ifdef DEBUG_MESSAGES ; ; @@ -1035,7 +1036,7 @@ xint13: mov byte [RetryCount],retry_count disk_error: kaboom: RESET_STACK_AND_SEGS AX - mov si,err_bootfailed + mov si,bailmsg pm_call pm_writestr pm_call pm_getchar cli @@ -1168,6 +1169,10 @@ init_fs: mov di,[bsSecPerTrack] pm_call pm_fs_init pm_call load_env32 +enter_command: +auto_boot: + jmp kaboom ; load_env32() should never return. If + ; it does, then kaboom! popad section .rodata @@ -1195,11 +1200,56 @@ debug_tracer: pushad ret %endif ; DEBUG_TRACERS + section .bss16 + global CmdOptPtr, KbdMap + alignb 4 +ThisKbdTo resd 1 ; Temporary holder for KbdTimeout +ThisTotalTo resd 1 ; Temporary holder for TotalTimeout +KernelExtPtr resw 1 ; During search, final null pointer +CmdOptPtr resw 1 ; Pointer to first option on cmd line +KbdFlags resb 1 ; Check for keyboard escapes +FuncFlag resb 1 ; Escape sequences received from keyboard +KernelType resb 1 ; Kernel type, from vkernel, if known +KbdMap resb 256 ; Keyboard map + global KernelName +KernelName resb FILENAME_MAX ; Mangled name for kernel + section .config + global PXERetry +PXERetry dw 0 ; Extra PXE retries + section .data16 + global SerialNotice +SerialNotice db 1 ; Only print this once + global IPAppends, numIPAppends +%if IS_PXELINUX + extern IPOption + alignz 2 +IPAppends dw IPOption +numIPAppends equ ($-IPAppends)/2 +%else +IPAppends equ 0 +numIPAppends equ 0 +%endif + + section .text16 +; +; COMBOOT-loading code +; +%include "comboot.inc" +%include "com32.inc" + +; +; Boot sector loading code +; + ; -; Now we have the config file open. Parse the config file and -; run the user interface. +; Abort loading code ; -%include "ui.inc" + +; +; Hardware cleanup common code +; + +%include "localboot.inc" ; ----------------------------------------------------------------------------- ; Common modules |