Lines Matching +full:word +full:- +full:size
1 /* SPDX-License-Identifier: GPL-2.0 */
28 BOOTSEG = 0x07C0 /* original address of boot-sector */
45 # "MZ", MS-DOS header
46 .word MZ_MAGIC
60 .word IMAGE_FILE_MACHINE_I386
64 .word IMAGE_FILE_MACHINE_AMD64
66 .word section_count # nr_sections
70 .word section_table - optional_header # SizeOfOptionalHeader
71 .word IMAGE_FILE_EXECUTABLE_IMAGE | \
77 .word pe_opt_magic
83 .long ZO__end - ZO__data # SizeOfInitializedData
101 .word 0 # MajorOperatingSystemVersion
102 .word 0 # MinorOperatingSystemVersion
103 .word LINUX_EFISTUB_MAJOR_VERSION # MajorImageVersion
104 .word LINUX_EFISTUB_MINOR_VERSION # MinorImageVersion
105 .word 0 # MajorSubsystemVersion
106 .word 0 # MinorSubsystemVersion
113 .word IMAGE_SUBSYSTEM_EFI_APPLICATION # Subsystem (EFI application)
114 .word IMAGE_DLL_CHARACTERISTICS_NX_COMPAT # DllCharacteristics
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
174 .byte 8 # Size
175 .word IMAGE_FILE_MACHINE_I386 # PE machine type
188 .long ZO__data # Size of initialized data
193 .word 0 # NumberOfRelocations
194 .word 0 # NumberOfLineNumbers
200 .long ZO__end - ZO__data # VirtualSize
202 .long ZO__edata - ZO__data # SizeOfRawData
210 .set section_count, (. - section_table) / 40
222 .byte setup_sects - 1
223 root_flags: .word ROOT_RDONLY
225 ram_size: .word 0 /* Obsolete */
226 vid_mode: .word SVGA_MODE
227 root_dev: .word 0 /* Default to major/minor 0/0 */
228 boot_flag: .word 0xAA55
235 # tries to generate a 3-byte jump here, which causes
237 .byte 0xeb # short (2-byte) jump
238 .byte start_of_setup-1f
244 .word 0x020f # header version number (>= 0x0105)
245 # or else old loadlin-1.5 will fail)
247 realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
248 start_sys_seg: .word SYSSEG # obsolete and meaningless, but just
250 .word kernel_version-512 # pointing to kernel version string
252 # with loadlin-1.5 (header v1.5). Don't
264 setup_move_size: .word 0x8000 # size to move, when setup is not
272 # start address for 32-bit code.
276 # Here the loader puts the 32-bit
280 ramdisk_size: .long 0 # its size in bytes
285 heap_end_ptr: .word _end+STACK_SIZE-512
297 # If nonzero, a 32-bit pointer
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 */
373 .word XLF0 | XLF1 | XLF23 | XLF4 | XLF56
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
455 # block adding an extra 32767 bytes (the worst case uncompressed block size)
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"
531 init_size: .long INIT_SIZE # kernel initialization size
552 je 2f # -> assume %sp is reasonably set
605 .size die, .-die