Lines Matching +full:fixed +full:- +full:header
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * header.S
28 BOOTSEG = 0x07C0 /* original address of boot-sector */
45 # "MZ", MS-DOS header
49 # Offset to the PE header.
70 .word section_table - optional_header # SizeOfOptionalHeader
83 .long ZO__end - ZO__data # SizeOfInitializedData
127 .long (section_table - .) / 8 # NumberOfRvaAndSizes
141 .long pecompat_fstart - salign # VirtualSize
143 .long pecompat_fstart - salign # SizeOfRawData
165 * Put the IA-32 machine type and the associated entry point address in
200 .long ZO__end - ZO__data # VirtualSize
202 .long ZO__edata - ZO__data # SizeOfRawData
210 .set section_count, (. - section_table) / 40
214 # header, from the old boot sector.
216 .section ".header", "a"
222 .byte setup_sects - 1
235 # tries to generate a 3-byte jump here, which causes
237 .byte 0xeb # short (2-byte) jump
238 .byte start_of_setup-1f
241 # Part 2 of the header, from the old setup.S
243 .ascii "HdrS" # header signature
244 .word 0x020f # header version number (>= 0x0105)
245 # or else old loadlin-1.5 will fail)
250 .word kernel_version-512 # pointing to kernel version string
251 # above section of header is compatible
252 # with loadlin-1.5 (header v1.5). Don't
272 # start address for 32-bit code.
276 # Here the loader puts the 32-bit
285 heap_end_ptr: .word _end+STACK_SIZE-512
286 # (Header version 0x0201 or later)
296 cmd_line_ptr: .long 0 # (Header version 0x0202 or later)
297 # If nonzero, a 32-bit pointer
312 # (Header version 0x0203 or later)
331 # define XLF0 XLF_KERNEL_64 /* 64-bit kernel */
348 # define XLF23 XLF_EFI_HANDOVER_64 /* 64-bit EFI handover ok */
350 # define XLF23 XLF_EFI_HANDOVER_32 /* 32-bit EFI handover ok */
375 cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
387 setup_data: .quad 0 # 64-bit physical pointer to
394 # Getting to provably safe in-place decompression is hard. Worst case
396 # a gzip-compressed kernel as example, to illustrate it:
417 # 1 block occurs every 32K -1 bytes or when there 50% compression
423 # fixed:
424 # magic fixed tree.
477 # the size-dependent part now grows so fast.
482 # byte fixed overhead but has a maximum block size of 128K, so it needs a
489 # define ZO_z_extract_offset (ZO_z_output_len + ZO_z_extra_bytes - \
500 #if (ZO__ehead - ZO_startup_32) > ZO_z_extract_offset
501 # define ZO_z_min_extract_offset ((ZO__ehead - ZO_startup_32 + 4095) & ~4095)
506 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_min_extract_offset)
508 #define VO_INIT_SIZE (VO__end - VO__text)
522 .long ZO_efi64_stub_entry - 0x200
524 .if ZO_efi32_stub_entry != ZO_efi64_stub_entry - 0x200
525 .error "32-bit and 64-bit EFI entry points do not match"
535 # End of setup header #####################################################
552 je 2f # -> assume %sp is reasonably set
605 .size die, .-die