]> git.proxmox.com Git - mirror_edk2.git/commitdiff
mv OvmfPkg: move fdf include snippets to Include/Fdf
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 9 Dec 2022 13:03:48 +0000 (21:03 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 9 Dec 2022 14:07:21 +0000 (14:07 +0000)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
20 files changed:
OvmfPkg/AmdSev/AmdSevX64.fdf
OvmfPkg/Bhyve/BhyveX64.fdf
OvmfPkg/CloudHv/CloudHvX64.fdf
OvmfPkg/FvmainCompactScratchEnd.fdf.inc [deleted file]
OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc [new file with mode: 0644]
OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc [new file with mode: 0644]
OvmfPkg/Include/Fdf/VarStore.fdf.inc [new file with mode: 0644]
OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc [new file with mode: 0644]
OvmfPkg/Include/WorkArea.h
OvmfPkg/IntelTdx/IntelTdxX64.fdf
OvmfPkg/Microvm/MicrovmX64.fdf
OvmfPkg/OvmfPkgDefines.fdf.inc [deleted file]
OvmfPkg/OvmfPkgIa32.fdf
OvmfPkg/OvmfPkgIa32X64.fdf
OvmfPkg/OvmfPkgX64.fdf
OvmfPkg/OvmfXen.fdf
OvmfPkg/Sec/AmdSev.c
OvmfPkg/Sec/AmdSev.h
OvmfPkg/VarStore.fdf.inc [deleted file]
OvmfPkg/XenElfHeader.fdf.inc [deleted file]

index 4658e1d30ed03871b0512d906a9b9691976e6bcf..5fb3b5d27632ac73966a4b4d05e226fda8fb7e4b 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkg/OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include OvmfPkg/VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -351,7 +351,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include OvmfPkg/FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index e8227f865f751ac8d18b8bfc7eac342b064dab79..153b3cfeba554fa720eb749111299e0311a53db4 100644 (file)
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -43,7 +43,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.BHYVE_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -368,7 +368,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index a41a5536933de398a81b6429087db2467a55aaa2..0d13d4066d275121c6bfe17e01d9cc797ee7b107 100644 (file)
@@ -378,7 +378,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include OvmfPkg/FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
diff --git a/OvmfPkg/FvmainCompactScratchEnd.fdf.inc b/OvmfPkg/FvmainCompactScratchEnd.fdf.inc
deleted file mode 100644 (file)
index d8d45fc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-## @file\r
-#  This FDF include file computes the end of the scratch buffer used in\r
-#  DecompressMemFvs() [OvmfPkg/Sec/SecMain.c]. It is based on the decompressed\r
-#  (ie. original) size of the LZMA-compressed section of the one FFS file in\r
-#  the FVMAIN_COMPACT firmware volume.\r
-#\r
-#  Copyright (C) 2015, Red Hat, Inc.\r
-#\r
-#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-##\r
-\r
-# The GUID EE4E5898-3914-4259-9D6E-DC7BD79403CF means "LzmaCustomDecompress".\r
-# The decompressed output will have the following structure (see the file\r
-# "9E21FD93-9C72-4c15-8C4B-E77F1DB2D792SEC1.guided.dummy" in the\r
-# Build/Ovmf*/*/FV/Ffs/9E21FD93-9C72-4c15-8C4B-E77F1DB2D792/ directory):\r
-#\r
-# Size                 Contents\r
-# -------------------  --------------------------------------------------------\r
-#                   4  EFI_COMMON_SECTION_HEADER, stating size 124 (0x7C) and\r
-#                      type 0x19 (EFI_SECTION_RAW). The purpose of this section\r
-#                      is to pad the start of PEIFV to 128 bytes.\r
-#                 120  Zero bytes (padding).\r
-#\r
-#                   4  EFI_COMMON_SECTION_HEADER, stating size\r
-#                      (PcdOvmfPeiMemFvSize + 4), and type 0x17\r
-#                      (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).\r
-# PcdOvmfPeiMemFvSize  PEIFV. Note that the above sizes pad the offset of this\r
-#                      object to 128 bytes. See also the "guided.dummy.txt"\r
-#                      file in the same directory.\r
-#\r
-#                   4  EFI_COMMON_SECTION_HEADER, stating size 12 (0xC) and\r
-#                      type 0x19 (EFI_SECTION_RAW). The purpose of this section\r
-#                      is to pad the start of DXEFV to 16 bytes.\r
-#                   8  Zero bytes (padding).\r
-#\r
-#                   4  EFI_COMMON_SECTION_HEADER, stating size\r
-#                      (PcdOvmfDxeMemFvSize + 4), and type 0x17\r
-#                      (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).\r
-# PcdOvmfDxeMemFvSize  DXEFV. Note that the above sizes pad the offset of this\r
-#                      object to 16 bytes. See also the "guided.dummy.txt" file\r
-#                      in the same directory.\r
-#\r
-# The total size after decompression is (128 + PcdOvmfPeiMemFvSize + 16 +\r
-# PcdOvmfDxeMemFvSize).\r
-\r
-DEFINE OUTPUT_SIZE = (128 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize + 16 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize)\r
-\r
-# LzmaCustomDecompressLib uses a constant scratch buffer size of 64KB; see\r
-# SCRATCH_BUFFER_REQUEST_SIZE in\r
-# "MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c".\r
-\r
-DEFINE DECOMP_SCRATCH_SIZE = 0x00010000\r
-\r
-# Note: when we use PcdOvmfDxeMemFvBase in this context, BaseTools have not yet\r
-# offset it with MEMFD's base address. For that reason we have to do it manually.\r
-#\r
-# The calculation below mirrors DecompressMemFvs() [OvmfPkg/Sec/SecMain.c].\r
-\r
-DEFINE OUTPUT_BASE                   = ($(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase + 0x00100000)\r
-DEFINE DECOMP_SCRATCH_BASE_UNALIGNED = ($(OUTPUT_BASE) + $(OUTPUT_SIZE))\r
-DEFINE DECOMP_SCRATCH_BASE_ALIGNMENT = 0x000FFFFF\r
-DEFINE DECOMP_SCRATCH_BASE_MASK      = 0xFFF00000\r
-DEFINE DECOMP_SCRATCH_BASE           = (($(DECOMP_SCRATCH_BASE_UNALIGNED) + $(DECOMP_SCRATCH_BASE_ALIGNMENT)) & $(DECOMP_SCRATCH_BASE_MASK))\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)\r
-\r
-#\r
-# The range of pages that should be pre-validated during the SEC phase when SEV-SNP is active in the guest VM.\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)\r
diff --git a/OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc b/OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
new file mode 100644 (file)
index 0000000..d8d45fc
--- /dev/null
@@ -0,0 +1,70 @@
+## @file\r
+#  This FDF include file computes the end of the scratch buffer used in\r
+#  DecompressMemFvs() [OvmfPkg/Sec/SecMain.c]. It is based on the decompressed\r
+#  (ie. original) size of the LZMA-compressed section of the one FFS file in\r
+#  the FVMAIN_COMPACT firmware volume.\r
+#\r
+#  Copyright (C) 2015, Red Hat, Inc.\r
+#\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+##\r
+\r
+# The GUID EE4E5898-3914-4259-9D6E-DC7BD79403CF means "LzmaCustomDecompress".\r
+# The decompressed output will have the following structure (see the file\r
+# "9E21FD93-9C72-4c15-8C4B-E77F1DB2D792SEC1.guided.dummy" in the\r
+# Build/Ovmf*/*/FV/Ffs/9E21FD93-9C72-4c15-8C4B-E77F1DB2D792/ directory):\r
+#\r
+# Size                 Contents\r
+# -------------------  --------------------------------------------------------\r
+#                   4  EFI_COMMON_SECTION_HEADER, stating size 124 (0x7C) and\r
+#                      type 0x19 (EFI_SECTION_RAW). The purpose of this section\r
+#                      is to pad the start of PEIFV to 128 bytes.\r
+#                 120  Zero bytes (padding).\r
+#\r
+#                   4  EFI_COMMON_SECTION_HEADER, stating size\r
+#                      (PcdOvmfPeiMemFvSize + 4), and type 0x17\r
+#                      (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).\r
+# PcdOvmfPeiMemFvSize  PEIFV. Note that the above sizes pad the offset of this\r
+#                      object to 128 bytes. See also the "guided.dummy.txt"\r
+#                      file in the same directory.\r
+#\r
+#                   4  EFI_COMMON_SECTION_HEADER, stating size 12 (0xC) and\r
+#                      type 0x19 (EFI_SECTION_RAW). The purpose of this section\r
+#                      is to pad the start of DXEFV to 16 bytes.\r
+#                   8  Zero bytes (padding).\r
+#\r
+#                   4  EFI_COMMON_SECTION_HEADER, stating size\r
+#                      (PcdOvmfDxeMemFvSize + 4), and type 0x17\r
+#                      (EFI_SECTION_FIRMWARE_VOLUME_IMAGE).\r
+# PcdOvmfDxeMemFvSize  DXEFV. Note that the above sizes pad the offset of this\r
+#                      object to 16 bytes. See also the "guided.dummy.txt" file\r
+#                      in the same directory.\r
+#\r
+# The total size after decompression is (128 + PcdOvmfPeiMemFvSize + 16 +\r
+# PcdOvmfDxeMemFvSize).\r
+\r
+DEFINE OUTPUT_SIZE = (128 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize + 16 + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize)\r
+\r
+# LzmaCustomDecompressLib uses a constant scratch buffer size of 64KB; see\r
+# SCRATCH_BUFFER_REQUEST_SIZE in\r
+# "MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c".\r
+\r
+DEFINE DECOMP_SCRATCH_SIZE = 0x00010000\r
+\r
+# Note: when we use PcdOvmfDxeMemFvBase in this context, BaseTools have not yet\r
+# offset it with MEMFD's base address. For that reason we have to do it manually.\r
+#\r
+# The calculation below mirrors DecompressMemFvs() [OvmfPkg/Sec/SecMain.c].\r
+\r
+DEFINE OUTPUT_BASE                   = ($(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase + 0x00100000)\r
+DEFINE DECOMP_SCRATCH_BASE_UNALIGNED = ($(OUTPUT_BASE) + $(OUTPUT_SIZE))\r
+DEFINE DECOMP_SCRATCH_BASE_ALIGNMENT = 0x000FFFFF\r
+DEFINE DECOMP_SCRATCH_BASE_MASK      = 0xFFF00000\r
+DEFINE DECOMP_SCRATCH_BASE           = (($(DECOMP_SCRATCH_BASE_UNALIGNED) + $(DECOMP_SCRATCH_BASE_ALIGNMENT)) & $(DECOMP_SCRATCH_BASE_MASK))\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)\r
+\r
+#\r
+# The range of pages that should be pre-validated during the SEC phase when SEV-SNP is active in the guest VM.\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd = $(DECOMP_SCRATCH_BASE) + $(DECOMP_SCRATCH_SIZE)\r
diff --git a/OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc b/OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
new file mode 100644 (file)
index 0000000..6170c59
--- /dev/null
@@ -0,0 +1,106 @@
+## @file\r
+#  FDF include file that defines the main macros and sets the dependent PCDs.\r
+#\r
+#  Copyright (C) 2014, Red Hat, Inc.\r
+#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
+#\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+DEFINE BLOCK_SIZE        = 0x1000\r
+DEFINE VARS_OFFSET       = 0\r
+\r
+#\r
+# A firmware binary built with FD_SIZE_IN_KB=1024, and a firmware binary built\r
+# with FD_SIZE_IN_KB=2048, use the same variable store layout.\r
+#\r
+# Setting FD_SIZE_IN_KB to 4096 results in a different (much larger) variable\r
+# store structure that is incompatible with both of the above-mentioned\r
+# firmware binaries.\r
+#\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+DEFINE VARS_SIZE         = 0x20000\r
+DEFINE VARS_BLOCKS       = 0x20\r
+DEFINE VARS_LIVE_SIZE    = 0xE000\r
+DEFINE VARS_SPARE_SIZE   = 0x10000\r
+!endif\r
+\r
+!if $(FD_SIZE_IN_KB) == 1024\r
+DEFINE FW_BASE_ADDRESS   = 0xFFF00000\r
+DEFINE FW_SIZE           = 0x00100000\r
+DEFINE FW_BLOCKS         = 0x100\r
+DEFINE CODE_BASE_ADDRESS = 0xFFF20000\r
+DEFINE CODE_SIZE         = 0x000E0000\r
+DEFINE CODE_BLOCKS       = 0xE0\r
+DEFINE FVMAIN_SIZE       = 0x000CC000\r
+DEFINE SECFV_OFFSET      = 0x000EC000\r
+DEFINE SECFV_SIZE        = 0x14000\r
+!endif\r
+\r
+!if $(FD_SIZE_IN_KB) == 2048\r
+DEFINE FW_BASE_ADDRESS   = 0xFFE00000\r
+DEFINE FW_SIZE           = 0x00200000\r
+DEFINE FW_BLOCKS         = 0x200\r
+DEFINE CODE_BASE_ADDRESS = 0xFFE20000\r
+DEFINE CODE_SIZE         = 0x001E0000\r
+DEFINE CODE_BLOCKS       = 0x1E0\r
+DEFINE FVMAIN_SIZE       = 0x001AC000\r
+DEFINE SECFV_OFFSET      = 0x001CC000\r
+DEFINE SECFV_SIZE        = 0x34000\r
+!endif\r
+\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+DEFINE VARS_SIZE         = 0x84000\r
+DEFINE VARS_BLOCKS       = 0x84\r
+DEFINE VARS_LIVE_SIZE    = 0x40000\r
+DEFINE VARS_SPARE_SIZE   = 0x42000\r
+\r
+DEFINE FW_BASE_ADDRESS   = 0xFFC00000\r
+DEFINE FW_SIZE           = 0x00400000\r
+DEFINE FW_BLOCKS         = 0x400\r
+DEFINE CODE_BASE_ADDRESS = 0xFFC84000\r
+DEFINE CODE_SIZE         = 0x0037C000\r
+DEFINE CODE_BLOCKS       = 0x37C\r
+DEFINE FVMAIN_SIZE       = 0x00348000\r
+DEFINE SECFV_OFFSET      = 0x003CC000\r
+DEFINE SECFV_SIZE        = 0x34000\r
+!endif\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress     = $(FW_BASE_ADDRESS)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize    = $(FW_SIZE)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize = $(BLOCK_SIZE)\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase = $(FW_BASE_ADDRESS)\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = $(VARS_LIVE_SIZE)\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize = $(BLOCK_SIZE)\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize = $(BLOCK_SIZE)\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize = $(VARS_SPARE_SIZE)\r
+\r
+# The OVMF WorkArea contains a fixed size header followed by the actual data.\r
+# The size of header is accessed through a fixed PCD in the reset vector code.\r
+# The value need to be kept in sync with the any changes to the Confidential\r
+# Computing Work Area header defined in the Include/WorkArea.h\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader  = 4\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvBase           = $(FW_BASE_ADDRESS)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataOffset  = $(VARS_OFFSET)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataSize    = $(VARS_SIZE)\r
+\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvBase           = $(CODE_BASE_ADDRESS)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataOffset  = $(VARS_SIZE)\r
+SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataSize    = $(CODE_SIZE)\r
+\r
+!if $(SMM_REQUIRE) == TRUE\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase\r
+SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase   = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase\r
+!endif\r
+\r
+DEFINE MEMFD_BASE_ADDRESS = 0x800000\r
diff --git a/OvmfPkg/Include/Fdf/VarStore.fdf.inc b/OvmfPkg/Include/Fdf/VarStore.fdf.inc
new file mode 100644 (file)
index 0000000..a1e524e
--- /dev/null
@@ -0,0 +1,115 @@
+## @file\r
+#  FDF include file with Layout Regions that define an empty variable store.\r
+#\r
+#  Copyright (C) 2014, Red Hat, Inc.\r
+#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
+#\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+0x00000000|0x0000e000\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+0x00000000|0x00040000\r
+!endif\r
+#NV_VARIABLE_STORE\r
+DATA = {\r
+  ## This is the EFI_FIRMWARE_VOLUME_HEADER\r
+  # ZeroVector []\r
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+  # FileSystemGuid: gEfiSystemNvDataFvGuid         =\r
+  #   { 0xFFF12B8D, 0x7696, 0x4C8B,\r
+  #     { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
+  0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
+  0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+  # FvLength: 0x20000\r
+  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+  # FvLength: 0x84000\r
+  0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+!endif\r
+  # Signature "_FVH"       # Attributes\r
+  0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,\r
+  # HeaderLength\r
+  0x48, 0x00,\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+  # CheckSum\r
+  0x19, 0xF9,\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+  # CheckSum\r
+  0xAF, 0xB8,\r
+!endif\r
+  # ExtHeaderOffset #Reserved #Revision\r
+  0x00, 0x00, 0x00, 0x02,\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+  # Blockmap[0]: 0x20 Blocks * 0x1000 Bytes / Block\r
+  0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+  # Blockmap[0]: 0x84 Blocks * 0x1000 Bytes / Block\r
+  0x84, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\r
+!endif\r
+  # Blockmap[1]: End\r
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+  ## This is the VARIABLE_STORE_HEADER\r
+  # It is compatible with SECURE_BOOT_ENABLE == FALSE as well.\r
+  # Signature: gEfiAuthenticatedVariableGuid =\r
+  #   { 0xaaf32c78, 0x947b, 0x439a,\r
+  #     { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}\r
+  0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,\r
+  0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+  # Size: 0xe000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -\r
+  #         0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xdfb8\r
+  # This can speed up the Variable Dispatch a bit.\r
+  0xB8, 0xDF, 0x00, 0x00,\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+  # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -\r
+  #          0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8\r
+  # This can speed up the Variable Dispatch a bit.\r
+  0xB8, 0xFF, 0x03, 0x00,\r
+!endif\r
+  # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32\r
+  0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
+}\r
+\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+0x0000e000|0x00001000\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+0x00040000|0x00001000\r
+!endif\r
+#NV_EVENT_LOG\r
+\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+0x0000f000|0x00001000\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+0x00041000|0x00001000\r
+!endif\r
+#NV_FTW_WORKING\r
+DATA = {\r
+  # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid         =\r
+  #  { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95 }}\r
+  0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,\r
+  0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95,\r
+  # Crc:UINT32            #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
+  0x2c, 0xaf, 0x2c, 0x64, 0xFE, 0xFF, 0xFF, 0xFF,\r
+  # WriteQueueSize: UINT64\r
+  0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
+}\r
+\r
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
+0x00010000|0x00010000\r
+!endif\r
+!if $(FD_SIZE_IN_KB) == 4096\r
+0x00042000|0x00042000\r
+!endif\r
+#NV_FTW_SPARE\r
diff --git a/OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc b/OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc
new file mode 100644 (file)
index 0000000..c4f04ad
--- /dev/null
@@ -0,0 +1,42 @@
+## @file\r
+#  FDF include file that defines a PVH ELF header.\r
+#\r
+#  Copyright (c) 2022, Intel Corporation. All rights reserved.\r
+#\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+DATA = {\r
+  # ELF file header\r
+  0x7f, 0x45, 0x4c, 0x46, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00,\r
+  0xd0, 0xff, 0x2f, 0x00, # hdr.e_entry\r
+  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+\r
+  # ELF Program segment headers\r
+  # - Load segment\r
+  0x01, 0x00, 0x00, 0x00,\r
+  0x00, 0x00, 0x00, 0x00,\r
+  0x00, 0x00, 0x10, 0x00,\r
+  0x00, 0x00, 0x10, 0x00,\r
+  0x00, 0x00, 0x20, 0x00,\r
+  0x00, 0x00, 0x20, 0x00,\r
+  0x07, 0x00, 0x00, 0x00,\r
+  0x00, 0x00, 0x00, 0x00,\r
+  # - ELFNOTE segment\r
+  0x04, 0x00, 0x00, 0x00,\r
+  0x74, 0x00, 0x00, 0x00,\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,\r
+  0x00, 0x00, 0x00, 0x00,\r
+\r
+  # XEN_ELFNOTE_PHYS32_ENTRY\r
+  0x04, 0x00, 0x00, 0x00,\r
+  0x04, 0x00, 0x00, 0x00,\r
+  0x12, 0x00, 0x00, 0x00,\r
+  0x58, 0x65, 0x6e, 0x00,\r
+  0xd0, 0xff, 0x2f, 0x00\r
+}\r
index bf56fc4a6f65cae928ffe8050180b76752f93570..6c3702b716f051ca8bf624993f01bbb696f83a1d 100644 (file)
@@ -21,7 +21,7 @@
 //   sizeof (CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER)\r
 // PcdOvmfConfidentialComputingWorkAreaHeader defined in:\r
 //   OvmfPkg/OvmfPkg.dec\r
