Hello, Here are three patches that provide a SerialLib backed by SBI console. Both legacy and DBCN mechanisms are supported in various execution environments and have been tested with UART and HTIF consoles.
MdePkg reviewers: please review MdePkg.dsc changes. This is also available at https://github.com/andreiw/edk2-rv-wip/tree/patchset-2 A CI run is at https://github.com/tianocore/edk2/pull/4252 Compared to v6: - Unify the two SerialLib implementations under one directory and factor out the code somewhat. - Sunil's feedback on correctness. Compared to v5: Rename components as per Michael Kinney's suggestions. Compared to v4: (not sent out). CC MdePkg maintainers, fix copyright date in SecMain.c. Compared to v3 EccCheck fixes. Add MdePkg infs to DSC. Compared to v2: - Probes legacy extension as well. - Encode supported module types in the INF file. This is done using LIBRARY_CLASS, as MODULE_TYPE cannot encode multiple types, so MODULE_TYPE is retained as BASE. - Update INF version and generate brand new GUIDs instead of editing them. - Checked that all patches retain ^M endings. Andrei Warkentin (3): MdePkg: BaseRiscVSbiLib: make more useful to consumers MdePkg: add SBI-based SerialPortLib for RISC-V OvmfPkg: RiscVVirt: Add missing SerialPortInitialize to Sec MdePkg/MdePkg.dsc | 2 + MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.inf | 40 +++ MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf | 37 +++ OvmfPkg/RiscVVirt/Sec/SecMain.inf | 1 + MdePkg/Include/Library/BaseRiscVSbiLib.h | 40 ++- MdePkg/Library/BaseSerialPortLibRiscVSbiLib/Common.h | 41 +++ OvmfPkg/RiscVVirt/Sec/SecMain.h | 1 + MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c | 3 +- MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.c | 208 ++++++++++++++ MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.c | 289 ++++++++++++++++++++ MdePkg/Library/BaseSerialPortLibRiscVSbiLib/Common.c | 132 +++++++++ OvmfPkg/RiscVVirt/Sec/SecMain.c | 4 +- MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.uni | 16 ++ 13 files changed, 808 insertions(+), 6 deletions(-) create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.inf create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/Common.h create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.c create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.c create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/Common.c create mode 100644 MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLib.uni -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#102719): https://edk2.groups.io/g/devel/message/102719 Mute This Topic: https://groups.io/mt/98133911/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-