source: bootcd/isolinux/syslinux-6.03/core/kernel.inc @ dd1be7c

Last change on this file since dd1be7c was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 3.5 KB
Line 
1;; -----------------------------------------------------------------------
2;;
3;;   Copyright 1994-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., 53 Temple Place Ste 330,
8;;   Boston MA 02111-1307, USA; either version 2 of the License, or
9;;   (at your option) any later version; incorporated herein by reference.
10;;
11;; -----------------------------------------------------------------------
12
13;;
14;; kernel.inc
15;;
16;; Header file for the kernel interface definitions
17;;
18
19%ifndef _KERNEL_INC
20%define _KERNEL_INC
21
22;;
23;; Structure of the real_mode_seg
24;;
25
26                struc real_mode_seg_t
27                resb 20h-($-$$)         ; org 20h
28kern_cmd_magic  resw 1                  ; 0020 Magic # for command line
29kern_cmd_offset resw 1                  ; 0022 Offset for kernel command line
30                resb 497-($-$$)         ; org 497d
31bs_setupsecs    resb 1                  ; 01F1 Sectors for setup code (0 -> 4)
32bs_rootflags    resw 1                  ; 01F2 Root readonly flag
33bs_syssize      resw 1                  ; 01F4
34bs_swapdev      resw 1                  ; 01F6 Swap device (obsolete)
35bs_ramsize      resw 1                  ; 01F8 Ramdisk flags, formerly ramdisk size
36bs_vidmode      resw 1                  ; 01FA Video mode
37bs_rootdev      resw 1                  ; 01FC Root device
38bs_bootsign     resw 1                  ; 01FE Boot sector signature (0AA55h)
39su_jump         resb 1                  ; 0200 0EBh
40su_jump2        resb 1                  ; 0201 Size of following header
41su_header       resd 1                  ; 0202 New setup code: header
42su_version      resw 1                  ; 0206 See linux/arch/i386/boot/setup.S
43su_switch       resw 1                  ; 0208
44su_setupseg     resw 1                  ; 020A
45su_startsys     resw 1                  ; 020C
46su_kver         resw 1                  ; 020E Kernel version pointer
47su_loader       resb 1                  ; 0210 Loader ID
48su_loadflags    resb 1                  ; 0211 Load high flag
49su_movesize     resw 1                  ; 0212
50su_code32start  resd 1                  ; 0214 Start of code loaded high
51su_ramdiskat    resd 1                  ; 0218 Start of initial ramdisk
52su_ramdisklen   resd 1                  ; 021C Length of initial ramdisk
53su_bsklugeoffs  resw 1                  ; 0220
54su_bsklugeseg   resw 1                  ; 0222
55su_heapend      resw 1                  ; 0224
56su_pad1         resw 1                  ; 0226
57su_cmd_line_ptr resd 1                  ; 0228
58su_ramdisk_max  resd 1                  ; 022C
59                resb (0f800h-12)-($-$$)
60linux_stack     equ $                   ; F7F4
61linux_fdctab    resb 12
62cmd_line_here   equ $                   ; F800 Should be out of the way
63                endstruc
64
65;
66; Old kernel command line signature
67;
68CMD_MAGIC       equ 0A33Fh              ; Command line magic
69
70;
71; If we're loading the command line old-style, we need a smaller
72; heap.
73;
74old_cmd_line_here equ 9800h
75old_max_cmd_len   equ 2047
76old_linux_fdctab  equ old_cmd_line_here-12
77old_linux_stack   equ old_linux_fdctab
78
79;
80; Magic number of su_header field
81;
82HEADER_ID       equ 'HdrS'              ; HdrS (in littleendian hex)
83
84;
85; Flags for the su_loadflags field
86;
87LOAD_HIGH       equ 01h                 ; Large kernel, load high
88QUIET_FLAG      equ 20h                 ; Quiet the kernel
89KEEP_SEGMENTS   equ 40h                 ; Don't reload segments
90CAN_USE_HEAP    equ 80h                 ; Boot loader reports heap size
91
92;
93; ID codes for various modules
94;
95syslinux_id     equ 031h                ; 3 = SYSLINUX family; 1 = SYSLINUX
96pxelinux_id     equ 032h                ; 3 = SYSLINUX family; 2 = PXELINUX
97isolinux_id     equ 033h                ; 3 = SYSLINUX family; 3 = ISOLINUX
98extlinux_id     equ 034h                ; 3 = SYSLINUX family; 4 = EXTLINUX
99
100;
101; Types of vkernels
102;
103VK_LOCALBOOT    equ -1                  ; localboot (no actual kernel loaded)
104VK_KERNEL       equ 0                   ; Choose by filename
105VK_LINUX        equ 1                   ; Linux kernel image
106VK_BOOT         equ 2                   ; Boot sector
107VK_BSS          equ 3                   ; BSS boot sector
108VK_PXE          equ 4                   ; PXE NBP
109VK_FDIMAGE      equ 5                   ; Floppy disk image
110VK_COMBOOT      equ 6                   ; COMBOOT image
111VK_COM32        equ 7                   ; COM32 image
112VK_CONFIG       equ 8                   ; Configuration file
113VK_TYPES        equ 9                   ; Number of VK types
114
115%endif ; _KERNEL_INC
Note: See TracBrowser for help on using the repository browser.