-//   OvmfPkg/OvmfPkgDefines.fdf.inc\r
+//   OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 typedef struct _CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER {\r
   UINT8    GuestType;\r
   UINT8    Reserved1[3];\r
index 6923eb88311365434ac5c48f96a330fcfaa3b425..e79ad3e10217686e6a7faa0a2064e19ad528f27a 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkg/OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include OvmfPkg/VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -43,7 +43,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include OvmfPkg/VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.OVMF_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -332,7 +332,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-# !include OvmfPkg/FvmainCompactScratchEnd.fdf.inc\r
+# !include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index 380ba3a368834e1f775e0b640d27185a52bde6d0..b83fd1e6e4fefeee012ddda9c097b94b37e70648 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkg/OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include OvmfPkg/VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -335,7 +335,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include OvmfPkg/FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
diff --git a/OvmfPkg/OvmfPkgDefines.fdf.inc b/OvmfPkg/OvmfPkgDefines.fdf.inc
deleted file mode 100644 (file)
index 6170c59..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-## @file\r
-#  FDF include file that defines the main macros and sets the dependent PCDs.\r
-#\r
-#  Copyright (C) 2014, Red Hat, Inc.\r
-#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
-#\r
-#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-DEFINE BLOCK_SIZE        = 0x1000\r
-DEFINE VARS_OFFSET       = 0\r
-\r
-#\r
-# A firmware binary built with FD_SIZE_IN_KB=1024, and a firmware binary built\r
-# with FD_SIZE_IN_KB=2048, use the same variable store layout.\r
-#\r
-# Setting FD_SIZE_IN_KB to 4096 results in a different (much larger) variable\r
-# store structure that is incompatible with both of the above-mentioned\r
-# firmware binaries.\r
-#\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-DEFINE VARS_SIZE         = 0x20000\r
-DEFINE VARS_BLOCKS       = 0x20\r
-DEFINE VARS_LIVE_SIZE    = 0xE000\r
-DEFINE VARS_SPARE_SIZE   = 0x10000\r
-!endif\r
-\r
-!if $(FD_SIZE_IN_KB) == 1024\r
-DEFINE FW_BASE_ADDRESS   = 0xFFF00000\r
-DEFINE FW_SIZE           = 0x00100000\r
-DEFINE FW_BLOCKS         = 0x100\r
-DEFINE CODE_BASE_ADDRESS = 0xFFF20000\r
-DEFINE CODE_SIZE         = 0x000E0000\r
-DEFINE CODE_BLOCKS       = 0xE0\r
-DEFINE FVMAIN_SIZE       = 0x000CC000\r
-DEFINE SECFV_OFFSET      = 0x000EC000\r
-DEFINE SECFV_SIZE        = 0x14000\r
-!endif\r
-\r
-!if $(FD_SIZE_IN_KB) == 2048\r
-DEFINE FW_BASE_ADDRESS   = 0xFFE00000\r
-DEFINE FW_SIZE           = 0x00200000\r
-DEFINE FW_BLOCKS         = 0x200\r
-DEFINE CODE_BASE_ADDRESS = 0xFFE20000\r
-DEFINE CODE_SIZE         = 0x001E0000\r
-DEFINE CODE_BLOCKS       = 0x1E0\r
-DEFINE FVMAIN_SIZE       = 0x001AC000\r
-DEFINE SECFV_OFFSET      = 0x001CC000\r
-DEFINE SECFV_SIZE        = 0x34000\r
-!endif\r
-\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-DEFINE VARS_SIZE         = 0x84000\r
-DEFINE VARS_BLOCKS       = 0x84\r
-DEFINE VARS_LIVE_SIZE    = 0x40000\r
-DEFINE VARS_SPARE_SIZE   = 0x42000\r
-\r
-DEFINE FW_BASE_ADDRESS   = 0xFFC00000\r
-DEFINE FW_SIZE           = 0x00400000\r
-DEFINE FW_BLOCKS         = 0x400\r
-DEFINE CODE_BASE_ADDRESS = 0xFFC84000\r
-DEFINE CODE_SIZE         = 0x0037C000\r
-DEFINE CODE_BLOCKS       = 0x37C\r
-DEFINE FVMAIN_SIZE       = 0x00348000\r
-DEFINE SECFV_OFFSET      = 0x003CC000\r
-DEFINE SECFV_SIZE        = 0x34000\r
-!endif\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress     = $(FW_BASE_ADDRESS)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize    = $(FW_SIZE)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize = $(BLOCK_SIZE)\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase = $(FW_BASE_ADDRESS)\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = $(VARS_LIVE_SIZE)\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize = $(BLOCK_SIZE)\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize = $(BLOCK_SIZE)\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize = $(VARS_SPARE_SIZE)\r
-\r
-# The OVMF WorkArea contains a fixed size header followed by the actual data.\r
-# The size of header is accessed through a fixed PCD in the reset vector code.\r
-# The value need to be kept in sync with the any changes to the Confidential\r
-# Computing Work Area header defined in the Include/WorkArea.h\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader  = 4\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvBase           = $(FW_BASE_ADDRESS)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataOffset  = $(VARS_OFFSET)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataSize    = $(VARS_SIZE)\r
-\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvBase           = $(CODE_BASE_ADDRESS)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataOffset  = $(VARS_SIZE)\r
-SET gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataSize    = $(CODE_SIZE)\r
-\r
-!if $(SMM_REQUIRE) == TRUE\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase\r
-SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase   = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase\r
-!endif\r
-\r
-DEFINE MEMFD_BASE_ADDRESS = 0x800000\r
index 7023ade8cebe2e2c06ffd2ce28b6abd56e90d7b9..72bce02caba173e940ba3469a32b107cca3ce962 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -43,7 +43,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.OVMF_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -410,7 +410,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index 80de4fa2c0df3587160418e3eca54ca9916fabef..576c985ae0087eb8943925beb05d73b2172accba 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -43,7 +43,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.OVMF_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -413,7 +413,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index c0f5a1ef3c30c7ba28569e4b34868907c3af0ef1..c4aa8824318667b119112260e804d81e8e2a9ac1 100644 (file)
@@ -11,7 +11,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # Build the variable store and the firmware code as one unified flash device\r
@@ -24,7 +24,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(FW_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 $(VARS_SIZE)|$(FVMAIN_SIZE)\r
 FV = FVMAIN_COMPACT\r
@@ -43,7 +43,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.OVMF_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -440,7 +440,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index 029b7dadcb2576ef8dca6ca45a477e4d3a861ca0..8be69338c7b670d2f552a52ae86e7f8c8601f6c8 100644 (file)
@@ -12,7 +12,7 @@
 ################################################################################\r
 \r
 [Defines]\r
-!include OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
 \r
 #\r
 # This will allow the flash device image to be recognize as an ELF, with first\r
@@ -32,7 +32,7 @@ NumBlocks     = $(FW_BLOCKS)
 0x00000000|0x00040000\r
 !endif\r
 \r
-!include XenElfHeader.fdf.inc\r
+!include OvmfPkg/Include/Fdf/XenElfHeader.fdf.inc\r
 \r
 !if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
 0x0000e000|0x00001000\r
@@ -86,7 +86,7 @@ ErasePolarity = 1
 BlockSize     = $(BLOCK_SIZE)\r
 NumBlocks     = $(VARS_BLOCKS)\r
 \r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
 \r
 [FD.OVMF_CODE]\r
 BaseAddress   = $(CODE_BASE_ADDRESS)\r
@@ -388,7 +388,7 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
    }\r
  }\r
 \r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
 \r
 ################################################################################\r
 \r
