mv OvmfPkg: move fdf include snippets to Include/Fdf
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
5eb973eb62
commit
1ef86f1201
70
OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
Normal file
70
OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
Normal file
@@ -0,0 +1,70 @@
|
||||
## @file
|
||||
# This FDF include file computes the end of the scratch buffer used in
|
||||
# DecompressMemFvs() [OvmfPkg/Sec/SecMain.c]. It is based on the decompressed
|
||||
# (ie. original) size of the LZMA-compressed section of the one FFS file in
|
||||
# the FVMAIN_COMPACT firmware volume.
|
||||
#
|
||||
# Copyright (C) 2015, Red Hat, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
# The GUID EE4E5898-3914-4259-9D6E-DC7BD79403CF means "LzmaCustomDecompress".
|
||||
# The decompressed output will have the following structure (see the file
|
||||
# "9E21FD93-9C72-4c15-8C4B-E77F1DB2D792SEC1.guided.dummy" in the
|
||||
# Build/Ovmf*/*/FV/Ffs/9E21FD93-9C72-4c15-8C4B-E77F1DB2D792/ directory):
|
||||
#
|
||||
# Size Contents
|
||||
# ------------------- --------------------------------------------------------
|
||||
# 4 EFI_COMMON_SECTION_HEADER, stating size 124 (0x7C) and
|
||||
# type 0x19 (EFI_SECTION_RAW). The purpose of this section
|
||||
# is to pad the start of PEIFV to 128 bytes.
|
||||
# 120 Zero bytes (padding).
|
||||
#
|
||||
# 4 EFI_COMMON_SECTION_HEADER, stating size
|
||||
# (PcdOvmfPeiMemFvSize + 4), and type 0x17
|
||||
# (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).
|
||||
# PcdOvmfPeiMemFvSize PEIFV. Note that the above sizes pad the offset of this
|
||||
# object to 128 bytes. See also the "guided.dummy.txt"
|
||||
# file in the same directory.
|
||||
#
|
||||
# 4 EFI_COMMON_SECTION_HEADER, stating size 12 (0xC) and
|
||||
# type 0x19 (EFI_SECTION_RAW). The purpose of this section
|
||||
# is to pad the start of DXEFV to 16 bytes.
|
||||
# 8 Zero bytes (padding).
|
||||
#
|
||||
# 4 EFI_COMMON_SECTION_HEADER, stating size
|
||||
# (PcdOvmfDxeMemFvSize + 4), and type 0x17
|
||||
# (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).
|
||||
# PcdOvmfDxeMemFvSize DXEFV. Note that the above sizes pad the offset of this
|
||||
# object to 16 bytes. See also the "guided.dummy.txt" file
|
||||
# in the same directory.
|
||||
#
|
||||
# The total size after decompression is (128 + PcdOvmfPeiMemFvSize + 16 +
|
||||
# PcdOvmfDxeMemFvSize).
|
||||
|
||||
DEFINE OUTPUT_SIZE = (128 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize + 16 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize)
|
||||
|
||||
# LzmaCustomDecompressLib uses a constant scratch buffer size of 64KB; see
|
||||
# SCRATCH_BUFFER_REQUEST_SIZE in
|
||||
# "MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c".
|
||||
|
||||
DEFINE DECOMP_SCRATCH_SIZE = 0x00010000
|
||||
|
||||
# Note: when we use PcdOvmfDxeMemFvBase in this context, BaseTools have not yet
|
||||
# offset it with MEMFD's base address. For that reason we have to do it manually.
|
||||
#
|
||||
# The calculation below mirrors DecompressMemFvs() [OvmfPkg/Sec/SecMain.c].
|
||||
|
||||
DEFINE OUTPUT_BASE = ($(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase + 0x00100000)
|
||||
DEFINE DECOMP_SCRATCH_BASE_UNALIGNED = ($(OUTPUT_BASE) + $(OUTPUT_SIZE))
|
||||
DEFINE DECOMP_SCRATCH_BASE_ALIGNMENT = 0x000FFFFF
|
||||
DEFINE DECOMP_SCRATCH_BASE_MASK = 0xFFF00000
|
||||
DEFINE DECOMP_SCRATCH_BASE = (($(DECOMP_SCRATCH_BASE_UNALIGNED) + $(DECOMP_SCRATCH_BASE_ALIGNMENT)) & $(DECOMP_SCRATCH_BASE_MASK))
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)
|
||||
|
||||
#
|
||||
# The range of pages that should be pre-validated during the SEC phase when SEV-SNP is active in the guest VM.
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)
|
106
OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
Normal file
106
OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
Normal file
@@ -0,0 +1,106 @@
|
||||
## @file
|
||||
# FDF include file that defines the main macros and sets the dependent PCDs.
|
||||
#
|
||||
# Copyright (C) 2014, Red Hat, Inc.
|
||||
# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
DEFINE BLOCK_SIZE = 0x1000
|
||||
DEFINE VARS_OFFSET = 0
|
||||
|
||||
#
|
||||
# A firmware binary built with FD_SIZE_IN_KB=1024, and a firmware binary built
|
||||
# with FD_SIZE_IN_KB=2048, use the same variable store layout.
|
||||
#
|
||||
# Setting FD_SIZE_IN_KB to 4096 results in a different (much larger) variable
|
||||
# store structure that is incompatible with both of the above-mentioned
|
||||
# firmware binaries.
|
||||
#
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
DEFINE VARS_SIZE = 0x20000
|
||||
DEFINE VARS_BLOCKS = 0x20
|
||||
DEFINE VARS_LIVE_SIZE = 0xE000
|
||||
DEFINE VARS_SPARE_SIZE = 0x10000
|
||||
!endif
|
||||
|
||||
!if $(FD_SIZE_IN_KB) == 1024
|
||||
DEFINE FW_BASE_ADDRESS = 0xFFF00000
|
||||
DEFINE FW_SIZE = 0x00100000
|
||||
DEFINE FW_BLOCKS = 0x100
|
||||
DEFINE CODE_BASE_ADDRESS = 0xFFF20000
|
||||
DEFINE CODE_SIZE = 0x000E0000
|
||||
DEFINE CODE_BLOCKS = 0xE0
|
||||
DEFINE FVMAIN_SIZE = 0x000CC000
|
||||
DEFINE SECFV_OFFSET = 0x000EC000
|
||||
DEFINE SECFV_SIZE = 0x14000
|
||||
!endif
|
||||
|
||||
!if $(FD_SIZE_IN_KB) == 2048
|
||||
DEFINE FW_BASE_ADDRESS = 0xFFE00000
|
||||
DEFINE FW_SIZE = 0x00200000
|
||||
DEFINE FW_BLOCKS = 0x200
|
||||
DEFINE CODE_BASE_ADDRESS = 0xFFE20000
|
||||
DEFINE CODE_SIZE = 0x001E0000
|
||||
DEFINE CODE_BLOCKS = 0x1E0
|
||||
DEFINE FVMAIN_SIZE = 0x001AC000
|
||||
DEFINE SECFV_OFFSET = 0x001CC000
|
||||
DEFINE SECFV_SIZE = 0x34000
|
||||
!endif
|
||||
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
DEFINE VARS_SIZE = 0x84000
|
||||
DEFINE VARS_BLOCKS = 0x84
|
||||
DEFINE VARS_LIVE_SIZE = 0x40000
|
||||
DEFINE VARS_SPARE_SIZE = 0x42000
|
||||
|
||||
DEFINE FW_BASE_ADDRESS = 0xFFC00000
|
||||
DEFINE FW_SIZE = 0x00400000
|
||||
DEFINE FW_BLOCKS = 0x400
|
||||
DEFINE CODE_BASE_ADDRESS = 0xFFC84000
|
||||
DEFINE CODE_SIZE = 0x0037C000
|
||||
DEFINE CODE_BLOCKS = 0x37C
|
||||
DEFINE FVMAIN_SIZE = 0x00348000
|
||||
DEFINE SECFV_OFFSET = 0x003CC000
|
||||
DEFINE SECFV_SIZE = 0x34000
|
||||
!endif
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress = $(FW_BASE_ADDRESS)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize = $(FW_SIZE)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize = $(BLOCK_SIZE)
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase = $(FW_BASE_ADDRESS)
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = $(VARS_LIVE_SIZE)
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize = $(BLOCK_SIZE)
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize = $(BLOCK_SIZE)
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize = $(VARS_SPARE_SIZE)
|
||||
|
||||
# The OVMF WorkArea contains a fixed size header followed by the actual data.
|
||||
# The size of header is accessed through a fixed PCD in the reset vector code.
|
||||
# The value need to be kept in sync with the any changes to the Confidential
|
||||
# Computing Work Area header defined in the Include/WorkArea.h
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader = 4
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvBase = $(FW_BASE_ADDRESS)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataOffset = $(VARS_OFFSET)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataSize = $(VARS_SIZE)
|
||||
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvBase = $(CODE_BASE_ADDRESS)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataOffset = $(VARS_SIZE)
|
||||
SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataSize = $(CODE_SIZE)
|
||||
|
||||
!if $(SMM_REQUIRE) == TRUE
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase
|
||||
SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase
|
||||
!endif
|
||||
|
||||
DEFINE MEMFD_BASE_ADDRESS = 0x800000
|
115
OvmfPkg/Include/Fdf/VarStore.fdf.inc
Normal file
115
OvmfPkg/Include/Fdf/VarStore.fdf.inc
Normal file
@@ -0,0 +1,115 @@
|
||||
## @file
|
||||
# FDF include file with Layout Regions that define an empty variable store.
|
||||
#
|
||||
# Copyright (C) 2014, Red Hat, Inc.
|
||||
# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
0x00000000|0x0000e000
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
0x00000000|0x00040000
|
||||
!endif
|
||||
#NV_VARIABLE_STORE
|
||||
DATA = {
|
||||
## This is the EFI_FIRMWARE_VOLUME_HEADER
|
||||
# ZeroVector []
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
# FileSystemGuid: gEfiSystemNvDataFvGuid =
|
||||
# { 0xFFF12B8D, 0x7696, 0x4C8B,
|
||||
# { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}
|
||||
0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,
|
||||
0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
# FvLength: 0x20000
|
||||
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
# FvLength: 0x84000
|
||||
0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
!endif
|
||||
# Signature "_FVH" # Attributes
|
||||
0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,
|
||||
# HeaderLength
|
||||
0x48, 0x00,
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
# CheckSum
|
||||
0x19, 0xF9,
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
# CheckSum
|
||||
0xAF, 0xB8,
|
||||
!endif
|
||||
# ExtHeaderOffset #Reserved #Revision
|
||||
0x00, 0x00, 0x00, 0x02,
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
# Blockmap[0]: 0x20 Blocks * 0x1000 Bytes / Block
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
# Blockmap[0]: 0x84 Blocks * 0x1000 Bytes / Block
|
||||
0x84, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
|
||||
!endif
|
||||
# Blockmap[1]: End
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
## This is the VARIABLE_STORE_HEADER
|
||||
# It is compatible with SECURE_BOOT_ENABLE == FALSE as well.
|
||||
# Signature: gEfiAuthenticatedVariableGuid =
|
||||
# { 0xaaf32c78, 0x947b, 0x439a,
|
||||
# { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}
|
||||
0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,
|
||||
0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
# Size: 0xe000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -
|
||||
# 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xdfb8
|
||||
# This can speed up the Variable Dispatch a bit.
|
||||
0xB8, 0xDF, 0x00, 0x00,
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
# Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -
|
||||
# 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8
|
||||
# This can speed up the Variable Dispatch a bit.
|
||||
0xB8, 0xFF, 0x03, 0x00,
|
||||
!endif
|
||||
# FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32
|
||||
0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
}
|
||||
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
0x0000e000|0x00001000
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
0x00040000|0x00001000
|
||||
!endif
|
||||
#NV_EVENT_LOG
|
||||
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
0x0000f000|0x00001000
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
0x00041000|0x00001000
|
||||
!endif
|
||||
#NV_FTW_WORKING
|
||||
DATA = {
|
||||
# EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid =
|
||||
# { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }}
|
||||
0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,
|
||||
0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95,
|
||||
# Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved
|
||||
0x2c, 0xaf, 0x2c, 0x64, 0xFE, 0xFF, 0xFF, 0xFF,
|
||||
# WriteQueueSize: UINT64
|
||||
0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
}
|
||||
|
||||
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
||||
0x00010000|0x00010000
|
||||
!endif
|
||||
!if $(FD_SIZE_IN_KB) == 4096
|
||||
0x00042000|0x00042000
|
||||
!endif
|
||||
#NV_FTW_SPARE
|
42
OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc
Normal file
42
OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc
Normal file
@@ -0,0 +1,42 @@
|
||||
## @file
|
||||
# FDF include file that defines a PVH ELF header.
|
||||
#
|
||||
# Copyright (c) 2022, Intel Corporation. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
DATA = {
|
||||
# ELF file header
|
||||
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,
|
||||
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,
|
||||
0x74, 0x00, 0x00, 0x00,
|
||||
0x74, 0x00, 0x10, 0x00,
|
||||
0x74, 0x00, 0x10, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
|
||||
# XEN_ELFNOTE_PHYS32_ENTRY
|
||||
0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00,
|
||||
0x12, 0x00, 0x00, 0x00,
|
||||
0x58, 0x65, 0x6e, 0x00,
|
||||
0xd0, 0xff, 0x2f, 0x00
|
||||
}
|
@@ -21,7 +21,7 @@
|
||||
// sizeof (CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER)
|
||||
// PcdOvmfConfidentialComputingWorkAreaHeader defined in:
|
||||
// OvmfPkg/OvmfPkg.dec
|
||||
// OvmfPkg/OvmfPkgDefines.fdf.inc
|
||||
// OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
|
||||
typedef struct _CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER {
|
||||
UINT8 GuestType;
|
||||
UINT8 Reserved1[3];
|
||||
|
Reference in New Issue
Block a user