Sorry, I did not follow up the thread for DxeRuntimeDebugLibSerialPort.
For this thread, do you think it is feasible below for the case?
Use PeiDxeDebugLibReportStatusCode -> RuntimeDxeReportStatusCodeLib ->
ReportStatusCodeRouterRuntimeDxe
ReportStatusCodeRouterRuntimeDxe will produce gEfiRscHandlerProtocolGuid
protocol.
Like StatusCodeHandlerRuntimeDxe, consumer of gEfiRscHandlerProtocolGuid
protocol can register handler to show debug message and etc.
Thanks,
Star
-Original Message-
From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
Sent: Friday, March 2, 2018 2:12 AM
To: edk2-devel@lists.01.org
Cc: ler...@redhat.com; leif.lindh...@linaro.org; heyi@linaro.org; Zeng,
Star ; Dong, Eric ; Kinney, Michael D
; Gao, Liming ; Ard
Biesheuvel
Subject: [PATCH 0/4] implement runtime debug output protocl
As discussed on list, MMIO based UARTs cannot be used at runtime without taking
special precautions to register the MMIO region and switch to the virtual
address when accessing it at runtime.
So extend the recently introduced DxeRuntimeDebugLibSerialPort library by
invoking the proposed RuntimeDebugOutput protocol at runtime if one is
available, and providing an implementation of this protocol for PL011.
Ard Biesheuvel (4):
MdePkg: move DxeRuntimeDebugLibSerialPort to MdeModulePkg
MdeModulePkg: introduce runtime debug output protocol
MdeModulePkg/DxeRuntimeDebugLibSerialPort: invoke
RuntimeDebugOutputProtocol
ArmPlatformPkg: add PL011 UART runtime debug driver
ArmPlatformPkg/Drivers/PL011RuntimeDebugOutputDxe/PL011RuntimeDebugOutputDxe.c
| 144 ++
ArmPlatformPkg/Drivers/PL011RuntimeDebugOutputDxe/PL011RuntimeDebugOutputDxe.inf
| 62
ArmVirtPkg/ArmVirt.dsc.inc
| 2 +-
MdeModulePkg/Include/Protocol/RuntimeDebugOutput.h
| 58
{MdePkg => MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DebugLib.c
| 155 +---
{MdePkg =>
MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
| 5 +
{MdePkg =>
MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.uni
| 0
MdeModulePkg/MdeModulePkg.dec
| 4 +
8 files changed, 412 insertions(+), 18 deletions(-) create mode 100644
ArmPlatformPkg/Drivers/PL011RuntimeDebugOutputDxe/PL011RuntimeDebugOutputDxe.c
create mode 100644
ArmPlatformPkg/Drivers/PL011RuntimeDebugOutputDxe/PL011RuntimeDebugOutputDxe.inf
create mode 100644 MdeModulePkg/Include/Protocol/RuntimeDebugOutput.h
rename {MdePkg =>
MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DebugLib.c (70%) rename
{MdePkg =>
MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
(88%) rename {MdePkg =>
MdeModulePkg}/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.uni
(100%)
--
2.11.0
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel