diff options
author | Matt Fleming <matt.fleming@intel.com> | 2012-07-27 10:41:30 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2012-07-30 09:51:36 +0100 |
commit | 0d6f330878173c7ba45b884f3e41ce40b917c73c (patch) | |
tree | 0a887066d35d8b01914330d6ab6818fe015a5a9d /core/isolinux.asm | |
parent | 0fcd9a48603497dcc2727570a50a4401bb0fd085 (diff) | |
parent | f0bbf9dd40f37f8c4870a33784996efd56955a75 (diff) | |
download | syslinux-0d6f330878173c7ba45b884f3e41ce40b917c73c.tar.gz |
Merge remote-tracking branch 'mfleming/elflink' into for-hpa/elflink/firmware
Conflicts:
Makefile
com32/elflink/ldlinux/adv.c
com32/elflink/ldlinux/kernel.c
com32/elflink/ldlinux/ldlinux.c
com32/include/bitsize/stddef.h
com32/include/bitsize/stdint.h
com32/include/stdint.h
com32/include/sys/module.h
com32/include/sys/x86_64/bitops.h
com32/include/syslinux/linux.h
com32/lib/Makefile
com32/lib/sys/ansicon_write.c
com32/lib/sys/module/elfutils.h
com32/lib/sys/vesa/efi/fill.h
com32/lib/syslinux/load_linux.c
com32/lib/syslinux/serial.c
com32/lib/syslinux/shuffle.c
core/conio.c
core/elflink/config.c
core/elflink/load_env32.c
core/graphics.c
core/include/graphics.h
core/init.c
core/pxelinux.asm
mk/elf.mk
mk/lib.mk
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 |