Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/firmware/efi/libstub/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 4 kB image not shown  

Quelle  zboot-header.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0 */

#include <linux/pe.h>

#ifdef CONFIG_64BIT
 .set  .Lextra_characteristics, 0x0
 .set  .Lpe_opt_magic, IMAGE_NT_OPTIONAL_HDR64_MAGIC
#else
 .set  .Lextra_characteristics, IMAGE_FILE_32BIT_MACHINE
 .set  .Lpe_opt_magic, IMAGE_NT_OPTIONAL_HDR32_MAGIC
#endif

 .section ".head""a"
 .globl  __efistub_efi_zboot_header
__efistub_efi_zboot_header:
.Ldoshdr:
 .long  IMAGE_DOS_SIGNATURE
 .ascii  "zimg"     // image type
 .long  __efistub__gzdata_start - .Ldoshdr // payload offset
 .long  __efistub__gzdata_size - ZBOOT_SIZE_LEN // payload size
 .long  0, 0     // reserved
 .asciz  COMP_TYPE    // compression type
 .org  .Ldoshdr + 0x38
 .long  LINUX_PE_MAGIC
 .long  .Lpehdr - .Ldoshdr   // PE header offset

.Lpehdr:
 .long  IMAGE_NT_SIGNATURE
 .short  MACHINE_TYPE
 .short  .Lsection_count
 .long  0
 .long  0
 .long  0
 .short  .Lsection_table - .Loptional_header
 .short  IMAGE_FILE_DEBUG_STRIPPED | \
   IMAGE_FILE_EXECUTABLE_IMAGE | \
   IMAGE_FILE_LINE_NUMS_STRIPPED |\
   .Lextra_characteristics

.Loptional_header:
 .short  .Lpe_opt_magic
 .byte  0, 0
 .long  _etext - .Lefi_header_end
 .long  __data_size
 .long  0
 .long  __efistub_efi_zboot_entry - .Ldoshdr
 .long  .Lefi_header_end - .Ldoshdr

#ifdef CONFIG_64BIT
 .quad  0
#else
 .long  _etext - .Ldoshdr, 0x0
#endif
 .long  4096
 .long  512
 .short  0, 0
 .short  LINUX_EFISTUB_MAJOR_VERSION // MajorImageVersion
 .short  LINUX_EFISTUB_MINOR_VERSION // MinorImageVersion
 .short  0, 0
 .long  0
 .long  _end - .Ldoshdr

 .long  .Lefi_header_end - .Ldoshdr
 .long  0
 .short  IMAGE_SUBSYSTEM_EFI_APPLICATION
 .short  IMAGE_DLLCHARACTERISTICS_NX_COMPAT
#ifdef CONFIG_64BIT
 .quad  0, 0, 0, 0
#else
 .long  0, 0, 0, 0
#endif
 .long  0
 .long  (.Lsection_table - .) / 8

 .quad  0    // ExportTable
 .quad  0    // ImportTable
 .quad  0    // ResourceTable
 .quad  0    // ExceptionTable
 .quad  0    // CertificationTable
 .quad  0    // BaseRelocationTable
#if defined(PE_DLL_CHAR_EX) || defined(CONFIG_DEBUG_EFI)
 .long  .Lefi_debug_table - .Ldoshdr // DebugTable
 .long  .Lefi_debug_table_size

 .section ".rodata""a"
 .p2align 2
.Lefi_debug_table:
 // EFI_IMAGE_DEBUG_DIRECTORY_ENTRY[]
#ifdef PE_DLL_CHAR_EX
 .long  0     // Characteristics
 .long  0     // TimeDateStamp
 .short  0     // MajorVersion
 .short  0     // MinorVersion
 .long  IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS // Type
 .long  4     // SizeOfData
 .long  0     // RVA
 .long  .Lefi_dll_characteristics_ex - .Ldoshdr // FileOffset
#endif
#ifdef CONFIG_DEBUG_EFI
 .long  0     // Characteristics
 .long  0     // TimeDateStamp
 .short  0     // MajorVersion
 .short  0     // MinorVersion
 .long  IMAGE_DEBUG_TYPE_CODEVIEW  // Type
 .long  .Lefi_debug_entry_size   // SizeOfData
 .long  0     // RVA
 .long  .Lefi_debug_entry - .Ldoshdr  // FileOffset
#endif
 .set  .Lefi_debug_table_size, . - .Lefi_debug_table
 .previous
#endif

.Lsection_table:
 .ascii  ".text\0\0\0"
 .long  _etext - .Lefi_header_end
 .long  .Lefi_header_end - .Ldoshdr
 .long  _etext - .Lefi_header_end
 .long  .Lefi_header_end - .Ldoshdr

 .long  0, 0
 .short  0, 0
 .long  IMAGE_SCN_CNT_CODE | \
   IMAGE_SCN_MEM_READ | \
   IMAGE_SCN_MEM_EXECUTE

#ifdef CONFIG_EFI_SBAT
 .ascii  ".sbat\0\0\0"
 .long  __sbat_size
 .long  _sbat - .Ldoshdr
 .long  __sbat_size
 .long  _sbat - .Ldoshdr

 .long  0, 0
 .short  0, 0
 .long  IMAGE_SCN_CNT_INITIALIZED_DATA | \
   IMAGE_SCN_MEM_READ | \
   IMAGE_SCN_MEM_DISCARDABLE

 .pushsection ".sbat""a", @progbits
 .incbin CONFIG_EFI_SBAT_FILE
 .popsection
#endif

 .ascii  ".data\0\0\0"
 .long  __data_size
 .long  _data - .Ldoshdr
 .long  __data_rawsize
 .long  _data - .Ldoshdr

 .long  0, 0
 .short  0, 0
 .long  IMAGE_SCN_CNT_INITIALIZED_DATA | \
   IMAGE_SCN_MEM_READ | \
   IMAGE_SCN_MEM_WRITE

 .set  .Lsection_count, (. - .Lsection_table) / 40

#ifdef PE_DLL_CHAR_EX
.Lefi_dll_characteristics_ex:
 .long  PE_DLL_CHAR_EX
#endif
#ifdef CONFIG_DEBUG_EFI
.Lefi_debug_entry:
 // EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY
 .ascii  "NB10"    // Signature
 .long  0    // Unknown
 .long  0    // Unknown2
 .long  0    // Unknown3

 .asciz  ZBOOT_EFI_PATH

 .set  .Lefi_debug_entry_size, . - .Lefi_debug_entry
#endif

 .p2align 12
.Lefi_header_end:


Messung V0.5
C=91 H=95 G=92

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.