header.S (77d1a4999502c260df0eb2de437d320bf8c64b36) header.S (37ba7ab5e33cebc25c68fffe33e9f21e7c2014e8)
1/*
2 * header.S
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 *
6 * Based on bootsect.S and setup.S
7 * modified by more people than can be counted
8 *

--- 102 unchanged lines hidden (view full) ---

111 # everything else to push off to the wrong offset.
112 .byte 0xeb # short (2-byte) jump
113 .byte start_of_setup-1f
1141:
115
116 # Part 2 of the header, from the old setup.S
117
118 .ascii "HdrS" # header signature
1/*
2 * header.S
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 *
6 * Based on bootsect.S and setup.S
7 * modified by more people than can be counted
8 *

--- 102 unchanged lines hidden (view full) ---

111 # everything else to push off to the wrong offset.
112 .byte 0xeb # short (2-byte) jump
113 .byte start_of_setup-1f
1141:
115
116 # Part 2 of the header, from the old setup.S
117
118 .ascii "HdrS" # header signature
119 .word 0x0209 # header version number (>= 0x0105)
119 .word 0x020a # header version number (>= 0x0105)
120 # or else old loadlin-1.5 will fail)
121 .globl realmode_swtch
122realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
123start_sys_seg: .word SYSSEG # obsolete and meaningless, but just
124 # in case something decided to "use" it
125 .word kernel_version-512 # pointing to kernel version string
126 # above section of header is compatible
127 # with loadlin-1.5 (header v1.5). Don't

--- 68 unchanged lines hidden (view full) ---

196kernel_alignment: .long CONFIG_PHYSICAL_ALIGN #physical addr alignment
197 #required for protected mode
198 #kernel
199#ifdef CONFIG_RELOCATABLE
200relocatable_kernel: .byte 1
201#else
202relocatable_kernel: .byte 0
203#endif
120 # or else old loadlin-1.5 will fail)
121 .globl realmode_swtch
122realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
123start_sys_seg: .word SYSSEG # obsolete and meaningless, but just
124 # in case something decided to "use" it
125 .word kernel_version-512 # pointing to kernel version string
126 # above section of header is compatible
127 # with loadlin-1.5 (header v1.5). Don't

--- 68 unchanged lines hidden (view full) ---

196kernel_alignment: .long CONFIG_PHYSICAL_ALIGN #physical addr alignment
197 #required for protected mode
198 #kernel
199#ifdef CONFIG_RELOCATABLE
200relocatable_kernel: .byte 1
201#else
202relocatable_kernel: .byte 0
203#endif
204pad2: .byte 0
204min_alignment: .byte MIN_KERNEL_ALIGN_LG2 # minimum alignment
205pad3: .word 0
206
207cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
208 #added with boot protocol
209 #version 2.06
210
211hardware_subarch: .long 0 # subarchitecture, added with 2.07
212 # default to 0 for normal x86 PC
213
214hardware_subarch_data: .quad 0
215
216payload_offset: .long ZO_input_data
217payload_length: .long ZO_z_input_len
218
219setup_data: .quad 0 # 64-bit physical pointer to
220 # single linked list of
221 # struct setup_data
222
205pad3: .word 0
206
207cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
208 #added with boot protocol
209 #version 2.06
210
211hardware_subarch: .long 0 # subarchitecture, added with 2.07
212 # default to 0 for normal x86 PC
213
214hardware_subarch_data: .quad 0
215
216payload_offset: .long ZO_input_data
217payload_length: .long ZO_z_input_len
218
219setup_data: .quad 0 # 64-bit physical pointer to
220 # single linked list of
221 # struct setup_data
222
223pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
224
225#define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_extract_offset)
226#define VO_INIT_SIZE (VO__end - VO__text)
227#if ZO_INIT_SIZE > VO_INIT_SIZE
228#define INIT_SIZE ZO_INIT_SIZE
229#else
230#define INIT_SIZE VO_INIT_SIZE
231#endif
232init_size: .long INIT_SIZE # kernel initialization size
233
223# End of setup header #####################################################
224
225 .section ".inittext", "ax"
226start_of_setup:
227#ifdef SAFE_RESET_DISK_CONTROLLER
228# Reset the disk controller.
229 movw $0x0000, %ax # Reset disk controller
230 movb $0x80, %dl # All disks

--- 75 unchanged lines hidden ---
234# End of setup header #####################################################
235
236 .section ".inittext", "ax"
237start_of_setup:
238#ifdef SAFE_RESET_DISK_CONTROLLER
239# Reset the disk controller.
240 movw $0x0000, %ax # Reset disk controller
241 movb $0x80, %dl # All disks

--- 75 unchanged lines hidden ---