2 ;; -----------------------------------------------------------------------
4 ;; Copyright 1994-2002 H. Peter Anvin - All Rights Reserved
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 ;; Header file for the kernel interface definitions
24 ;; Structure of the real_mode_seg
28 resb 20h-($-$$) ; org 20h
29 kern_cmd_magic resw 1 ; 0020 Magic # for command line
30 kern_cmd_offset resw 1 ; 0022 Offset for kernel command line
31 resb 497-($-$$) ; org 497d
32 bs_setupsecs resb 1 ; 01F1 Sectors for setup code (0 -> 4)
33 bs_rootflags resw 1 ; 01F2 Root readonly flag
34 bs_syssize resw 1 ; 01F4
35 bs_swapdev resw 1 ; 01F6 Swap device (obsolete)
36 bs_ramsize resw 1 ; 01F8 Ramdisk flags, formerly ramdisk size
37 bs_vidmode resw 1 ; 01FA Video mode
38 bs_rootdev resw 1 ; 01FC Root device
39 bs_bootsign resw 1 ; 01FE Boot sector signature (0AA55h)
40 su_jump resb 1 ; 0200 0EBh
41 su_jump2 resb 1 ; 0201 Size of following header
42 su_header resd 1 ; 0202 New setup code: header
43 su_version resw 1 ; 0206 See linux/arch/i386/boot/setup.S
44 su_switch resw 1 ; 0208
45 su_setupseg resw 1 ; 020A
46 su_startsys resw 1 ; 020C
47 su_kver resw 1 ; 020E Kernel version pointer
48 su_loader resb 1 ; 0210 Loader ID
49 su_loadflags resb 1 ; 0211 Load high flag
50 su_movesize resw 1 ; 0212
51 su_code32start resd 1 ; 0214 Start of code loaded high
52 su_ramdiskat resd 1 ; 0218 Start of initial ramdisk
53 su_ramdisklen equ $ ; Length of initial ramdisk
54 su_ramdisklen1 resw 1 ; 021C
55 su_ramdisklen2 resw 1 ; 021E
56 su_bsklugeoffs resw 1 ; 0220
57 su_bsklugeseg resw 1 ; 0222
58 su_heapend resw 1 ; 0224
60 su_cmd_line_ptr resd 1 ; 0228
61 su_ramdisk_max resd 1 ; 022C
62 resb (9000h-12)-($-$$) ; Were bootsect.S puts it...
63 linux_stack equ $ ; 8FF4
66 cmd_line_here equ $ ; 9000 Should be out of the way
70 ; Kernel command line signature
72 CMD_MAGIC equ 0A33Fh ; Command line magic
75 ; Magic number of su_header field
77 HEADER_ID equ 'HdrS' ; HdrS (in littleendian hex)
80 ; Flags for the su_loadflags field
82 LOAD_HIGH equ 01h ; Large kernel, load high
83 CAN_USE_HEAP equ 80h ; Boot loader reports heap size
86 ; ID codes for various modules
88 syslinux_id equ 031h ; 3 = SYSLINUX family; 1 = SYSLINUX
89 pxelinux_id equ 032h ; 3 = SYSLINUX family; 2 = PXELINUX
90 isolinux_id equ 033h ; 3 = SYSLINUX family; 3 = ISOLINUX
91 extlinux_id equ 034h ; 3 = SYSLINUX family; 4 = EXTLINUX