diff options
author | Sebastien Boeuf <sebastien.boeuf@intel.com> | 2022-03-02 21:31:32 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-03-04 02:41:57 +0000 |
commit | 0015a4e0a80f6eaa0044c13ecff3f312c186050b (patch) | |
tree | d4c3cfcd66811066b87bdbc59d86505e24bc9e41 | |
parent | 0a707eb2587c1b027ad95c17ee3fe65b0c9e450e (diff) | |
download | edk2-0015a4e0a80f6eaa0044c13ecff3f312c186050b.tar.gz edk2-0015a4e0a80f6eaa0044c13ecff3f312c186050b.tar.bz2 edk2-0015a4e0a80f6eaa0044c13ecff3f312c186050b.zip |
OvmfPkg: Xen: Generate fdf include file from ELF header generator
Updating the fdf include file based on the run of the ELF header
generator. The diff from this patch is the result of:
$ gcc -o elf_gen OvmfPkg/OvmfXenElfHeaderGenerator.c
$ ./elf_gen 2097152 OvmfPkg/XenElfHeader.fdf.inc
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
-rw-r--r-- | OvmfPkg/XenElfHeader.fdf.inc | 60 |
1 files changed, 19 insertions, 41 deletions
diff --git a/OvmfPkg/XenElfHeader.fdf.inc b/OvmfPkg/XenElfHeader.fdf.inc index dbc1305d25..c4f04ad28b 100644 --- a/OvmfPkg/XenElfHeader.fdf.inc +++ b/OvmfPkg/XenElfHeader.fdf.inc @@ -8,57 +8,35 @@ ##
DATA = {
- #
- # This hex array have been generated by OvmfPkg/OvmfXenElfHeaderGenerator.c
- # and copied manually.
- #
# ELF file header
- 0x7f, 0x45, 0x4c, 0x46, # e_ident[0..3]: Magic number
- 0x01, # File class: 32-bit objects
- 0x01, # Data encoding: 2's complement, little endian
- 0x01, # File version
- 0x03, # OS ABI identification: Object uses GNU ELF extensions
- 0x00, # ABI version
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # e_ident[EI_PAD...]
- 0x02, 0x00, # e_type = Executable file
- 0x03, 0x00, # e_machine = Intel 80386
- 0x01, 0x00, 0x00, 0x00, # e_version
- 0xd0, 0xff, 0x2f, 0x00, # e_entry: Entry point virtual address
- 0x34, 0x00, 0x00, 0x00, # e_phoff: Program header table file offset
- 0x00, 0x00, 0x00, 0x00, # e_shoff: Section header table file offset
- 0x00, 0x00, 0x00, 0x00, # e_flags: Processor-specific flags
- 0x34, 0x00, # e_ehsize: ELF header size
- 0x20, 0x00, # e_phentsize: Program header table entry size
- 0x02, 0x00, # e_phnum: Program header table entry count
- 0x00, 0x00, # e_shentsize: Section header table entry size
- 0x00, 0x00, # e_shnum: Section header table entry count
- 0x00, 0x00, # e_shstrndx
+ 0x7f, 0x45, 0x4c, 0x46, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0xd0, 0xff, 0x2f, 0x00, # hdr.e_entry
+ 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
# ELF Program segment headers
# - Load segment
- 0x01, 0x00, 0x00, 0x00, # p_type = Loadable program segment
- 0x00, 0x00, 0x00, 0x00, # p_offset
- 0x00, 0x00, 0x10, 0x00, # p_vaddr: Segment virtual address
- 0x00, 0x00, 0x10, 0x00, # p_paddr: Segment physical address
- 0x00, 0x00, 0x20, 0x00, # p_filesz: Segment size in file
- 0x00, 0x00, 0x20, 0x00, # p_memsz: Segment size in memory
- 0x07, 0x00, 0x00, 0x00, # p_flags = Segment is executable | writable | readable
- 0x00, 0x00, 0x00, 0x00, # p_align
+ 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x10, 0x00,
+ 0x00, 0x00, 0x10, 0x00,
+ 0x00, 0x00, 0x20, 0x00,
+ 0x00, 0x00, 0x20, 0x00,
+ 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
# - ELFNOTE segment
- 0x04, 0x00, 0x00, 0x00, # p_type = PT_NOTE
- 0x74, 0x00, 0x00, 0x00, # p_offset = point to XEN_ELFNOTE_PHYS32_ENTRY below
+ 0x04, 0x00, 0x00, 0x00,
+ 0x74, 0x00, 0x00, 0x00,
0x74, 0x00, 0x10, 0x00,
0x74, 0x00, 0x10, 0x00,
0x14, 0x00, 0x00, 0x00,
0x14, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, # p_flags = Segment is readable
+ 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
# XEN_ELFNOTE_PHYS32_ENTRY
- 0x04, 0x00, 0x00, 0x00, # name size
- 0x04, 0x00, 0x00, 0x00, # desc size
- 0x12, 0x00, 0x00, 0x00, # type = XEN_ELFNOTE_PHYS32_ENTRY
- 0x58, 0x65, 0x6e, 0x00, # name = "Xen"
- 0xd0, 0xff, 0x2f, 0x00, # desc: PVH entry point
- 0x00
+ 0x04, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00,
+ 0x12, 0x00, 0x00, 0x00,
+ 0x58, 0x65, 0x6e, 0x00,
+ 0xd0, 0xff, 0x2f, 0x00
}
|