summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm
diff options
context:
space:
mode:
authorMin Xu <min.m.xu@intel.com>2021-09-28 10:47:29 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-10-24 02:09:27 +0000
commitc9ec74a1987f06bc8b04777fdb4e8df445b6e7da (patch)
tree3ea6c3218e1d9d2c352f5533ca4726d3d72155f3 /OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm
parent5a2411784b309661536033c009ad0ead55b60b24 (diff)
downloadedk2-c9ec74a1987f06bc8b04777fdb4e8df445b6e7da.tar.gz
edk2-c9ec74a1987f06bc8b04777fdb4e8df445b6e7da.tar.bz2
edk2-c9ec74a1987f06bc8b04777fdb4e8df445b6e7da.zip
OvmfPkg: Add IntelTdxMetadata.asm
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 In TDX when host VMM creates a new guest TD, some initial set of TD-private pages are added using the TDH.MEM.PAGE.ADD function. These pages typically contain Virtual BIOS code and data along with some clear pages for stacks and heap. In the meanwhile, some configuration data need be measured by host VMM. Tdx Metadata is designed for this purpose to indicate host VMM how to do the above tasks. More detailed information of Metadata is in [TDVF] Section 11. Tdx Metadata describes the information about the image for VMM use. For example, the base address and length of the TdHob, Bfv, Cfv, etc. The offset of the Metadata is stored in a GUID-ed structure which is appended in the GUID-ed chain from a fixed GPA (0xffffffd0). In this commit there are 2 new definitions of BFV & CFV. Tdx Virtual Firmware (TDVF) includes one Firmware Volume (FV) known as the Boot Firmware Volume (BFV). The FV format is defined in the UEFI Platform Initialization (PI) spec. BFV includes all TDVF components required during boot. TDVF also include a configuration firmware volume (CFV) that is separated from the BFV. The reason is because the CFV is measured in RTMR, while the BFV is measured in MRTD. In practice BFV is the code part of Ovmf image (OVMF_CODE.fd). CFV is the vars part of Ovmf image (OVMF_VARS.fd). Since AMD SEV has already defined some SEV specific memory region in MEMFD. TDX re-uses some of the memory regions defined by SEV. - MailBox : PcdOvmfSecGhcbBackupBase|PcdOvmfSecGhcbBackupSize - TdHob : PcdOvmfSecGhcbBase|PcdOvmfSecGhcbSize [TDVF] https://software.intel.com/content/dam/develop/external/us/en/ documents/tdx-virtual-firmware-design-guide-rev-1.pdf Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.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> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Min Xu <min.m.xu@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Diffstat (limited to 'OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm')
0 files changed, 0 insertions, 0 deletions