The main changes of these series of patches are, - Update RiscVPkg to conform with RISC-V Privilege Spec v1.10. - Incorporate and leverage RISC-V OpenSBI to provide EDK2 port OpenSBI library. - Abstract RISC-V platform implementation-specific drivers to EDK2 RISC-V platform package. - Remove stale drivers and RiscVVirtPkg which is not compatible with RISC-V spec. - Provide generic RISC-V SMBIOS DXE drive to create SMBIOS type 4, 7 and 44 records, in which the SMBIOS type 44 record is introduced in SMBIOS spec 3.3.0.
Abner Chang (14): [edk2-staging/RISC-V PATCH v1]: BaseTools: Update EDK2 build tool for RISC-V platform [edk2-staging/RISC-V PATCH v1]: BaseTools/Conf: Update build flags for RISC-V RV64 [edk2-staging/RISC-V PATCH v1]: MdePkg/BaseLib: Revise BaseLib for RISC-V RV64 Processor. [edk2-staging/RISC-V PATCH v1]: MdePkg/Include: Update SmBios header file. [edk2-staging/RISC-V PATCH v1]: RiscVPkg/Include: Add/Update header files of RISC-V CPU package [edk2-staging/RISC-V PATCH v1]: RiscVPkg/opesbi: Add opensbi-HOWTO.txt [edk2-staging/RISC-V PATCH v1]: RiscVPkg/RealTimeClockRuntimeDxe: Add RISC-V RTC Runtime Driver [edk2-staging/RISC-V PATCH v1]: RiscVPkg/Universal: Remove stale moudles [edk2-staging/RISC-V PATCH v1]: RiscVPkg/CpuDxe: Use RISC-V platform level timer library [edk2-staging/RISC-V PATCH v1]: RiscVPkg/SmbiosDxe: RISC-V platform generic SMBIOS DXE driver [edk2-staging/RISC-V PATCH v1]: RiscVPkg: Updates for supporting RISC-V OpenSBI [edk2-staging/RISC-V PATCH v1]: RiscVVirtPkg: Remove RISC-V virtual package [edk2-staging/RISC-V PATCH v1]: RiscVPkg/Library: Add/Update/Remove Library instances for RISC-V platform [edk2-staging/RISC-V PATCH v1]: MdeModulePkg/DxeIplPeim: Abstract platform DXEIPL on RISC-V platform. BaseTools/Conf/tools_def.template | 8 +- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 311 +-- BaseTools/Source/C/GenFw/Elf64Convert.c | 68 + MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 9 +- MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c | 11 +- MdePkg/Include/IndustryStandard/SmBios.h | 76 +- MdePkg/Library/BaseLib/RiscV64/DisableInterrupts.c | 7 +- MdePkg/Library/BaseLib/RiscV64/EnableInterrupts.c | 6 +- MdePkg/Library/BaseLib/RiscV64/GetInterruptState.c | 11 +- MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S | 12 +- MdePkg/Library/BaseLib/RiscV64/riscv_asm.h | 194 ++ MdePkg/Library/BaseLib/RiscV64/riscv_encoding.h | 574 +++++ MdePkg/Library/BaseLib/RiscV64/sbi_const.h | 53 + RiscVPkg/Include/Library/RealTimeClockLib.h | 136 + RiscVPkg/Include/Library/RiscVCpuLib.h | 37 +- RiscVPkg/Include/Library/RiscVPlatformDxeIpl.h | 47 + .../Library/RiscVPlatformTempMemoryInitLib.h | 8 +- RiscVPkg/Include/ProcessorSpecificDataHob.h | 99 + RiscVPkg/Include/RiscV.h | 60 +- RiscVPkg/Include/SmbiosProcessorSpecificData.h | 64 + RiscVPkg/Include/sbi/SbiFirmwareContext.h | 44 + RiscVPkg/Include/sbi/sbi.h | 103 + RiscVPkg/Include/sbi/sbi_bits.h | 23 + RiscVPkg/Include/sbi/sbi_types.h | 24 + .../PeiServicesTablePointerLibOpenSbi.inf | 45 + .../PeiServicesTablePointerLibOpenSbi.uni | Bin 0 -> 2462 bytes .../PeiServicesTablePointerOpenSbi.c | 127 + .../PeiServicesTablePointerLibScratch.inf | 46 - .../PeiServicesTablePointerLibScratch.uni | Bin 2520 -> 0 bytes .../PeiServicesTablePointerScratch.c | 120 - RiscVPkg/Library/RiscVCpuLib/Cpu.s | 84 +- .../RiscVDxeIplHandoffLib/RiscVDxeIplHandoffLib.c | 47 + .../RiscVDxeIplHandoffLib.inf | 39 + .../RiscVDxeIplHandoffOpenSbiLib.c | 108 + .../RiscVDxeIplHandoffOpenSbiLib.inf | 39 + .../RiscVExceptionLib/CpuExceptionHandler.s | 94 + .../CpuExceptionHandlerDxeLib.inf | 7 +- .../RiscVExceptionLib/CpuExceptionHandlerLib.c | 44 +- .../Library/RiscVOpensbiLib/RiscVOpensbiLib.inf | 65 + .../Riscv64/TempMemInit.s | 4 +- .../Library/RiscVTimerLib/BaseRiscVTimerLib.inf | 3 +- RiscVPkg/RiscVPkg.dec | 17 +- RiscVPkg/Universal/CpuDxe/CpuDxe.inf | 3 +- .../RealTimeClockRuntimeDxe/RealTimeClock.c | 157 ++ .../RealTimeClockRuntimeDxe.inf | 44 + RiscVPkg/Universal/Sec/Riscv64/SecEntry.s | 109 - RiscVPkg/Universal/Sec/SecMain.c | 563 ----- RiscVPkg/Universal/Sec/SecMain.h | 56 - RiscVPkg/Universal/Sec/SecMain.inf | 72 - RiscVPkg/Universal/Sec/TrapHandler.c | 99 - RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.c | 343 +++ RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.h | 38 + RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf | 63 + RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.uni | Bin 0 -> 1542 bytes .../Universal/SmbiosDxe/RiscVSmbiosDxeExtra.uni | Bin 0 -> 1438 bytes RiscVPkg/Universal/TimerDxe/Timer.c | 288 --- RiscVPkg/Universal/TimerDxe/Timer.h | 179 -- RiscVPkg/Universal/TimerDxe/Timer.uni | Bin 1678 -> 0 bytes RiscVPkg/Universal/TimerDxe/TimerDxe.inf | 54 - RiscVPkg/Universal/TimerDxe/TimerExtra.uni | Bin 1374 -> 0 bytes RiscVPkg/opensbi/opensbi-HOWTO.txt | 17 + RiscVVirtPkg/Contributions.txt | 218 -- .../Library/PlatformBootManagerLib/MemoryTest.c | 1110 --------- .../PlatformBootManagerLib/PlatformBootManager.c | 269 -- .../PlatformBootManagerLib/PlatformBootManager.h | 140 -- .../PlatformBootManagerLib.inf | 72 - .../Library/PlatformBootManagerLib/PlatformData.c | 79 - .../Library/PlatformBootManagerLib/Strings.uni | Bin 3922 -> 0 bytes .../Library/PlatformDebugLibIoPort/DebugLib.c | 283 --- .../PlatformDebugLibIoPort.inf | 51 - .../Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm | 55 - RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 332 --- RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf | 50 - .../Library/QemuFwCfgLib/QemuFwCfgPeiDxe.c | 92 - RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c | 81 - .../Library/QemuFwCfgLib/QemuFwCfgSecLib.inf | 48 - .../Library/QemuFwCfgLib/X64/IoLibExAsm.nasm | 52 - .../Library/ResetSystemLib/ResetSystemLib.c | 89 - .../Library/ResetSystemLib/ResetSystemLib.inf | 39 - RiscVVirtPkg/License.txt | 55 - RiscVVirtPkg/README | 101 - RiscVVirtPkg/RiscVVirt.fdf.inc | 38 - RiscVVirtPkg/RiscVVirt64.dsc | 598 ----- RiscVVirtPkg/RiscVVirt64.fdf | 418 ---- RiscVVirtPkg/RiscVVirtPkg.dec | 41 - RiscVVirtPkg/Universal/Logo/Logo.uni | Bin 1948 -> 0 bytes RiscVVirtPkg/Universal/Logo/LogoExtra.uni | Bin 1342 -> 0 bytes RiscVVirtPkg/Universal/Logo/RiscVLogo.bmp | Bin 12446 -> 0 bytes RiscVVirtPkg/Universal/Logo/RiscVLogo.inf | 34 - .../Universal/PciHostBridgeDxe/Ia32/IoFifo.S | 134 - .../Universal/PciHostBridgeDxe/Ia32/IoFifo.asm | 140 -- RiscVVirtPkg/Universal/PciHostBridgeDxe/IoFifo.h | 176 -- .../Universal/PciHostBridgeDxe/PciHostBridge.c | 1551 ------------ .../Universal/PciHostBridgeDxe/PciHostBridge.h | 651 ----- .../PciHostBridgeDxe/PciHostBridgeDxe.inf | 65 - .../Universal/PciHostBridgeDxe/PciRootBridgeIo.c | 2628 -------------------- .../Universal/PciHostBridgeDxe/X64/IoFifo.S | 122 - .../Universal/PciHostBridgeDxe/X64/IoFifo.asm | 126 - RiscVVirtPkg/Universal/PlatformPei/Cmos.c | 63 - RiscVVirtPkg/Universal/PlatformPei/Cmos.h | 57 - RiscVVirtPkg/Universal/PlatformPei/Fv.c | 76 - RiscVVirtPkg/Universal/PlatformPei/MemDetect.c | 263 -- RiscVVirtPkg/Universal/PlatformPei/Platform.c | 433 ---- RiscVVirtPkg/Universal/PlatformPei/Platform.h | 111 - RiscVVirtPkg/Universal/PlatformPei/PlatformPei.inf | 92 - RiscVVirtPkg/Universal/PlatformPei/Xen.c | 177 -- RiscVVirtPkg/Universal/PlatformPei/Xen.h | 46 - .../Universal/RiscVBadgingDxe/RiscVBadging.c | 107 - .../Universal/RiscVBadgingDxe/RiscVBadging.h | 32 - .../Universal/RiscVBadgingDxe/RiscVBadgingDxe.inf | 54 - RiscVVirtPkg/VarStore.fdf.inc | 92 - 111 files changed, 3089 insertions(+), 13411 deletions(-) create mode 100644 MdePkg/Library/BaseLib/RiscV64/riscv_asm.h create mode 100644 MdePkg/Library/BaseLib/RiscV64/riscv_encoding.h create mode 100644 MdePkg/Library/BaseLib/RiscV64/sbi_const.h create mode 100644 RiscVPkg/Include/Library/RealTimeClockLib.h create mode 100644 RiscVPkg/Include/Library/RiscVPlatformDxeIpl.h create mode 100644 RiscVPkg/Include/ProcessorSpecificDataHob.h create mode 100644 RiscVPkg/Include/SmbiosProcessorSpecificData.h create mode 100644 RiscVPkg/Include/sbi/SbiFirmwareContext.h create mode 100644 RiscVPkg/Include/sbi/sbi.h create mode 100644 RiscVPkg/Include/sbi/sbi_bits.h create mode 100644 RiscVPkg/Include/sbi/sbi_types.h create mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePointerLibOpenSbi.inf create mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePointerLibOpenSbi.uni create mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePointerOpenSbi.c delete mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibScratch/PeiServicesTablePointerLibScratch.inf delete mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibScratch/PeiServicesTablePointerLibScratch.uni delete mode 100644 RiscVPkg/Library/PeiServicesTablePointerLibScratch/PeiServicesTablePointerScratch.c create mode 100644 RiscVPkg/Library/RiscVDxeIplHandoffLib/RiscVDxeIplHandoffLib.c create mode 100644 RiscVPkg/Library/RiscVDxeIplHandoffLib/RiscVDxeIplHandoffLib.inf create mode 100644 RiscVPkg/Library/RiscVDxeIplHandoffOpenSbiLib/RiscVDxeIplHandoffOpenSbiLib.c create mode 100644 RiscVPkg/Library/RiscVDxeIplHandoffOpenSbiLib/RiscVDxeIplHandoffOpenSbiLib.inf create mode 100644 RiscVPkg/Library/RiscVExceptionLib/CpuExceptionHandler.s create mode 100644 RiscVPkg/Library/RiscVOpensbiLib/RiscVOpensbiLib.inf create mode 100644 RiscVPkg/Universal/RealTimeClockRuntimeDxe/RealTimeClock.c create mode 100644 RiscVPkg/Universal/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf delete mode 100644 RiscVPkg/Universal/Sec/Riscv64/SecEntry.s delete mode 100644 RiscVPkg/Universal/Sec/SecMain.c delete mode 100644 RiscVPkg/Universal/Sec/SecMain.h delete mode 100644 RiscVPkg/Universal/Sec/SecMain.inf delete mode 100644 RiscVPkg/Universal/Sec/TrapHandler.c create mode 100644 RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.c create mode 100644 RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.h create mode 100644 RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf create mode 100644 RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.uni create mode 100644 RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxeExtra.uni delete mode 100644 RiscVPkg/Universal/TimerDxe/Timer.c delete mode 100644 RiscVPkg/Universal/TimerDxe/Timer.h delete mode 100644 RiscVPkg/Universal/TimerDxe/Timer.uni delete mode 100644 RiscVPkg/Universal/TimerDxe/TimerDxe.inf delete mode 100644 RiscVPkg/Universal/TimerDxe/TimerExtra.uni create mode 100644 RiscVPkg/opensbi/opensbi-HOWTO.txt delete mode 100644 RiscVVirtPkg/Contributions.txt delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/MemoryTest.c delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/PlatformBootManager.c delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/PlatformBootManager.h delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/PlatformData.c delete mode 100644 RiscVVirtPkg/Library/PlatformBootManagerLib/Strings.uni delete mode 100644 RiscVVirtPkg/Library/PlatformDebugLibIoPort/DebugLib.c delete mode 100644 RiscVVirtPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgPeiDxe.c delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf delete mode 100644 RiscVVirtPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm delete mode 100644 RiscVVirtPkg/Library/ResetSystemLib/ResetSystemLib.c delete mode 100644 RiscVVirtPkg/Library/ResetSystemLib/ResetSystemLib.inf delete mode 100644 RiscVVirtPkg/License.txt delete mode 100644 RiscVVirtPkg/README delete mode 100644 RiscVVirtPkg/RiscVVirt.fdf.inc delete mode 100644 RiscVVirtPkg/RiscVVirt64.dsc delete mode 100644 RiscVVirtPkg/RiscVVirt64.fdf delete mode 100644 RiscVVirtPkg/RiscVVirtPkg.dec delete mode 100644 RiscVVirtPkg/Universal/Logo/Logo.uni delete mode 100644 RiscVVirtPkg/Universal/Logo/LogoExtra.uni delete mode 100644 RiscVVirtPkg/Universal/Logo/RiscVLogo.bmp delete mode 100644 RiscVVirtPkg/Universal/Logo/RiscVLogo.inf delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/Ia32/IoFifo.S delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/Ia32/IoFifo.asm delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/IoFifo.h delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/PciHostBridge.c delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/PciHostBridge.h delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/PciHostBridgeDxe.inf delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/PciRootBridgeIo.c delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/X64/IoFifo.S delete mode 100644 RiscVVirtPkg/Universal/PciHostBridgeDxe/X64/IoFifo.asm delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Cmos.c delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Cmos.h delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Fv.c delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/MemDetect.c delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Platform.c delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Platform.h delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/PlatformPei.inf delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Xen.c delete mode 100644 RiscVVirtPkg/Universal/PlatformPei/Xen.h delete mode 100644 RiscVVirtPkg/Universal/RiscVBadgingDxe/RiscVBadging.c delete mode 100644 RiscVVirtPkg/Universal/RiscVBadgingDxe/RiscVBadging.h delete mode 100644 RiscVVirtPkg/Universal/RiscVBadgingDxe/RiscVBadgingDxe.inf delete mode 100644 RiscVVirtPkg/VarStore.fdf.inc -- 2.7.4 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46532): https://edk2.groups.io/g/devel/message/46532 Mute This Topic: https://groups.io/mt/33055093/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-