;------------------------------------------------------------------------------
; @file
; Tdx Virtual Firmware metadata
;
; 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.
;
; Tdx Metadata consists of a DESCRIPTOR as the header followed by several
; SECTIONs. Host VMM sets up the memory for TDVF according to these sections.
;
; _Bfv is the example (Bfv refers to the Virtual BIOS code).
; - By DataOffset/RawDataSize host VMM knows about the position of the code
;   in the binary image.
; - MemoryAddress/MemoryDataSize indicates the guest physical address/size of
;   the Bfv to be loaded.
; - Type field means this section is of BFV. This field is designed for the
;   purpose that in some case host VMM may do some additional processing based
;   upon the section type. TdHob section is an example. Host VMM pass the
;   physical memory information to the guest firmware by writing the data in
;   the memory region designated by TdHob section.
; - By design code part of the binary image (Bfv) should be measured by host
;   VMM. This is indicated by the Attributes field.
;
; So put all these information together, when a new guest is being created,
; the initial TD-private pages for BFV is added by TDH.MEM.PAGE.ADD function,
; and Bfv is loaded at the guest physical address indicated by MemoryAddress.
; Since the Attributes is TDX_METADATA_ATTRIBUTES_EXTENDMR, Bfv is measured by
; host VMM.
;
; Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
;------------------------------------------------------------------------------

BITS    64

%define TDX_METADATA_SECTION_TYPE_BFV       0
%define TDX_METADATA_SECTION_TYPE_CFV       1
%define TDX_METADATA_SECTION_TYPE_TD_HOB    2
%define TDX_METADATA_SECTION_TYPE_TEMP_MEM  3
%define TDX_METADATA_VERSION                1
%define TDX_METADATA_ATTRIBUTES_EXTENDMR    0x00000001

ALIGN   16
TIMES (15 - ((TdxGuidedStructureEnd - TdxGuidedStructureStart + 15) % 16)) DB 0

TdxGuidedStructureStart:

;
; TDVF meta data
;
TdxMetadataGuid:
  DB  0xf3, 0xf9, 0xea, 0xe9, 0x8e, 0x16, 0xd5, 0x44
  DB  0xa8, 0xeb, 0x7f, 0x4d, 0x87, 0x38, 0xf6, 0xae

_Descriptor:
  DB 'T','D','V','F'                                  ; Signature
  DD TdxGuidedStructureEnd - _Descriptor              ; Length
  DD TDX_METADATA_VERSION                             ; Version
  DD (TdxGuidedStructureEnd - _Descriptor - 16)/32    ; Number of sections

_Bfv:
  DD TDX_BFV_RAW_DATA_OFFSET
  DD TDX_BFV_RAW_DATA_SIZE
  DQ TDX_BFV_MEMORY_BASE
  DQ TDX_BFV_MEMORY_SIZE
  DD TDX_METADATA_SECTION_TYPE_BFV
  DD TDX_METADATA_ATTRIBUTES_EXTENDMR

_Cfv:
  DD TDX_CFV_RAW_DATA_OFFSET
  DD TDX_CFV_RAW_DATA_SIZE
  DQ TDX_CFV_MEMORY_BASE
  DQ TDX_CFV_MEMORY_SIZE
  DD TDX_METADATA_SECTION_TYPE_CFV
  DD 0

_TdxHeapStack:
  DD 0
  DD 0
  DQ TDX_HEAP_STACK_BASE
  DQ TDX_HEAP_STACK_SIZE
  DD TDX_METADATA_SECTION_TYPE_TEMP_MEM
  DD 0

_TdxInitMem:
  DD 0
  DD 0
  DQ TDX_INIT_MEMORY_BASE
  DQ TDX_INIT_MEMORY_SIZE
  DD TDX_METADATA_SECTION_TYPE_TEMP_MEM
  DD 0

_TdHob:
  DD 0
  DD 0
  DQ TDX_HOB_MEMORY_BASE
  DQ TDX_HOB_MEMORY_SIZE
  DD TDX_METADATA_SECTION_TYPE_TD_HOB
  DD 0

_OvmfPageTable:
  DD 0
  DD 0
  DQ OVMF_PAGE_TABLE_BASE
  DQ OVMF_PAGE_TABLE_SIZE
  DD TDX_METADATA_SECTION_TYPE_TEMP_MEM
  DD 0

TdxGuidedStructureEnd:
ALIGN   16