index 6af38aaf46ee6cb085b62e702edd1add5799d252..520b1251321b4322aea2006d5e9d963b541112ed 100644 (file)
@@ -284,7 +284,7 @@ SevEsIsEnabled (
 /**\r
  Validate System RAM used for decompressing the PEI and DXE firmware volumes\r
  when SEV-SNP is active. The PCDs SecValidatedStart and SecValidatedEnd are\r
- set in OvmfPkg/FvmainCompactScratchEnd.fdf.inc.\r
+ set in OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc.\r
 \r
 **/\r
 VOID\r
index dffd2ceb9656e3d6a3a5e35dbc23f3da440171f3..f75877096e11ba061bb66273fe274c96ff2fa75f 100644 (file)
@@ -71,7 +71,7 @@ SevEsIsEnabled (
 /**\r
  Validate System RAM used for decompressing the PEI and DXE firmware volumes\r
  when SEV-SNP is active. The PCDs SecValidatedStart and SecValidatedEnd are\r
- set in OvmfPkg/FvmainCompactScratchEnd.fdf.inc.\r
+ set in OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc.\r
 \r
 **/\r
 VOID\r
diff --git a/OvmfPkg/VarStore.fdf.inc b/OvmfPkg/VarStore.fdf.inc
deleted file mode 100644 (file)
index a1e524e..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-## @file\r
-#  FDF include file with Layout Regions that define an empty variable store.\r
-#\r
-#  Copyright (C) 2014, Red Hat, Inc.\r
-#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
-#\r
-#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-0x00000000|0x0000e000\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-0x00000000|0x00040000\r
-!endif\r
-#NV_VARIABLE_STORE\r
-DATA = {\r
-  ## This is the EFI_FIRMWARE_VOLUME_HEADER\r
-  # ZeroVector []\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  # FileSystemGuid: gEfiSystemNvDataFvGuid         =\r
-  #   { 0xFFF12B8D, 0x7696, 0x4C8B,\r
-  #     { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
-  0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
-  0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-  # FvLength: 0x20000\r
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-  # FvLength: 0x84000\r
-  0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-!endif\r
-  # Signature "_FVH"       # Attributes\r
-  0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,\r
-  # HeaderLength\r
-  0x48, 0x00,\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-  # CheckSum\r
-  0x19, 0xF9,\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-  # CheckSum\r
-  0xAF, 0xB8,\r
-!endif\r
-  # ExtHeaderOffset #Reserved #Revision\r
-  0x00, 0x00, 0x00, 0x02,\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-  # Blockmap[0]: 0x20 Blocks * 0x1000 Bytes / Block\r
-  0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-  # Blockmap[0]: 0x84 Blocks * 0x1000 Bytes / Block\r
-  0x84, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\r
-!endif\r
-  # Blockmap[1]: End\r
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-  ## This is the VARIABLE_STORE_HEADER\r
-  # It is compatible with SECURE_BOOT_ENABLE == FALSE as well.\r
-  # Signature: gEfiAuthenticatedVariableGuid =\r
-  #   { 0xaaf32c78, 0x947b, 0x439a,\r
-  #     { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}\r
-  0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,\r
-  0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-  # Size: 0xe000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -\r
-  #         0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xdfb8\r
-  # This can speed up the Variable Dispatch a bit.\r
-  0xB8, 0xDF, 0x00, 0x00,\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-  # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -\r
-  #          0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8\r
-  # This can speed up the Variable Dispatch a bit.\r
-  0xB8, 0xFF, 0x03, 0x00,\r
-!endif\r
-  # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32\r
-  0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-}\r
-\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-0x0000e000|0x00001000\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-0x00040000|0x00001000\r
-!endif\r
-#NV_EVENT_LOG\r
-\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-0x0000f000|0x00001000\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-0x00041000|0x00001000\r
-!endif\r
-#NV_FTW_WORKING\r
-DATA = {\r
-  # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid         =\r
-  #  { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95 }}\r
-  0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,\r
-  0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95,\r
-  # Crc:UINT32            #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
-  0x2c, 0xaf, 0x2c, 0x64, 0xFE, 0xFF, 0xFF, 0xFF,\r
-  # WriteQueueSize: UINT64\r
-  0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-}\r
-\r
-!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
-0x00010000|0x00010000\r
-!endif\r
-!if $(FD_SIZE_IN_KB) == 4096\r
-0x00042000|0x00042000\r
-!endif\r
-#NV_FTW_SPARE\r
diff --git a/OvmfPkg/XenElfHeader.fdf.inc b/OvmfPkg/XenElfHeader.fdf.inc
deleted file mode 100644 (file)
index c4f04ad..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-## @file\r
-#  FDF include file that defines a PVH ELF header.\r
-#\r
-#  Copyright (c) 2022, Intel Corporation. All rights reserved.\r
-#\r
-#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-DATA = {\r
-  # ELF file header\r
-  0x7f, 0x45, 0x4c, 0x46, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00,\r
-  0xd0, 0xff, 0x2f, 0x00, # hdr.e_entry\r
-  0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-\r
-  # ELF Program segment headers\r
-  # - Load segment\r
-  0x01, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x10, 0x00,\r
-  0x00, 0x00, 0x10, 0x00,\r
-  0x00, 0x00, 0x20, 0x00,\r
-  0x00, 0x00, 0x20, 0x00,\r
-  0x07, 0x00, 0x00, 0x00,\r
-  0x00, 0x00, 0x00, 0x00,\r
-  # - ELFNOTE segment\r
-  0x04, 0x00, 0x00, 0x00,\r
-  0x74, 0x00, 0x00, 0x00,\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,\r
-  0x00, 0x00, 0x00, 0x00,\r
-\r
-  # XEN_ELFNOTE_PHYS32_ENTRY\r
-  0x04, 0x00, 0x00, 0x00,\r
-  0x04, 0x00, 0x00, 0x00,\r
-  0x12, 0x00, 0x00, 0x00,\r
-  0x58, 0x65, 0x6e, 0x00,\r
-  0xd0, 0xff, 0x2f, 0x00\r
-}\r