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 IMAGE_DOS_SIGNATURE
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_DLLCHARACTERISTICS_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
189 .word 0 # NumberOfRelocations
190 .word 0 # NumberOfLineNumbers
197 .long ZO__esbat - ZO__sbat # VirtualSize
199 .long ZO__esbat - ZO__sbat # SizeOfRawData
213 .long ZO__end - ZO__data # VirtualSize
215 .long ZO__edata - ZO__data # SizeOfRawData
223 .set section_count, (. - section_table) / 40
235 .byte setup_sects - 1
236 root_flags: .word ROOT_RDONLY
238 ram_size: .word 0 /* Obsolete */
239 vid_mode: .word SVGA_MODE
240 root_dev: .word 0 /* Default to major/minor 0/0 */
241 boot_flag: .word 0xAA55
248 # tries to generate a 3-byte jump here, which causes
250 .byte 0xeb # short (2-byte) jump
251 .byte start_of_setup-1f
257 .word 0x020f # header version number (>= 0x0105)
258 # or else old loadlin-1.5 will fail)
260 realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
261 start_sys_seg: .word SYSSEG # obsolete and meaningless, but just
263 .word kernel_version-512 # pointing to kernel version string
265 # with loadlin-1.5 (header v1.5). Don't
277 setup_move_size: .word 0x8000 # size to move, when setup is not
285 # start address for 32-bit code.
289 # Here the loader puts the 32-bit
293 ramdisk_size: .long 0 # its size in bytes
298 heap_end_ptr: .word _end+STACK_SIZE-512
310 # If nonzero, a 32-bit pointer
344 # define XLF0 XLF_KERNEL_64 /* 64-bit kernel */
361 # define XLF23 XLF_EFI_HANDOVER_64 /* 64-bit EFI handover ok */
363 # define XLF23 XLF_EFI_HANDOVER_32 /* 32-bit EFI handover ok */
382 .word XLF0 | XLF1 | XLF23 | XLF4 | XLF56
384 cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
396 setup_data: .quad 0 # 64-bit physical pointer to
403 # Getting to provably safe in-place decompression is hard. Worst case
405 # a gzip-compressed kernel as example, to illustrate it:
426 # 1 block occurs every 32K -1 bytes or when there 50% compression
464 # block adding an extra 32767 bytes (the worst case uncompressed block size)
486 # the size-dependent part now grows so fast.
491 # byte fixed overhead but has a maximum block size of 128K, so it needs a
498 # define ZO_z_extract_offset (ZO_z_output_len + ZO_z_extra_bytes - \
509 #if (ZO__ehead - ZO_startup_32) > ZO_z_extract_offset
510 # define ZO_z_min_extract_offset ((ZO__ehead - ZO_startup_32 + 4095) & ~4095)
515 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_min_extract_offset)
517 #define VO_INIT_SIZE (VO__end - VO__text)
531 .long ZO_efi64_stub_entry - 0x200
533 .if ZO_efi32_stub_entry != ZO_efi64_stub_entry - 0x200
534 .error "32-bit and 64-bit EFI entry points do not match"
540 init_size: .long INIT_SIZE # kernel initialization size
561 je 2f # -> assume %sp is reasonably set
614 .size die, .-die