You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2256 lines
98 KiB
2256 lines
98 KiB
From a653b017b8d7222e95106eabb835c33a9dcb8f69 Mon Sep 17 00:00:00 2001
|
|
From: Jon Maloy <jmaloy@redhat.com>
|
|
Date: Thu, 20 Jun 2024 15:31:15 -0400
|
|
Subject: [PATCH 15/31] MdeModulePkg: Duplicate BaseRngLibTimerLib to
|
|
MdeModulePkg
|
|
|
|
RH-Author: Jon Maloy <jmaloy@redhat.com>
|
|
RH-MergeRequest: 77: UINT32 overflow in S3 ResumeCount and Pixiefail fixes
|
|
RH-Jira: RHEL-21854 RHEL-21856 RHEL-40099
|
|
RH-Acked-by: Gerd Hoffmann <None>
|
|
RH-Commit: [15/31] dd75e7846edc2449229c32d5c4fc5fef0133069f
|
|
|
|
JIRA: https://issues.redhat.com/browse/RHEL-21856
|
|
Upstream: Merged
|
|
CVE: CVE-2023-45237
|
|
|
|
commit 2f981bddcbd6adde5f682caf0d3812ba92bc0f73
|
|
Author: Pierre Gondois <pierre.gondois@arm.com>
|
|
Date: Fri Aug 11 16:33:02 2023 +0200
|
|
|
|
MdeModulePkg: Duplicate BaseRngLibTimerLib to MdeModulePkg
|
|
|
|
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4504
|
|
|
|
The BaseRngLibTimerLib allows to generate number based on a timer.
|
|
This mechanism allows to have a basic non-secure implementation
|
|
for non-production platforms.
|
|
To bind and identify Random Number Generators implementations with
|
|
a GUID, an unsafe GUID should be added. This GUID cannot be added
|
|
to the MdePkg unless it is also added to a specification.
|
|
|
|
To keep the MdePkg self-contained, copy the BaseRngLibTimerLib to
|
|
the MdeModulePkg. This will allow to define an unsafe Rng GUID
|
|
in a later patch in the MdeModulePkg.
|
|
|
|
The MdePkg implementation will be removed later. This allows to give
|
|
some time to platform owners to switch to the MdeModulePkg
|
|
implementation.
|
|
|
|
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
|
|
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
|
Tested-by: Kun Qin <kun.qin@microsoft.com>
|
|
|
|
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
|
|
---
|
|
ArmVirtPkg/ArmVirt.dsc.inc | 2 +-
|
|
EmulatorPkg/EmulatorPkg.dsc | 2 +-
|
|
.../BaseRngLibTimerLib/BaseRngLibTimerLib.inf | 36 +
|
|
.../BaseRngLibTimerLib/BaseRngLibTimerLib.uni | 15 +
|
|
.../Library/BaseRngLibTimerLib/RngLibTimer.c | 192 ++++
|
|
MdeModulePkg/MdeModulePkg.dsc | 1 +
|
|
NetworkPkg/NetworkPkg.dsc | 4 +-
|
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
|
|
OvmfPkg/Bhyve/BhyveX64.dsc | 2 +-
|
|
OvmfPkg/CloudHv/CloudHvX64.dsc | 949 ++++++++++++++++++
|
|
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 779 ++++++++++++++
|
|
OvmfPkg/Microvm/MicrovmX64.dsc | 2 +-
|
|
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
|
|
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
|
|
OvmfPkg/OvmfPkgX64.dsc | 2 +-
|
|
OvmfPkg/OvmfXen.dsc | 2 +-
|
|
SecurityPkg/SecurityPkg.dsc | 4 +-
|
|
SignedCapsulePkg/SignedCapsulePkg.dsc | 4 +-
|
|
18 files changed, 1987 insertions(+), 15 deletions(-)
|
|
create mode 100644 MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
create mode 100644 MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.uni
|
|
create mode 100644 MdeModulePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
|
create mode 100644 OvmfPkg/CloudHv/CloudHvX64.dsc
|
|
create mode 100644 OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
|
|
|
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
|
|
index 5a1598d90c..584affa836 100644
|
|
--- a/ArmVirtPkg/ArmVirt.dsc.inc
|
|
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
|
|
@@ -161,7 +161,7 @@
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
#
|
|
# Secure Boot dependencies
|
|
diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
|
|
index 554c13ddb5..4168837b67 100644
|
|
--- a/EmulatorPkg/EmulatorPkg.dsc
|
|
+++ b/EmulatorPkg/EmulatorPkg.dsc
|
|
@@ -127,7 +127,7 @@
|
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
|
|
diff --git a/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf b/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
new file mode 100644
|
|
index 0000000000..f857290e82
|
|
--- /dev/null
|
|
+++ b/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
@@ -0,0 +1,36 @@
|
|
+## @file
|
|
+# Instance of RNG (Random Number Generator) Library.
|
|
+#
|
|
+# BaseRng Library that uses the TimerLib to provide reasonably random numbers.
|
|
+# Do NOT use this on a production system as this uses the system performance
|
|
+# counter rather than a true source of random in addition to having a weak
|
|
+# random algorithm. This is provided primarily as a source of entropy for
|
|
+# OpenSSL for platforms that do not have a good built in RngLib as this
|
|
+# emulates what was done before (though it isn't perfect).
|
|
+#
|
|
+# Copyright (c) Microsoft Corporation. All rights reserved.<BR>
|
|
+#
|
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+#
|
|
+#
|
|
+##
|
|
+
|
|
+[Defines]
|
|
+ INF_VERSION = 1.27
|
|
+ BASE_NAME = BaseRngLibTimerLib
|
|
+ MODULE_UNI_FILE = BaseRngLibTimerLib.uni
|
|
+ FILE_GUID = 74950C45-10FC-4AB5-B114-49C87C17409B
|
|
+ MODULE_TYPE = BASE
|
|
+ VERSION_STRING = 1.0
|
|
+ LIBRARY_CLASS = RngLib
|
|
+
|
|
+[Sources]
|
|
+ RngLibTimer.c
|
|
+
|
|
+[Packages]
|
|
+ MdePkg/MdePkg.dec
|
|
+
|
|
+[LibraryClasses]
|
|
+ BaseLib
|
|
+ DebugLib
|
|
+ TimerLib
|
|
diff --git a/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.uni b/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.uni
|
|
new file mode 100644
|
|
index 0000000000..fde24b9f01
|
|
--- /dev/null
|
|
+++ b/MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.uni
|
|
@@ -0,0 +1,15 @@
|
|
+// @file
|
|
+// Instance of RNG (Random Number Generator) Library.
|
|
+//
|
|
+// RngLib that uses TimerLib's performance counter to provide random numbers.
|
|
+//
|
|
+// Copyright (c) Microsoft Corporation.
|
|
+//
|
|
+// SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+//
|
|
+
|
|
+
|
|
+#string STR_MODULE_ABSTRACT #language en-US "Instance of RNG Library"
|
|
+
|
|
+#string STR_MODULE_DESCRIPTION #language en-US "BaseRng Library that uses the TimerLib to provide low-entropy random numbers"
|
|
+
|
|
diff --git a/MdeModulePkg/Library/BaseRngLibTimerLib/RngLibTimer.c b/MdeModulePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
|
new file mode 100644
|
|
index 0000000000..980854d67b
|
|
--- /dev/null
|
|
+++ b/MdeModulePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
|
@@ -0,0 +1,192 @@
|
|
+/** @file
|
|
+ BaseRng Library that uses the TimerLib to provide reasonably random numbers.
|
|
+ Do not use this on a production system.
|
|
+
|
|
+ Copyright (c) Microsoft Corporation.
|
|
+ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+**/
|
|
+
|
|
+#include <Base.h>
|
|
+#include <Library/BaseLib.h>
|
|
+#include <Library/DebugLib.h>
|
|
+#include <Library/TimerLib.h>
|
|
+
|
|
+#define DEFAULT_DELAY_TIME_IN_MICROSECONDS 10
|
|
+
|
|
+/**
|
|
+ Using the TimerLib GetPerformanceCounterProperties() we delay
|
|
+ for enough time for the PerformanceCounter to increment.
|
|
+
|
|
+ If the return value from GetPerformanceCounterProperties (TimerLib)
|
|
+ is zero, this function will return 10 and attempt to assert.
|
|
+ **/
|
|
+STATIC
|
|
+UINT32
|
|
+CalculateMinimumDecentDelayInMicroseconds (
|
|
+ VOID
|
|
+ )
|
|
+{
|
|
+ UINT64 CounterHz;
|
|
+
|
|
+ // Get the counter properties
|
|
+ CounterHz = GetPerformanceCounterProperties (NULL, NULL);
|
|
+ // Make sure we won't divide by zero
|
|
+ if (CounterHz == 0) {
|
|
+ ASSERT (CounterHz != 0); // Assert so the developer knows something is wrong
|
|
+ return DEFAULT_DELAY_TIME_IN_MICROSECONDS;
|
|
+ }
|
|
+
|
|
+ // Calculate the minimum delay based on 1.5 microseconds divided by the hertz.
|
|
+ // We calculate the length of a cycle (1/CounterHz) and multiply it by 1.5 microseconds
|
|
+ // This ensures that the performance counter has increased by at least one
|
|
+ return (UINT32)(MAX (DivU64x64Remainder (1500000, CounterHz, NULL), 1));
|
|
+}
|
|
+
|
|
+/**
|
|
+ Generates a 16-bit random number.
|
|
+
|
|
+ if Rand is NULL, then ASSERT().
|
|
+
|
|
+ @param[out] Rand Buffer pointer to store the 16-bit random value.
|
|
+
|
|
+ @retval TRUE Random number generated successfully.
|
|
+ @retval FALSE Failed to generate the random number.
|
|
+
|
|
+**/
|
|
+BOOLEAN
|
|
+EFIAPI
|
|
+GetRandomNumber16 (
|
|
+ OUT UINT16 *Rand
|
|
+ )
|
|
+{
|
|
+ UINT32 Index;
|
|
+ UINT8 *RandPtr;
|
|
+ UINT32 DelayInMicroSeconds;
|
|
+
|
|
+ ASSERT (Rand != NULL);
|
|
+
|
|
+ if (Rand == NULL) {
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
|
+ RandPtr = (UINT8 *)Rand;
|
|
+ // Get 2 bytes of random ish data
|
|
+ for (Index = 0; Index < sizeof (UINT16); Index++) {
|
|
+ *RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
|
+ // Delay to give the performance counter a chance to change
|
|
+ MicroSecondDelay (DelayInMicroSeconds);
|
|
+ RandPtr++;
|
|
+ }
|
|
+
|
|
+ return TRUE;
|
|
+}
|
|
+
|
|
+/**
|
|
+ Generates a 32-bit random number.
|
|
+
|
|
+ if Rand is NULL, then ASSERT().
|
|
+
|
|
+ @param[out] Rand Buffer pointer to store the 32-bit random value.
|
|
+
|
|
+ @retval TRUE Random number generated successfully.
|
|
+ @retval FALSE Failed to generate the random number.
|
|
+
|
|
+**/
|
|
+BOOLEAN
|
|
+EFIAPI
|
|
+GetRandomNumber32 (
|
|
+ OUT UINT32 *Rand
|
|
+ )
|
|
+{
|
|
+ UINT32 Index;
|
|
+ UINT8 *RandPtr;
|
|
+ UINT32 DelayInMicroSeconds;
|
|
+
|
|
+ ASSERT (Rand != NULL);
|
|
+
|
|
+ if (NULL == Rand) {
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ RandPtr = (UINT8 *)Rand;
|
|
+ DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
|
+ // Get 4 bytes of random ish data
|
|
+ for (Index = 0; Index < sizeof (UINT32); Index++) {
|
|
+ *RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
|
+ // Delay to give the performance counter a chance to change
|
|
+ MicroSecondDelay (DelayInMicroSeconds);
|
|
+ RandPtr++;
|
|
+ }
|
|
+
|
|
+ return TRUE;
|
|
+}
|
|
+
|
|
+/**
|
|
+ Generates a 64-bit random number.
|
|
+
|
|
+ if Rand is NULL, then ASSERT().
|
|
+
|
|
+ @param[out] Rand Buffer pointer to store the 64-bit random value.
|
|
+
|
|
+ @retval TRUE Random number generated successfully.
|
|
+ @retval FALSE Failed to generate the random number.
|
|
+
|
|
+**/
|
|
+BOOLEAN
|
|
+EFIAPI
|
|
+GetRandomNumber64 (
|
|
+ OUT UINT64 *Rand
|
|
+ )
|
|
+{
|
|
+ UINT32 Index;
|
|
+ UINT8 *RandPtr;
|
|
+ UINT32 DelayInMicroSeconds;
|
|
+
|
|
+ ASSERT (Rand != NULL);
|
|
+
|
|
+ if (NULL == Rand) {
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ RandPtr = (UINT8 *)Rand;
|
|
+ DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
|
+ // Get 8 bytes of random ish data
|
|
+ for (Index = 0; Index < sizeof (UINT64); Index++) {
|
|
+ *RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
|
+ // Delay to give the performance counter a chance to change
|
|
+ MicroSecondDelay (DelayInMicroSeconds);
|
|
+ RandPtr++;
|
|
+ }
|
|
+
|
|
+ return TRUE;
|
|
+}
|
|
+
|
|
+/**
|
|
+ Generates a 128-bit random number.
|
|
+
|
|
+ if Rand is NULL, then ASSERT().
|
|
+
|
|
+ @param[out] Rand Buffer pointer to store the 128-bit random value.
|
|
+
|
|
+ @retval TRUE Random number generated successfully.
|
|
+ @retval FALSE Failed to generate the random number.
|
|
+
|
|
+**/
|
|
+BOOLEAN
|
|
+EFIAPI
|
|
+GetRandomNumber128 (
|
|
+ OUT UINT64 *Rand
|
|
+ )
|
|
+{
|
|
+ ASSERT (Rand != NULL);
|
|
+ // This should take around 80ms
|
|
+
|
|
+ // Read first 64 bits
|
|
+ if (!GetRandomNumber64 (Rand)) {
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ // Read second 64 bits
|
|
+ return GetRandomNumber64 (++Rand);
|
|
+}
|
|
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
|
|
index b1d8346186..a0f32431c2 100644
|
|
--- a/MdeModulePkg/MdeModulePkg.dsc
|
|
+++ b/MdeModulePkg/MdeModulePkg.dsc
|
|
@@ -336,6 +336,7 @@
|
|
MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
|
MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf
|
|
MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf
|
|
+ MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
|
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
|
|
diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc
|
|
index 8691a0f5d0..8362aef07e 100644
|
|
--- a/NetworkPkg/NetworkPkg.dsc
|
|
+++ b/NetworkPkg/NetworkPkg.dsc
|
|
@@ -80,10 +80,10 @@
|
|
ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
|
|
|
|
[LibraryClasses.ARM]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[LibraryClasses.RISCV64]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[PcdsFeatureFlag]
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
|
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
index ccdf9b8ce0..a1a6897bc2 100644
|
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
@@ -188,7 +188,7 @@
|
|
|
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
|
|
index d8fe607d1c..1f710a0a04 100644
|
|
--- a/OvmfPkg/Bhyve/BhyveX64.dsc
|
|
+++ b/OvmfPkg/Bhyve/BhyveX64.dsc
|
|
@@ -192,7 +192,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
PlatformSecureLib|OvmfPkg/Bhyve/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
|
|
new file mode 100644
|
|
index 0000000000..d76da20784
|
|
--- /dev/null
|
|
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
|
|
@@ -0,0 +1,949 @@
|
|
+## @file
|
|
+# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
|
|
+#
|
|
+# Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
|
|
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
+# Copyright (c) Microsoft Corporation.
|
|
+#
|
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+#
|
|
+##
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Defines Section - statements that will be processed to create a Makefile.
|
|
+#
|
|
+################################################################################
|
|
+[Defines]
|
|
+ PLATFORM_NAME = CloudHv
|
|
+ PLATFORM_GUID = 97bb49d2-9814-4bea-8311-f8b9ac231e11
|
|
+ PLATFORM_VERSION = 0.1
|
|
+ DSC_SPECIFICATION = 0x00010005
|
|
+ OUTPUT_DIRECTORY = Build/CloudHvX64
|
|
+ SUPPORTED_ARCHITECTURES = X64
|
|
+ BUILD_TARGETS = NOOPT|DEBUG|RELEASE
|
|
+ SKUID_IDENTIFIER = DEFAULT
|
|
+ FLASH_DEFINITION = OvmfPkg/CloudHv/CloudHvX64.fdf
|
|
+
|
|
+ #
|
|
+ # Defines for default states. These can be changed on the command line.
|
|
+ # -D FLAG=VALUE
|
|
+ #
|
|
+ DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
+ DEFINE SMM_REQUIRE = FALSE
|
|
+ DEFINE SOURCE_DEBUG_ENABLE = FALSE
|
|
+
|
|
+!include OvmfPkg/OvmfTpmDefines.dsc.inc
|
|
+
|
|
+ #
|
|
+ # Network definition
|
|
+ #
|
|
+ DEFINE NETWORK_TLS_ENABLE = FALSE
|
|
+ DEFINE NETWORK_IP6_ENABLE = FALSE
|
|
+ DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
|
|
+ DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
|
|
+ DEFINE NETWORK_ISCSI_ENABLE = TRUE
|
|
+
|
|
+!include NetworkPkg/NetworkDefines.dsc.inc
|
|
+
|
|
+ #
|
|
+ # Device drivers
|
|
+ #
|
|
+ DEFINE PVSCSI_ENABLE = FALSE
|
|
+ DEFINE MPT_SCSI_ENABLE = FALSE
|
|
+ DEFINE LSI_SCSI_ENABLE = FALSE
|
|
+
|
|
+ #
|
|
+ # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
|
|
+ # one of the supported values, in place of any of the convenience macros, is
|
|
+ # permitted.
|
|
+ #
|
|
+!ifdef $(FD_SIZE_1MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 1024
|
|
+!else
|
|
+!ifdef $(FD_SIZE_2MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 2048
|
|
+!else
|
|
+!ifdef $(FD_SIZE_4MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 4096
|
|
+!else
|
|
+ DEFINE FD_SIZE_IN_KB = 4096
|
|
+!endif
|
|
+!endif
|
|
+!endif
|
|
+
|
|
+[BuildOptions]
|
|
+ GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
+ INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
+ MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
+!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
|
|
+ GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse
|
|
+!endif
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ MSFT:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
+ GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
+ INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
+!endif
|
|
+ RELEASE_*_*_GENFW_FLAGS = --zero
|
|
+
|
|
+ #
|
|
+ # Disable deprecated APIs.
|
|
+ #
|
|
+ MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+ INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+ GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+
|
|
+ #
|
|
+ # SECURE_BOOT_FEATURE_ENABLED
|
|
+ #
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ MSFT:*_*_*_CC_FLAGS = /D SECURE_BOOT_FEATURE_ENABLED
|
|
+ INTEL:*_*_*_CC_FLAGS = /D SECURE_BOOT_FEATURE_ENABLED
|
|
+ GCC:*_*_*_CC_FLAGS = -D SECURE_BOOT_FEATURE_ENABLED
|
|
+!endif
|
|
+
|
|
+!include NetworkPkg/NetworkBuildOptions.dsc.inc
|
|
+
|
|
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
|
|
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
|
+ XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
|
|
+ XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
|
|
+ CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
|
|
+
|
|
+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level
|
|
+# protection of DXE_SMM_DRIVER/SMM_CORE modules
|
|
+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
|
|
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
|
+ XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
|
|
+ XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
|
|
+ CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# SKU Identification section - list of all SKU IDs supported by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[SkuIds]
|
|
+ 0|DEFAULT
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Library Class section - list of all Library Classes needed by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+
|
|
+!include MdePkg/MdeLibs.dsc.inc
|
|
+
|
|
+[LibraryClasses]
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
|
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
|
|
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
|
+ TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
|
|
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
|
+ SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
|
+ CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
|
|
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
|
|
+ UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
|
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
|
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
+ PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
|
|
+ PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
|
|
+ PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
+ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
|
+ PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
|
|
+ PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
|
|
+ PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
|
|
+ CcProbeLib|MdePkg/Library/CcProbeLibNull/CcProbeLibNull.inf
|
|
+ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
|
|
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
+ SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
|
|
+ MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
|
|
+ MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
|
|
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
|
|
+ NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
|
|
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
+ UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
|
|
+ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
|
|
+ SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
|
|
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibNull.inf
|
|
+ QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
|
|
+ VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
|
+ LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
|
|
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
|
|
+ PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
|
+ DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
|
|
+!if $(SMM_REQUIRE) == FALSE
|
|
+ LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
|
|
+!endif
|
|
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
|
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
|
+ MemEncryptTdxLib|OvmfPkg/Library/BaseMemEncryptTdxLib/BaseMemEncryptTdxLib.inf
|
|
+
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
|
|
+ DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
|
|
+!else
|
|
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
|
|
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
|
|
+!endif
|
|
+
|
|
+ LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
|
|
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
+
|
|
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
+!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
+!else
|
|
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
+!endif
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
+ AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
|
|
+ SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
|
|
+ PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
|
|
+ SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
|
|
+!else
|
|
+ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
+!endif
|
|
+ VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
|
|
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
|
+ VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
|
|
+
|
|
+
|
|
+ #
|
|
+ # Network libraries
|
|
+ #
|
|
+!include NetworkPkg/NetworkLibs.dsc.inc
|
|
+
|
|
+!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
+ TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
+!endif
|
|
+
|
|
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
|
|
+ S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
|
|
+ SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
|
|
+ OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
|
|
+
|
|
+!include OvmfPkg/OvmfTpmLibs.dsc.inc
|
|
+
|
|
+[LibraryClasses.common]
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
+ CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
|
+ TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
|
+
|
|
+[LibraryClasses.common.SEC]
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
|
+!endif
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
+ ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
|
|
+!endif
|
|
+ HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
+ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
+ PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
+!if $(TOOL_CHAIN_TAG) == "XCODE5"
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf
|
|
+!else
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
|
+!endif
|
|
+ CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
|
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
|
+
|
|
+[LibraryClasses.common.PEI_CORE]
|
|
+ HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
+ PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
+ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
+ PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
+
|
|
+[LibraryClasses.common.PEIM]
|
|
+ HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
+ PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
+ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
+ PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
+ ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
|
|
+ ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
|
|
+!endif
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
|
|
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
|
|
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf
|
|
+ PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibNull.inf
|
|
+
|
|
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
|
|
+ PlatformInitLib|OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_CORE]
|
|
+ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
|
+!endif
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
|
|
+!endif
|
|
+
|
|
+[LibraryClasses.common.UEFI_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
|
+ PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
|
+ QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
|
|
+!else
|
|
+ LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
|
|
+!endif
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
|
+!endif
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
|
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
|
|
+ QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
|
|
+
|
|
+[LibraryClasses.common.UEFI_APPLICATION]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_SMM_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
|
+ MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
|
|
+ SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
|
|
+!endif
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+ SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
|
|
+
|
|
+[LibraryClasses.common.SMM_CORE]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
|
|
+ MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
|
+ SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[PcdsFeatureFlag]
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache|FALSE
|
|
+!endif
|
|
+
|
|
+[PcdsFixedAtBuild]
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
|
|
+!if $(SMM_REQUIRE) == FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
|
+!endif
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
|
|
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
|
+!if $(NETWORK_TLS_ENABLE) == FALSE
|
|
+ # match PcdFlashNvStorageVariableSize purely for convenience
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
|
|
+!endif
|
|
+!endif
|
|
+!if $(FD_SIZE_IN_KB) == 4096
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x8400
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400
|
|
+!if $(NETWORK_TLS_ENABLE) == FALSE
|
|
+ # match PcdFlashNvStorageVariableSize purely for convenience
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
|
|
+!endif
|
|
+!endif
|
|
+!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
|
|
+!endif
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
|
|
+
|
|
+ # DEBUG_INIT 0x00000001 // Initialization
|
|
+ # DEBUG_WARN 0x00000002 // Warnings
|
|
+ # DEBUG_LOAD 0x00000004 // Load events
|
|
+ # DEBUG_FS 0x00000008 // EFI File system
|
|
+ # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
|
|
+ # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
|
|
+ # DEBUG_INFO 0x00000040 // Informational debug messages
|
|
+ # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
|
|
+ # DEBUG_VARIABLE 0x00000100 // Variable
|
|
+ # DEBUG_BM 0x00000400 // Boot Manager
|
|
+ # DEBUG_BLKIO 0x00001000 // BlkIo Driver
|
|
+ # DEBUG_NET 0x00004000 // SNP Driver
|
|
+ # DEBUG_UNDI 0x00010000 // UNDI Driver
|
|
+ # DEBUG_LOADFILE 0x00020000 // LoadFile
|
|
+ # DEBUG_EVENT 0x00080000 // Event messages
|
|
+ # DEBUG_GCD 0x00100000 // Global Coherency Database changes
|
|
+ # DEBUG_CACHE 0x00200000 // Memory range cachability changes
|
|
+ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
|
+ # // significantly impact boot performance
|
|
+ # DEBUG_ERROR 0x80000000 // Error
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
|
+
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
|
+!else
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
|
|
+!endif
|
|
+
|
|
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
|
+ gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
|
|
+!endif
|
|
+
|
|
+ #
|
|
+ # The NumberOfPages values below are ad-hoc. They are updated sporadically at
|
|
+ # best (please refer to git-blame for past updates). The values capture a set
|
|
+ # of BIN hints that made sense at a particular time, for some (now likely
|
|
+ # unknown) workloads / boot paths.
|
|
+ #
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0x80
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0x10
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0x80
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100
|
|
+
|
|
+ #
|
|
+ # Network Pcds
|
|
+ #
|
|
+!include NetworkPkg/NetworkPcds.dsc.inc
|
|
+
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
|
|
+
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
|
|
+!endif
|
|
+
|
|
+ # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
|
+#
|
|
+################################################################################
|
|
+
|
|
+[PcdsDynamicDefault]
|
|
+ # only set when
|
|
+ # ($(SMM_REQUIRE) == FALSE)
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
|
+!if $(SMM_REQUIRE) == FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
|
+!endif
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
|
+
|
|
+ # Noexec settings for DXE.
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
|
|
+
|
|
+ # UefiCpuPkg PCDs related to initial AP bringup and general AP management.
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0
|
|
+
|
|
+ # Set memory encryption mask
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0
|
|
+
|
|
+ # Set Tdx shared bit mask
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0
|
|
+
|
|
+ # Set SEV-ES defaults
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
|
|
+
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
|
|
+!endif
|
|
+
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
|
|
+
|
|
+!include OvmfPkg/OvmfTpmPcds.dsc.inc
|
|
+
|
|
+ # IPv4 and IPv6 PXE Boot support.
|
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
|
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
|
|
+
|
|
+ # Set ConfidentialComputing defaults
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
|
|
+
|
|
+[PcdsDynamicHii]
|
|
+!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Components Section - list of all EDK II Modules needed by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[Components]
|
|
+ OvmfPkg/XenResetVector/XenResetVector.inf
|
|
+
|
|
+ #
|
|
+ # SEC Phase modules
|
|
+ #
|
|
+ OvmfPkg/Sec/SecMain.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
+ }
|
|
+
|
|
+ #
|
|
+ # PEI Phase modules
|
|
+ #
|
|
+ MdeModulePkg/Core/Pei/PeiMain.inf
|
|
+ MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+ MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
|
+
|
|
+ OvmfPkg/PlatformPei/PlatformPei.inf
|
|
+ UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf {
|
|
+ <LibraryClasses>
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
|
|
+!endif
|
|
+ }
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
|
|
+ MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
|
+ OvmfPkg/SmmAccess/SmmAccessPei.inf
|
|
+!endif
|
|
+ UefiCpuPkg/CpuMpPei/CpuMpPei.inf
|
|
+
|
|
+!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
|
|
+
|
|
+ #
|
|
+ # DXE Phase modules
|
|
+ #
|
|
+ MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
+
|
|
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
|
+ <LibraryClasses>
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
|
+!include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
|
|
+!endif
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
|
+ UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
|
+ UefiCpuPkg/CpuDxe/CpuDxe.inf
|
|
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
|
+ OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
|
|
+ OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
|
+ MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
|
|
+ PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
|
+ NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/Metronome/Metronome.inf
|
|
+ PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
|
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Logo/LogoDxe.inf
|
|
+ MdeModulePkg/Application/UiApp/UiApp.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
|
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
|
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
|
+ }
|
|
+ OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
|
+ }
|
|
+ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
|
+ OvmfPkg/Virtio10Dxe/Virtio10.inf
|
|
+ OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
+ OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
+ OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
|
+!if $(PVSCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
|
+!endif
|
|
+!if $(MPT_SCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/MptScsiDxe/MptScsiDxe.inf
|
|
+!endif
|
|
+!if $(LSI_SCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
|
|
+!endif
|
|
+ MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
+ MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
+ MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
+ MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
+ FatPkg/EnhancedFatDxe/Fat.inf
|
|
+ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
|
+ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
|
+ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
+ MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
|
+ OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
|
+ MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
|
+ MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
+ MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
+ MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
+ MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
|
+
|
|
+ #
|
|
+ # Serial Support
|
|
+ #
|
|
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
|
+
|
|
+ #
|
|
+ # SMBIOS Support
|
|
+ #
|
|
+ MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
|
+ }
|
|
+ OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
+
|
|
+ #
|
|
+ # ACPI Support
|
|
+ #
|
|
+ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
|
+ OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
+
|
|
+ #
|
|
+ # Network Support
|
|
+ #
|
|
+!include NetworkPkg/NetworkComponents.dsc.inc
|
|
+!include OvmfPkg/NetworkComponents.dsc.inc
|
|
+
|
|
+ OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
|
+
|
|
+!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
|
+ ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ }
|
|
+ ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ }
|
|
+ OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ }
|
|
+!endif
|
|
+ ShellPkg/Application/Shell/Shell.inf {
|
|
+ <LibraryClasses>
|
|
+ ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
|
|
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
+ NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
|
|
+!endif
|
|
+ HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
|
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
|
|
+
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
|
|
+ }
|
|
+
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
|
|
+!endif
|
|
+
|
|
+ OvmfPkg/PlatformDxe/Platform.inf
|
|
+ OvmfPkg/AmdSevDxe/AmdSevDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
+ }
|
|
+ OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
|
+
|
|
+!if $(SMM_REQUIRE) == TRUE
|
|
+ OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
|
|
+ OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
|
|
+ OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf
|
|
+
|
|
+ #
|
|
+ # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)
|
|
+ #
|
|
+ MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
|
|
+
|
|
+ #
|
|
+ # SMM_CORE
|
|
+ #
|
|
+ MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
|
|
+
|
|
+ #
|
|
+ # Privileged drivers (DXE_SMM_DRIVER modules)
|
|
+ #
|
|
+ OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf
|
|
+ UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
|
+ MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
|
|
+ <LibraryClasses>
|
|
+ LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
|
|
+ }
|
|
+ UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
|
|
+ <LibraryClasses>
|
|
+ SmmCpuPlatformHookLib|OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
|
|
+ SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
|
|
+ }
|
|
+
|
|
+ #
|
|
+ # Variable driver stack (SMM)
|
|
+ #
|
|
+ OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
|
|
+ <LibraryClasses>
|
|
+ CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
|
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
+ NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
|
|
+
|
|
+!else
|
|
+
|
|
+ #
|
|
+ # Variable driver stack (non-SMM)
|
|
+ #
|
|
+ OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
|
+ OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
|
|
+ <LibraryClasses>
|
|
+ PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
+ }
|
|
+!endif
|
|
+
|
|
+ #
|
|
+ # TPM support
|
|
+ #
|
|
+!include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
|
|
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
|
new file mode 100644
|
|
index 0000000000..d08b77ff25
|
|
--- /dev/null
|
|
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
|
@@ -0,0 +1,779 @@
|
|
+## @file
|
|
+# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
|
|
+#
|
|
+# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
+# Copyright (c) Microsoft Corporation.
|
|
+#
|
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+#
|
|
+##
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Defines Section - statements that will be processed to create a Makefile.
|
|
+#
|
|
+################################################################################
|
|
+[Defines]
|
|
+ PLATFORM_NAME = Ovmf
|
|
+ PLATFORM_GUID = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b
|
|
+ PLATFORM_VERSION = 0.1
|
|
+ DSC_SPECIFICATION = 0x00010005
|
|
+ OUTPUT_DIRECTORY = Build/IntelTdx
|
|
+ SUPPORTED_ARCHITECTURES = X64
|
|
+ BUILD_TARGETS = NOOPT|DEBUG|RELEASE
|
|
+ SKUID_IDENTIFIER = DEFAULT
|
|
+ FLASH_DEFINITION = OvmfPkg/IntelTdx/IntelTdxX64.fdf
|
|
+
|
|
+ #
|
|
+ # Defines for default states. These can be changed on the command line.
|
|
+ # -D FLAG=VALUE
|
|
+ #
|
|
+ DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
+
|
|
+ #
|
|
+ # Device drivers
|
|
+ #
|
|
+ DEFINE PVSCSI_ENABLE = FALSE
|
|
+ DEFINE MPT_SCSI_ENABLE = FALSE
|
|
+ DEFINE LSI_SCSI_ENABLE = FALSE
|
|
+
|
|
+ #
|
|
+ # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
|
|
+ # one of the supported values, in place of any of the convenience macros, is
|
|
+ # permitted.
|
|
+ #
|
|
+!ifdef $(FD_SIZE_1MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 1024
|
|
+!else
|
|
+!ifdef $(FD_SIZE_2MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 2048
|
|
+!else
|
|
+!ifdef $(FD_SIZE_4MB)
|
|
+ DEFINE FD_SIZE_IN_KB = 4096
|
|
+!else
|
|
+ DEFINE FD_SIZE_IN_KB = 4096
|
|
+!endif
|
|
+!endif
|
|
+!endif
|
|
+
|
|
+ #
|
|
+ # Define the FILE_GUID of CpuDxe for unique-processor version.
|
|
+ #
|
|
+ DEFINE UP_CPU_DXE_GUID = 6490f1c5-ebcc-4665-8892-0075b9bb49b7
|
|
+
|
|
+[BuildOptions]
|
|
+ GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
+ INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
+ MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
+!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
|
|
+ GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse
|
|
+!endif
|
|
+ RELEASE_*_*_GENFW_FLAGS = --zero
|
|
+
|
|
+ #
|
|
+ # Disable deprecated APIs.
|
|
+ #
|
|
+ MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+ INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+ GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
+
|
|
+ #
|
|
+ # Add TDX_PEI_LESS_BOOT
|
|
+ #
|
|
+ MSFT:*_*_*_CC_FLAGS = /D TDX_PEI_LESS_BOOT
|
|
+ INTEL:*_*_*_CC_FLAGS = /D TDX_PEI_LESS_BOOT
|
|
+ GCC:*_*_*_CC_FLAGS = -D TDX_PEI_LESS_BOOT
|
|
+
|
|
+ #
|
|
+ # SECURE_BOOT_FEATURE_ENABLED
|
|
+ #
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ MSFT:*_*_*_CC_FLAGS = /D SECURE_BOOT_FEATURE_ENABLED
|
|
+ INTEL:*_*_*_CC_FLAGS = /D SECURE_BOOT_FEATURE_ENABLED
|
|
+ GCC:*_*_*_CC_FLAGS = -D SECURE_BOOT_FEATURE_ENABLED
|
|
+!endif
|
|
+
|
|
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
|
|
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
|
+ XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
|
|
+ XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
|
|
+ CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# SKU Identification section - list of all SKU IDs supported by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[SkuIds]
|
|
+ 0|DEFAULT
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Library Class section - list of all Library Classes needed by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+
|
|
+!include MdePkg/MdeLibs.dsc.inc
|
|
+
|
|
+[LibraryClasses]
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
|
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
|
|
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
|
+ TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
|
|
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
|
+ SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
|
+ CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
|
|
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
|
|
+ UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
|
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
|
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
+ PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
|
|
+ PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
|
|
+ PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
+ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
|
+ PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
|
|
+ PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
|
|
+ PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
|
|
+ CcProbeLib|OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.inf
|
|
+ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
|
|
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
+ SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
|
|
+ MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
|
|
+ MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
|
|
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
|
|
+ NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
|
|
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
+ UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
|
|
+ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
|
|
+ UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
|
|
+ SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
|
|
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
|
|
+ QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
|
|
+ VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
|
+ LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
|
|
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
|
|
+ MemEncryptTdxLib|OvmfPkg/Library/BaseMemEncryptTdxLib/BaseMemEncryptTdxLib.inf
|
|
+ PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
|
+ DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
|
|
+
|
|
+ LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
|
|
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
|
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
|
+
|
|
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
|
|
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
|
|
+
|
|
+ LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
|
|
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
+
|
|
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
+ AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
|
|
+ SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
|
|
+ PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
|
|
+ SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
|
|
+!else
|
|
+ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
+!endif
|
|
+ VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
|
|
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
|
+ VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
|
|
+
|
|
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
|
|
+ S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
|
|
+ SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
|
|
+ OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
|
|
+
|
|
+ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
|
|
+ TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
|
|
+
|
|
+[LibraryClasses.common]
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
+ CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
|
+ TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
|
+ TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
|
|
+ PlatformInitLib|OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
|
+
|
|
+[LibraryClasses.common.SEC]
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
|
|
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
|
+!endif
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
+ ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
|
|
+ PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
+ MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
|
|
+!if $(TOOL_CHAIN_TAG) == "XCODE5"
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf
|
|
+!else
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
|
+!endif
|
|
+ CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
|
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
|
+ PrePiHobListPointerLib|OvmfPkg/IntelTdx/PrePiHobListPointerLibTdx/PrePiHobListPointerLibTdx.inf
|
|
+ HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
|
+ PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
+ PeilessStartupLib|OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf
|
|
+ CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_CORE]
|
|
+ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
|
|
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
|
|
+
|
|
+[LibraryClasses.common.UEFI_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
|
+ PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
|
+ QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
+ LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
|
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
|
|
+ QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
|
|
+
|
|
+[LibraryClasses.common.UEFI_APPLICATION]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+[LibraryClasses.common.DXE_SMM_DRIVER]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
|
+ MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
|
|
+ SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+[LibraryClasses.common.SMM_CORE]
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
|
|
+ ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
|
+ SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
|
|
+ MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
|
|
+ SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
|
|
+!ifdef $(DEBUG_ON_SERIAL_PORT)
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
+!else
|
|
+ DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
|
+!endif
|
|
+ PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[PcdsFeatureFlag]
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
|
|
+!ifdef $(CSM_ENABLE)
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|TRUE
|
|
+!endif
|
|
+
|
|
+[PcdsFixedAtBuild]
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
|
|
+!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
|
+ # match PcdFlashNvStorageVariableSize purely for convenience
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
|
|
+!endif
|
|
+!if $(FD_SIZE_IN_KB) == 4096
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x8400
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400
|
|
+ # match PcdFlashNvStorageVariableSize purely for convenience
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
|
|
+!endif
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
|
|
+
|
|
+ # DEBUG_INIT 0x00000001 // Initialization
|
|
+ # DEBUG_WARN 0x00000002 // Warnings
|
|
+ # DEBUG_LOAD 0x00000004 // Load events
|
|
+ # DEBUG_FS 0x00000008 // EFI File system
|
|
+ # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
|
|
+ # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
|
|
+ # DEBUG_INFO 0x00000040 // Informational debug messages
|
|
+ # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
|
|
+ # DEBUG_VARIABLE 0x00000100 // Variable
|
|
+ # DEBUG_BM 0x00000400 // Boot Manager
|
|
+ # DEBUG_BLKIO 0x00001000 // BlkIo Driver
|
|
+ # DEBUG_NET 0x00004000 // SNP Driver
|
|
+ # DEBUG_UNDI 0x00010000 // UNDI Driver
|
|
+ # DEBUG_LOADFILE 0x00020000 // LoadFile
|
|
+ # DEBUG_EVENT 0x00080000 // Event messages
|
|
+ # DEBUG_GCD 0x00100000 // Global Coherency Database changes
|
|
+ # DEBUG_CACHE 0x00200000 // Memory range cachability changes
|
|
+ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
|
+ # // significantly impact boot performance
|
|
+ # DEBUG_ERROR 0x80000000 // Error
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
|
|
+
|
|
+ # This PCD is used to set the base address of the PCI express hierarchy. It
|
|
+ # is only consulted when OVMF runs on Q35. In that case it is programmed into
|
|
+ # the PCIEXBAR register.
|
|
+ #
|
|
+ # On Q35 machine types that QEMU intends to support in the long term, QEMU
|
|
+ # never lets the RAM below 4 GB exceed 2816 MB.
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB0000000
|
|
+
|
|
+ #
|
|
+ # The NumberOfPages values below are ad-hoc. They are updated sporadically at
|
|
+ # best (please refer to git-blame for past updates). The values capture a set
|
|
+ # of BIN hints that made sense at a particular time, for some (now likely
|
|
+ # unknown) workloads / boot paths.
|
|
+ #
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0x80
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0x10
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0x80
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100
|
|
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100
|
|
+
|
|
+ #
|
|
+ # TDX need 1G PageTable support
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
|
|
+
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
|
|
+
|
|
+ # IRQs 5, 9, 10, 11 are level-triggered
|
|
+ gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
|
|
+
|
|
+ # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
|
+#
|
|
+################################################################################
|
|
+
|
|
+[PcdsDynamicDefault]
|
|
+ # only set when
|
|
+ # ($(SMM_REQUIRE) == FALSE)
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
|
|
+
|
|
+ # Set video resolution for text setup.
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
|
+
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
|
+
|
|
+ # Noexec settings for DXE.
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
|
|
+
|
|
+ # UefiCpuPkg PCDs related to initial AP bringup and general AP management.
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0
|
|
+
|
|
+ # Set memory encryption mask
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0
|
|
+
|
|
+ # Set Tdx shared bit mask
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0
|
|
+
|
|
+ # Set SEV-ES defaults
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
|
|
+
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
|
|
+
|
|
+ # Set ConfidentialComputing defaults
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
|
|
+
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
|
|
+
|
|
+################################################################################
|
|
+#
|
|
+# Components Section - list of all EDK II Modules needed by this Platform.
|
|
+#
|
|
+################################################################################
|
|
+[Components]
|
|
+ OvmfPkg/ResetVector/ResetVector.inf
|
|
+
|
|
+ #
|
|
+ # SEC Phase modules
|
|
+ #
|
|
+ OvmfPkg/IntelTdx/Sec/SecMain.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
+ TpmMeasurementLib|SecurityPkg/Library/SecTpmMeasurementLib/SecTpmMeasurementLibTdx.inf
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
|
|
+ HashLib|SecurityPkg/Library/HashLibTdx/HashLibTdx.inf
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
|
+ }
|
|
+
|
|
+ #
|
|
+ # DXE Phase modules
|
|
+ #
|
|
+ MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
+
|
|
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
|
+ <LibraryClasses>
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
|
+!endif
|
|
+ NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
|
+ UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
|
+
|
|
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ #
|
|
+ # Directly use DxeMpInitLib. It depends on DxeMpInitLibMpDepLib which
|
|
+ # checks the Protocol of gEfiMpInitLibMpDepProtocolGuid.
|
|
+ #
|
|
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
|
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
|
|
+ }
|
|
+
|
|
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
|
+ <Defines>
|
|
+ FILE_GUID = $(UP_CPU_DXE_GUID)
|
|
+
|
|
+ <LibraryClasses>
|
|
+ #
|
|
+ # Directly use MpInitLibUp. It depends on DxeMpInitLibUpDepLib which
|
|
+ # checks the Protocol of gEfiMpInitLibUpDepProtocolGuid.
|
|
+ #
|
|
+ MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
|
|
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
|
|
+ }
|
|
+
|
|
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
|
+ OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
|
|
+ OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
|
+ MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
|
|
+ PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
|
+ NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/Metronome/Metronome.inf
|
|
+ PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
|
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Logo/LogoDxe.inf
|
|
+ MdeModulePkg/Application/UiApp/UiApp.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
|
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
|
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
|
+ }
|
|
+ OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
|
+ }
|
|
+ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
|
+ OvmfPkg/Virtio10Dxe/Virtio10.inf
|
|
+ OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
+ OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
+ OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
|
+!if $(PVSCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
|
+!endif
|
|
+!if $(MPT_SCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/MptScsiDxe/MptScsiDxe.inf
|
|
+!endif
|
|
+!if $(LSI_SCSI_ENABLE) == TRUE
|
|
+ OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
|
|
+!endif
|
|
+ MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
+ MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
+ MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
+ MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
+ MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ }
|
|
+
|
|
+ MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
|
+ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
+ FatPkg/EnhancedFatDxe/Fat.inf
|
|
+ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
|
+ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
|
+ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
+ MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
|
+ OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
|
+ MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
|
+ MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
+ MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
+ MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
+ MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
|
+
|
|
+!ifndef $(CSM_ENABLE)
|
|
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
|
+!endif
|
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
|
+ OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
|
+
|
|
+ #
|
|
+ # ISA Support
|
|
+ #
|
|
+ OvmfPkg/SioBusDxe/SioBusDxe.inf
|
|
+ MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
|
|
+ MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
|
|
+
|
|
+ #
|
|
+ # SMBIOS Support
|
|
+ #
|
|
+ MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
|
+ }
|
|
+ OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
+
|
|
+ #
|
|
+ # ACPI Support
|
|
+ #
|
|
+ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
|
+ OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
+
|
|
+ #
|
|
+ # Usb Support
|
|
+ #
|
|
+ MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
|
+ MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
|
+ MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
+ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
+ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
|
+ MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
|
+
|
|
+!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
|
+ OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ }
|
|
+!endif
|
|
+ ShellPkg/Application/Shell/Shell.inf {
|
|
+ <LibraryClasses>
|
|
+ ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
|
|
+ NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
|
|
+ HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
|
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
|
|
+
|
|
+ <PcdsFixedAtBuild>
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
|
|
+ }
|
|
+
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
+ SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
|
|
+!endif
|
|
+
|
|
+ OvmfPkg/PlatformDxe/Platform.inf
|
|
+ OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
|
+
|
|
+ OvmfPkg/TdxDxe/TdxDxe.inf
|
|
+
|
|
+ #
|
|
+ # Variable driver stack (non-SMM)
|
|
+ #
|
|
+ OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
|
+ OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
|
|
+ <LibraryClasses>
|
|
+ PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
|
|
+ }
|
|
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
|
+ <LibraryClasses>
|
|
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
+ }
|
|
+
|
|
+ #
|
|
+ # Cc Measurement Protocol for Td guest
|
|
+ #
|
|
+ OvmfPkg/IntelTdx/TdTcg2Dxe/TdTcg2Dxe.inf {
|
|
+ <LibraryClasses>
|
|
+ HashLib|SecurityPkg/Library/HashLibTdx/HashLibTdx.inf
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
|
+ }
|
|
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
|
|
index 617f925395..afd4bf3e98 100644
|
|
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
|
|
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
|
|
@@ -201,7 +201,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
|
index a0666930d6..47426c5cd2 100644
|
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
|
@@ -199,7 +199,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
|
index 5efeb42bf3..d4b30e8133 100644
|
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
|
@@ -203,7 +203,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
|
index 10fb7d7069..5b0f6c8747 100644
|
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
|
@@ -203,7 +203,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
|
|
index a31519e356..e7c36d1b80 100644
|
|
--- a/OvmfPkg/OvmfXen.dsc
|
|
+++ b/OvmfPkg/OvmfXen.dsc
|
|
@@ -188,7 +188,7 @@
|
|
!else
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
!endif
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
|
diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
|
|
index 36493f04ee..3daf9e5462 100644
|
|
--- a/SecurityPkg/SecurityPkg.dsc
|
|
+++ b/SecurityPkg/SecurityPkg.dsc
|
|
@@ -91,10 +91,10 @@
|
|
ArmTrngLib|MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf
|
|
|
|
[LibraryClasses.ARM]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[LibraryClasses.RISCV64]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[LibraryClasses.common.PEIM]
|
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
diff --git a/SignedCapsulePkg/SignedCapsulePkg.dsc b/SignedCapsulePkg/SignedCapsulePkg.dsc
|
|
index 8a27207a6f..4c656666e9 100644
|
|
--- a/SignedCapsulePkg/SignedCapsulePkg.dsc
|
|
+++ b/SignedCapsulePkg/SignedCapsulePkg.dsc
|
|
@@ -110,10 +110,10 @@
|
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
|
|
|
[LibraryClasses.ARM]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[LibraryClasses.RISCV64]
|
|
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+ RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
|
|
[LibraryClasses.common.PEI_CORE]
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
--
|
|
2.39.3
|
|
|