1 ; -----------------------------------------------------------------------
3 ; Copyright 2005-2009 H. Peter Anvin - All Rights Reserved
4 ; Copyright 2009 Intel Corporation; author: H. Peter Anvin
6 ; This program is free software; you can redistribute it and/or modify
7 ; it under the terms of the GNU General Public License as published by
8 ; the Free Software Foundation, Inc., 53 Temple Place Ste 330,
9 ; Boston MA 02111-1307, USA; either version 2 of the License, or
10 ; (at your option) any later version; incorporated herein by reference.
12 ; -----------------------------------------------------------------------
17 ; Code to terminate a kernel load
23 ; dot_pause: same as abort_check, except prints a dot, too
34 ; abort_check: let the user abort with <ESC> or <Ctrl-C>
37 call reset_idle ; Not idle despite pollchar
49 .kill: mov si,aborted_msg
54 ; abort_load: Called by various routines which wants to print a fatal
55 ; error message and return to the command prompt. Since this
56 ; may happen at just about any stage of the boot process, assume
57 ; our state is messed up, and just reset the segment registers
58 ; and the stack forcibly.
60 ; SI = offset (in _text) of error message to print
61 ; BX = future entry point (abort_load_chain)
64 mov bx,error_or_command
66 RESET_STACK_AND_SEGS AX
67 call writestr ; Expects SI -> error msg
69 ; Return to the command prompt
73 ; error_or_command: Execute ONERROR if appropriate, otherwise enter_command
82 aborted_msg db ' aborted.', CR, LF, 0