1 ================================= 2 Boot image header in RISC-V Linux 3 ================================= 4 5 :Author: Atish Patra <atish.patra@wdc.com> 6 :Date: 20 May 2019 7 8 This document only describes the boot image he 9 10 The following 64-byte header is present in dec 11 12 u32 code0; /* Executabl 13 u32 code1; /* Executabl 14 u64 text_offset; /* Image loa 15 u64 image_size; /* Effective 16 u64 flags; /* kernel fl 17 u32 version; /* Version o 18 u32 res1 = 0; /* Reserved 19 u64 res2 = 0; /* Reserved 20 u64 magic = 0x5643534952; /* Magic num 21 u32 magic2 = 0x05435352; /* Magic num 22 u32 res3; /* Reserved 23 24 This header format is compliant with PE/COFF h 25 ARM64 header. Thus, both ARM64 & RISC-V header 26 header in future. 27 28 Notes 29 ===== 30 31 - This header is also reused to support EFI st 32 needs PE/COFF image header in the beginning 33 load it as an EFI application. In order to s 34 with "MZ" magic string and res3(at offset 0x 35 PE/COFF header. 36 37 - version field indicate header version number 38 39 ========== ============= 40 Bits 0:15 Minor version 41 Bits 16:31 Major version 42 ========== ============= 43 44 This preserves compatibility across newer an 45 The current version is defined as 0.2. 46 47 - The "magic" field is deprecated as of versio 48 release, it may be removed. This originally 49 with the ARM64 header "magic" field, but unf 50 The "magic2" field replaces it, matching up 51 52 - In current header, the flags field has only 53 54 ===== =============================== 55 Bit 0 Kernel endianness. 1 if BE, 0 i 56 ===== =============================== 57 58 - Image size is mandatory for boot loader to l 59 fail otherwise.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.