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 --- |