[PATCH] UefiPayloadPkg: Change some configuration of the payload


Yuanhao Xie
 

1. Use PeiDxeDebugLibReportStatusCode library for DebugLib, and add
ReportStatusCodeLib.
2. Remove gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize
overrided in UefiPayloadPkg.dsc.
3. Change PcdHardwareErrorRecordLevel to 1

Cc: Guo Dong <guo.dong@...>
Cc: Ray Ni <ray.ni@...>
Cc: Maurice Ma <maurice.ma@...>
Cc: Benjamin You <benjamin.you@...>
Cc: Sean Rhodes <sean@...>

Signed-off-by: Yuanhao Xie <yuanhao.xie@...>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 6feb9f5423..df3995d66b 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -61,7 +61,6 @@
DEFINE SERIAL_HARDWARE_FLOW_CONTROL = FALSE
DEFINE SERIAL_DETECT_CABLE = FALSE
DEFINE SERIAL_FIFO_CONTROL = 7 # Enable FIFO
- DEFINE SERIAL_EXTENDED_TX_FIFO_SIZE = 16
DEFINE UART_DEFAULT_BAUD_RATE = $(BAUD_RATE)
DEFINE UART_DEFAULT_DATA_BITS = 8
DEFINE UART_DEFAULT_PARITY = 1
@@ -257,7 +256,7 @@
!endif
!endif

- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
@@ -273,11 +272,13 @@
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf

[LibraryClasses.common.SEC]
HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf

[LibraryClasses.common.DXE_CORE]
DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
@@ -347,7 +348,7 @@
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
@@ -378,6 +379,7 @@
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE

[PcdsFixedAtBuild]
+ gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
@@ -437,7 +439,6 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|$(SERIAL_EXTENDED_TX_FIFO_SIZE)

gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)

@@ -769,7 +770,6 @@
#------------------------------

<LibraryClasses>
- DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
--
2.30.0.windows.1


Ni, Ray
 


[LibraryClasses.common.DXE_CORE]
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
If DxeCore uses the ReportStatusCode instance, some debug messages may disappear comparing to the case using SerialPort instance.
Because the ReportStatusCode driver runs a bit later. Is it for saving the payload binary size?


Yuanhao Xie
 

Hi Ray,

The reason why we use PeiDxeDebugLibReportStatusCode instead of BaseDebugLibSerialPort is that
Base Debug library is based on Serial Port library, and it can only send debug messages to serial port device, while SerialPort supports to print debug msg in other places.

Thanks
Yuanhao

-----Original Message-----
From: Ni, Ray <ray.ni@...>
Sent: Friday, April 1, 2022 10:05 AM
To: Xie, Yuanhao <yuanhao.xie@...>; devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...>; Rhodes, Sean <sean@...>; Liu, Zhiguang <zhiguang.liu@...>
Subject: RE: [PATCH] UefiPayloadPkg: Change some configuration of the payload


[LibraryClasses.common.DXE_CORE]
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
If DxeCore uses the ReportStatusCode instance, some debug messages may disappear comparing to the case using SerialPort instance.
Because the ReportStatusCode driver runs a bit later. Is it for saving the payload binary size?


Ni, Ray
 

Thanks for the explanation.
Reviewed-by: Ray Ni <ray.ni@...>

-----Original Message-----
From: Xie, Yuanhao <yuanhao.xie@...>
Sent: Friday, April 1, 2022 5:56 PM
To: Ni, Ray <ray.ni@...>; devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...>;
Rhodes, Sean <sean@...>; Liu, Zhiguang <zhiguang.liu@...>
Subject: RE: [PATCH] UefiPayloadPkg: Change some configuration of the payload

Hi Ray,

The reason why we use PeiDxeDebugLibReportStatusCode instead of BaseDebugLibSerialPort is that
Base Debug library is based on Serial Port library, and it can only send debug messages to serial port device, while SerialPort
supports to print debug msg in other places.

Thanks
Yuanhao

-----Original Message-----
From: Ni, Ray <ray.ni@...>
Sent: Friday, April 1, 2022 10:05 AM
To: Xie, Yuanhao <yuanhao.xie@...>; devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...>;
Rhodes, Sean <sean@...>; Liu, Zhiguang <zhiguang.liu@...>
Subject: RE: [PATCH] UefiPayloadPkg: Change some configuration of the payload


[LibraryClasses.common.DXE_CORE]
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
If DxeCore uses the ReportStatusCode instance, some debug messages may disappear comparing to the case using SerialPort
instance.
Because the ReportStatusCode driver runs a bit later. Is it for saving the payload binary size?


Sheng Lean Tan
 

Reviewed-by: Lean Sheng Tan <sheng.tan@...>