mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
OvmfPkg: Add OVMF Memory Debug Logging to Ia32X64 and X64 OVMF builds
Add the OVMF Memory Debug Logging feature (MemDebugLogLib library and MemDebugLogPei PEIM) to the Ia32X64 and X64 OVMF builds. This includes reserving the "early" memory debug log buffer in the .fdf files. The OVMF Memory Debug Logging feature is enabled via the -D DEBUG_TO_MEM build flag. Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Aaron Young <aaron.young@oracle.com>
This commit is contained in:
parent
44831e815c
commit
b188715202
4 changed files with 70 additions and 2 deletions
|
|
@ -251,7 +251,11 @@
|
|||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLibNull.inf
|
||||
TdxHelperLib|OvmfPkg/IntelTdx/TdxHelperLib/TdxHelperLibNull.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogDxeLib.inf
|
||||
!else
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
|
||||
|
|
@ -260,6 +264,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogSecLib.inf
|
||||
!endif
|
||||
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
||||
ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
|
||||
|
|
@ -286,6 +293,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogPeiCoreLib.inf
|
||||
!endif
|
||||
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
||||
|
||||
|
|
@ -302,6 +312,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogPeiLib.inf
|
||||
!endif
|
||||
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
||||
ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
|
||||
|
|
@ -347,6 +360,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogRtLib.inf
|
||||
!endif
|
||||
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
||||
|
|
@ -692,6 +708,9 @@
|
|||
# PEI Phase modules
|
||||
#
|
||||
MdeModulePkg/Core/Pei/PeiMain.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
||||
<LibraryClasses>
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
|
|
@ -738,6 +757,9 @@
|
|||
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
||||
<LibraryClasses>
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
}
|
||||
|
||||
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||
|
|
@ -815,6 +837,9 @@
|
|||
<LibraryClasses>
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
}
|
||||
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
||||
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||
|
|
|
|||
|
|
@ -82,10 +82,13 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvm
|
|||
0x010000|0x010000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
|
||||
|
||||
0x020000|0x0E0000
|
||||
0x020000|0x0D0000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
|
||||
FV = PEIFV
|
||||
|
||||
0x0F0000|0x10000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfEarlyMemDebugLogBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfEarlyMemDebugLogSize
|
||||
|
||||
0x100000|0xE80000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
|
||||
FV = DXEFV
|
||||
|
|
@ -152,6 +155,9 @@ READ_LOCK_CAP = TRUE
|
|||
READ_LOCK_STATUS = TRUE
|
||||
|
||||
APRIORI PEI {
|
||||
!if $(DEBUG_TO_MEM)
|
||||
INF OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||
}
|
||||
|
||||
|
|
@ -162,6 +168,9 @@ INF MdeModulePkg/Core/Pei/PeiMain.inf
|
|||
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||
INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
|
||||
INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
INF OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
INF OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
||||
INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
|
||||
|
|
|
|||
|
|
@ -267,7 +267,11 @@
|
|||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogDxeLib.inf
|
||||
!else
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
|
||||
|
|
@ -276,6 +280,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogSecLib.inf
|
||||
!endif
|
||||
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
||||
ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
|
||||
|
|
@ -305,6 +312,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogPeiCoreLib.inf
|
||||
!endif
|
||||
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
||||
CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
|
||||
|
|
@ -322,6 +332,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogPeiLib.inf
|
||||
!endif
|
||||
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
||||
ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
|
||||
|
|
@ -371,6 +384,9 @@
|
|||
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
||||
!else
|
||||
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
||||
!endif
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogRtLib.inf
|
||||
!endif
|
||||
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
||||
|
|
@ -722,6 +738,9 @@
|
|||
# PEI Phase modules
|
||||
#
|
||||
MdeModulePkg/Core/Pei/PeiMain.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
||||
<LibraryClasses>
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
|
|
@ -796,6 +815,9 @@
|
|||
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
||||
<LibraryClasses>
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
}
|
||||
|
||||
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||
|
|
@ -896,6 +918,9 @@
|
|||
<LibraryClasses>
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
MemDebugLogLib|OvmfPkg/Library/MemDebugLogLib/MemDebugLogLibNull.inf
|
||||
!endif
|
||||
}
|
||||
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
||||
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||
|
|
|
|||
|
|
@ -103,10 +103,13 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecApicPageTableBase|gUefiOvmfPkgTokenSpaceGui
|
|||
0x011000|0x00F000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
|
||||
|
||||
0x020000|0x0E0000
|
||||
0x020000|0x0D0000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
|
||||
FV = PEIFV
|
||||
|
||||
0x0F0000|0x10000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfEarlyMemDebugLogBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfEarlyMemDebugLogSize
|
||||
|
||||
0x100000|0xE80000
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
|
||||
FV = DXEFV
|
||||
|
|
@ -173,6 +176,9 @@ READ_LOCK_CAP = TRUE
|
|||
READ_LOCK_STATUS = TRUE
|
||||
|
||||
APRIORI PEI {
|
||||
!if $(DEBUG_TO_MEM)
|
||||
INF OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||
}
|
||||
|
||||
|
|
@ -183,6 +189,9 @@ INF MdeModulePkg/Core/Pei/PeiMain.inf
|
|||
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||
INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
|
||||
INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
|
||||
!if $(DEBUG_TO_MEM)
|
||||
INF OvmfPkg/MemDebugLogPei/MemDebugLogPei.inf
|
||||
!endif
|
||||
!if $(CC_MEASUREMENT_ENABLE) == TRUE
|
||||
INF OvmfPkg/Tcg/TdTcg2Pei/TdTcg2Pei.inf
|
||||
!endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue