audk/OvmfPkg/Include/Library
Min Xu 4fe2678411 OvmfPkg: Add PeilessStartupLib
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429

PeilessStarupLib provides a function (PeilessStartup) which brings
up both Legacy and Tdx guest from SEC phase to DXE phase. PEI phase
is skipped so that the attack surfaces are reduced as much as possible.

PeilessStartup() does below tasks:
1. Contruct the FW hoblist.
   Since PEI is skipped, we must find a memory region which is the
   largest one below 4GB. Then this memory region will be used as the
   firmware hoblist.
2. Initialize the platform.
3. Build various Hobs, such as SecFv Hob, DxeFv Hob, Stack Hob, etc.
4. At last DXE Core is located / loaded and transfer control to it.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
2022-04-02 10:09:47 +00:00
..
BhyveFwCtlLib.h OvmfPkg: Improve style and formatting in BhyveFwCtlLib.h 2020-11-30 17:49:39 +00:00
BlobVerifierLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LoadLinuxLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MemEncryptSevLib.h OvmfPkg/MemEncryptSevLib: add support to validate system RAM 2021-12-09 06:28:10 +00:00
MemEncryptTdxLib.h OvmfPkg/BaseMemEncryptTdxLib: Add TDX helper library 2022-04-02 08:15:12 +00:00
NvVarsFileLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciCapLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciCapPciIoLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciCapPciSegmentLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciHostBridgeUtilityLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeilessStartupLib.h OvmfPkg: Add PeilessStartupLib 2022-04-02 10:09:47 +00:00
PlatformBmPrintScLib.h OvmfPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:19 -07:00
PlatformFvbLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformInitLib.h OvmfPkg: Update PlatformInitLib for Tdx guest 2022-04-02 08:15:12 +00:00
QemuBootOrderLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QemuFwCfgLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QemuFwCfgS3Lib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QemuFwCfgSimpleParserLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QemuLoadImageLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SerializeVariablesLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TdxMailboxLib.h OvmfPkg: Add TdxMailboxLib 2022-04-02 08:15:12 +00:00
VirtioLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VirtioMmioDeviceLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenHypercallLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenIoMmioLib.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenPlatformLib.h OvmfPkg/Library/XenPlatformLib: New library 2019-08-21 18:03:49 +02:00