!if $(FD_SIZE_IN_KB) == 4096\r
0x00000000|0x00040000\r
!endif\r
-DATA = {\r
- #\r
- # This hex array have been generated by OvmfPkg/OvmfXenElfHeaderGenerator.c\r
- # and copied manually.\r
- #\r
- # ELF file header\r
- 0x7f, 0x45, 0x4c, 0x46, # e_ident[0..3]: Magic number\r
- 0x01, # File class: 32-bit objects\r
- 0x01, # Data encoding: 2's complement, little endian\r
- 0x01, # File version\r
- 0x03, # OS ABI identification: Object uses GNU ELF extensions\r
- 0x00, # ABI version\r
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # e_ident[EI_PAD...]\r
- 0x02, 0x00, # e_type = Executable file\r
- 0x03, 0x00, # e_machine = Intel 80386\r
- 0x01, 0x00, 0x00, 0x00, # e_version\r
- 0xd0, 0xff, 0x2f, 0x00, # e_entry: Entry point virtual address\r
- 0x34, 0x00, 0x00, 0x00, # e_phoff: Program header table file offset\r
- 0x00, 0x00, 0x00, 0x00, # e_shoff: Section header table file offset\r
- 0x00, 0x00, 0x00, 0x00, # e_flags: Processor-specific flags\r
- 0x34, 0x00, # e_ehsize: ELF header size\r
- 0x20, 0x00, # e_phentsize: Program header table entry size\r
- 0x02, 0x00, # e_phnum: Program header table entry count\r
- 0x00, 0x00, # e_shentsize: Section header table entry size\r
- 0x00, 0x00, # e_shnum: Section header table entry count\r
- 0x00, 0x00, # e_shstrndx\r
-\r
- # ELF Program segment headers\r
- # - Load segment\r
- 0x01, 0x00, 0x00, 0x00, # p_type = Loadable program segment\r
- 0x00, 0x00, 0x00, 0x00, # p_offset\r
- 0x00, 0x00, 0x10, 0x00, # p_vaddr: Segment virtual address\r
- 0x00, 0x00, 0x10, 0x00, # p_paddr: Segment physical address\r
- 0x00, 0x00, 0x20, 0x00, # p_filesz: Segment size in file\r
- 0x00, 0x00, 0x20, 0x00, # p_memsz: Segment size in memory\r
- 0x07, 0x00, 0x00, 0x00, # p_flags = Segment is executable | writable | readable\r
- 0x00, 0x00, 0x00, 0x00, # p_align\r
- # - ELFNOTE segment\r
- 0x04, 0x00, 0x00, 0x00, # p_type = PT_NOTE\r
- 0x74, 0x00, 0x00, 0x00, # p_offset = point to XEN_ELFNOTE_PHYS32_ENTRY below\r
- 0x74, 0x00, 0x10, 0x00,\r
- 0x74, 0x00, 0x10, 0x00,\r
- 0x14, 0x00, 0x00, 0x00,\r
- 0x14, 0x00, 0x00, 0x00,\r
- 0x04, 0x00, 0x00, 0x00, # p_flags = Segment is readable\r
- 0x00, 0x00, 0x00, 0x00,\r
-\r
- # XEN_ELFNOTE_PHYS32_ENTRY\r
- 0x04, 0x00, 0x00, 0x00, # name size\r
- 0x04, 0x00, 0x00, 0x00, # desc size\r
- 0x12, 0x00, 0x00, 0x00, # type = XEN_ELFNOTE_PHYS32_ENTRY\r
- 0x58, 0x65, 0x6e, 0x00, # name = "Xen"\r
- 0xd0, 0xff, 0x2f, 0x00, # desc: PVH entry point\r
- 0x00\r
-}\r
+\r
+!include XenElfHeader.fdf.inc\r
\r
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
0x0000e000|0x00001000\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/XenTimerDxe/XenTimerDxe.inf\r
+INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
INF MdeModulePkg/Application/UiApp/UiApp.inf\r
+INF OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf\r
INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf\r
\r
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
-INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
+INF OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf\r
\r
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
INF OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf\r