diff options
Diffstat (limited to 'contrib/syslinux/latest/core/init.inc')
-rw-r--r-- | contrib/syslinux/latest/core/init.inc | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/contrib/syslinux/latest/core/init.inc b/contrib/syslinux/latest/core/init.inc deleted file mode 100644 index e06ca96..0000000 --- a/contrib/syslinux/latest/core/init.inc +++ /dev/null @@ -1,133 +0,0 @@ -; -*- fundamental -*- -; ----------------------------------------------------------------------- -; -; Copyright 2004-2008 H. Peter Anvin - All Rights Reserved -; Copyright 2009 Intel Corporation; author: H. Peter Anvin -; -; This program is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation, Inc., 53 Temple Place Ste 330, -; Boston MA 02111-1307, USA; either version 2 of the License, or -; (at your option) any later version; incorporated herein by reference. -; -; ----------------------------------------------------------------------- - -; -; init.inc -; -; Common initialization code (inline) -; - - section .text16 -common_init: - ; Initialize PM invocation framework - call pm_init - - ; Decompress PM code to its target location - pm_call pm_decompress - cmp eax,__pm_code_len - jne kaboom - -; -; Initialize timer -; - call timer_init - -; -; Initialize configuration information -; - call reset_config - -; -; Set up the COMBOOT APIs -; - call comboot_setup_api - -; -; Now set up screen parameters -; - call adjust_screen - -; -; CPU-dependent initialization and related checks. -; -check_escapes: - mov ah,02h ; Check keyboard flags - int 16h - mov [KbdFlags],al ; Save for boot prompt check - test al,04h ; Ctrl->skip 386 check - jnz skip_checks - -; -; Now check that there is sufficient low (DOS) memory -; -; NOTE: Linux doesn't use all of real_mode_seg, but we use the same -; segment for COMBOOT images, which can use all 64K -; - int 12h - mov edx,__lowmem_heap + min_lowmem_heap + 1023 - shr edx,10 - cmp ax,dx - jae enough_ram - mov ax,dx - mov si,err_noram - mov cl,10 - div cl - add [si+err_noram.size-err_noram+2],ah - cbw - div cl - add [si+err_noram.size-err_noram],ax - call writestr_early - jmp kaboom -enough_ram: -skip_checks: - - section .data16 -err_noram db 'It appears your computer has less than ' -.size db '000' - db 'K of low ("DOS")' - db CR, LF - db 'RAM. Syslinux needs at least this amount to boot. If you get' - db CR, LF - db 'this message in error, hold down the Ctrl key while' - db CR, LF - db 'booting, and I will take your word for it.', CR, LF, 0 - - section .text16 -; -; The code to decompress the PM code and initialize other segments. -; - extern _lzo1x_decompress_asm_fast - - section .textnr - bits 32 -pm_decompress: - push 0 ; Space for decompressed size - push esp ; Pointer to previous word - push __pm_code_start ; Target address - push dword [lzo_data_size] ; Compressed size - push dword __pm_code_lma - call _lzo1x_decompress_asm_fast - add esp,16 - pop RM_EAX ; Decompressed size - - ; Zero bss sections (but not .earlybss, since it may - ; contain already-live data.) - xor eax,eax - mov edi,__bss_start - mov ecx,__bss_dwords - rep stosd - mov edi,__bss16_start - mov ecx,__bss16_dwords - rep stosd - mov edi,__high_clear_start ; .uibss, .auxseg, .lowmem - mov ecx,__high_clear_dwords - rep stosd - - ret - - section .data16 -lzo_data_size dd 0 ; filled in by compressor - - section .text16 - bits 16 |