root/core/localboot.inc

Revision 33cef16bfdef4576be2b538506b4f8a61bf9c0a2, 1.7 KB (checked in by H. Peter Anvin <hpa@…>, 17 months ago)

core: remove HAS_LOCALBOOT

HAS_LOCALBOOT is set unconditionally in config.inc.

Signed-off-by: Sebastian Herbszt <herbszt@…>
Signed-off-by: H. Peter Anvin <hpa@…>

  • Property mode set to 100644
Line 
1; -----------------------------------------------------------------------
2;
3;   Copyright 1999-2008 H. Peter Anvin - All Rights Reserved
4;
5;   This program is free software; you can redistribute it and/or modify
6;   it under the terms of the GNU General Public License as published by
7;   the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
8;   Boston MA 02110-1301, USA; either version 2 of the License, or
9;   (at your option) any later version; incorporated herein by reference.
10;
11; -----------------------------------------------------------------------
12
13;
14; localboot.inc
15;
16; Boot from a local disk, or invoke INT 18h.
17;
18
19;
20; Boot a specified local disk.  AX specifies the BIOS disk number; or
21; -1 in case we should execute INT 18h ("next device.")
22;
23                section .text16
24
25local_boot:
26                call vgaclearmode
27                RESET_STACK_AND_SEGS dx         ; dx <- 0
28                mov fs,dx
29                mov gs,dx
30                mov si,localboot_msg
31                call writestr
32                call cleanup_hardware
33                cmp ax,-1
34                je .int18
35
36                ; Load boot sector from the specified BIOS device and jump to it.
37                mov dl,al
38                xor dh,dh
39                push dx
40                xor ax,ax                       ; Reset drive
41                int 13h
42                mov ax,0201h                    ; Read one sector
43                mov cx,0001h                    ; C/H/S = 0/0/1 (first sector)
44                mov bx,trackbuf
45                mov bp,retry_count
46.again:
47                pusha
48                int 13h
49                popa
50                jnc .ok
51                dec bp
52                jnz .again
53                jmp kaboom                      ; Failure...
54.ok:
55                pop dx
56                cli                             ; Abandon hope, ye who enter here
57                mov si,trackbuf
58                mov di,07C00h
59                mov cx,512                      ; Probably overkill, but should be safe
60                rep movsd
61                mov ss,cx                       ; SS <- 0
62                mov sp,7C00h
63                jmp 0:07C00h                    ; Jump to new boot sector
64
65.int18:
66                int 18h                         ; Hope this does the right thing...
67                jmp kaboom                      ; If we returned, oh boy...
68
69                section .data16
70localboot_msg   db 'Booting from local disk...', CR, LF, 0
71
72                section .text16
73
Note: See TracBrowser for help on using the browser.