summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/XenElfHeader.fdf.inc
diff options
context:
space:
mode:
authorSebastien Boeuf <sebastien.boeuf@intel.com>2022-03-02 21:31:32 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-03-04 02:41:57 +0000
commit0015a4e0a80f6eaa0044c13ecff3f312c186050b (patch)
treed4c3cfcd66811066b87bdbc59d86505e24bc9e41 /OvmfPkg/XenElfHeader.fdf.inc
parent0a707eb2587c1b027ad95c17ee3fe65b0c9e450e (diff)
downloadedk2-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>
Diffstat (limited to 'OvmfPkg/XenElfHeader.fdf.inc')
-rw-r--r--OvmfPkg/XenElfHeader.fdf.inc60
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
}