[edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V EDK2 Port on
Abner Chang
abner.chang at hpe.com
Mon Sep 23 00:31:25 UTC 2019
This branch "RISC-V-V2" is used to contribute RISC-V architecture on EDK2.
Compare to the old branch "RISC-V", this branch "RISC-V-V2" is created based on
the most recent edk2/master @37eef910. This is easier for reviewers to have
clear ideas of edk2 code changes for RISC-V EDK2 implementation.
Because of the code changes made on old branch "RISC-V" is stale and not
compliant with the latest RISC-V spec, this new branch has the fresh changes
for RISC-V EDK2 implementation.
The main changes of these series of patches are,
- Add RiscVPkg which conform with RISC-V Privilege Spec v1.10.
- Incorporate and leverage RISC-V OpenSBI to provide EDK2 port OpenSBI library.
- Provide RISC-V platform implementation specific drivers to EDK2 RISC-V platform
package.
- 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 (29):
RiscVPkg: RISC-V processor package.
RiscVPkg/Include: Add header files of RISC-V CPU package
RiscVPkg/opensbi: EDK2 RISC-V OpenSBI support
MdePkg: RISC-V RV64 binding in MdePkg
MdePkg/Include: RISC-V definitions.
MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
MdePkg/BaseLib: BaseLib for RISC-V RV64 Processor.
MdePkg/BaseCacheMaintenanceLib: RISC-V cache maintenance
implementation.
MdePkg/BaseIoLibIntrinsic: RISC-V I/O intrinsic functions.
MdePkg/BasePeCoff: Add RISC-V PE/Coff related code.
MdePkg/BaseCpuLib: RISC-V Base CPU library implementation.
MdePkg/BaseSynchronizationLib: RISC-V cache related code.
MdeModulePkg/Logo
NetworkPkg
RiscVPkg/Library: RISC-V CPU library
RiscVPkg/Library: Add RISC-V exception library
RiscVPkg/Library: Add RISC-V timer library
RiscVPkg/Library: Add EDK2 RISC-V OpenSBI library.
RiscVPkg/Library: RISC-V platform level DxeIPL libraries.
MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
RiscVPkg/PeiServicesTablePointerLibOpenSbi: RISC-V PEI Service
Table Pointer library
RiscVPkg/RiscVPlatformTempMemoryInit: RISC-V Platform Temporary
Memory library
RiscVPkg/CpuDxe: Add RISC-V CPU DXE driver.
BaseTools: BaseTools changes for RISC-V platform.
BaseTools/Scripts
RiscVPkg/SmbiosDxe: Generic SMBIOS DXE driver for RISC-V
platforms.
edk2-staging/RISC-V-V2: Add submodule
edk2-staging/RISC-V-V2: Add ReadMe
edk2-staging: Update Maintainers.txt
.gitmodules | 16 +-
BaseTools/Conf/build_rule.template | 62 ++-
BaseTools/Conf/tools_def.template | 64 ++-
BaseTools/Scripts/GccBaseRiscV.lds | 66 +++
BaseTools/Source/C/Common/BasePeCoff.c | 15 +-
BaseTools/Source/C/Common/PeCoffLoaderEx.c | 95 ++++
BaseTools/Source/C/GenFv/GenFvInternalLib.c | 128 ++++-
BaseTools/Source/C/GenFw/Elf32Convert.c | 5 +-
BaseTools/Source/C/GenFw/Elf64Convert.c | 260 ++++++++-
BaseTools/Source/C/GenFw/elf_common.h | 62 +++
.../Source/C/Include/IndustryStandard/PeImage.h | 6 +
BaseTools/Source/Python/Common/DataType.py | 7 +-
Maintainers.txt | 5 +
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 13 +-
MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c | 71 +++
MdeModulePkg/Logo/Logo.inf | 2 +-
.../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 9 +-
MdePkg/Include/IndustryStandard/PeImage.h | 12 +
MdePkg/Include/Library/BaseLib.h | 26 +
MdePkg/Include/Protocol/DebugSupport.h | 55 ++
MdePkg/Include/Protocol/PxeBaseCode.h | 4 +
MdePkg/Include/RiscV64/ProcessorBind.h | 173 ++++++
MdePkg/Include/Uefi/UefiBaseType.h | 13 +
MdePkg/Include/Uefi/UefiSpec.h | 5 +
.../BaseCacheMaintenanceLib.inf | 4 +
.../Library/BaseCacheMaintenanceLib/RiscVCache.c | 250 +++++++++
MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 6 +-
MdePkg/Library/BaseCpuLib/BaseCpuLib.uni | 5 +-
MdePkg/Library/BaseCpuLib/RiscV/Cpu.S | 19 +
.../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 8 +-
MdePkg/Library/BaseIoLibIntrinsic/IoLibRiscV.c | 601 +++++++++++++++++++++
MdePkg/Library/BaseLib/BaseLib.inf | 18 +-
MdePkg/Library/BaseLib/RiscV64/CpuBreakpoint.c | 27 +
MdePkg/Library/BaseLib/RiscV64/CpuPause.c | 29 +
MdePkg/Library/BaseLib/RiscV64/DisableInterrupts.c | 24 +
MdePkg/Library/BaseLib/RiscV64/EnableInterrupts.c | 25 +
MdePkg/Library/BaseLib/RiscV64/FlushCache.S | 21 +
MdePkg/Library/BaseLib/RiscV64/GetInterruptState.c | 35 ++
.../Library/BaseLib/RiscV64/InternalSwitchStack.c | 55 ++
MdePkg/Library/BaseLib/RiscV64/LongJump.c | 32 ++
.../Library/BaseLib/RiscV64/RiscVCpuBreakpoint.S | 14 +
MdePkg/Library/BaseLib/RiscV64/RiscVCpuPause.S | 14 +
MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S | 32 ++
.../Library/BaseLib/RiscV64/RiscVSetJumpLongJump.S | 55 ++
MdePkg/Library/BaseLib/RiscV64/Unaligned.c | 264 +++++++++
MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +-
MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf | 5 +
MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni | 2 +
.../Library/BasePeCoffLib/BasePeCoffLibInternals.h | 1 +
.../Library/BasePeCoffLib/RiscV/PeCoffLoaderEx.c | 142 +++++
.../BaseSynchronizationLib.inf | 6 +
.../RiscV64/Synchronization.c | 183 +++++++
.../RiscV64/SynchronizationAsm.S | 78 +++
MdePkg/MdePkg.dec | 5 +-
NetworkPkg/Network.dsc.inc | 2 +-
RiscVEdk2Readme.md | 34 ++
RiscVPkg/Include/IndustryStandard/RiscV.h | 102 ++++
RiscVPkg/Include/Library/RiscVCpuLib.h | 68 +++
RiscVPkg/Include/Library/RiscVPlatformDxeIpl.h | 41 ++
.../Library/RiscVPlatformTempMemoryInitLib.h | 17 +
RiscVPkg/Include/ProcessorSpecificDataHob.h | 95 ++++
RiscVPkg/Include/RiscV.h | 72 +++
RiscVPkg/Include/SmbiosProcessorSpecificData.h | 58 ++
RiscVPkg/Include/sbi/SbiFirmwareContext.h | 38 ++
RiscVPkg/Include/sbi/sbi.h | 96 ++++
RiscVPkg/Include/sbi/sbi_bits.h | 17 +
RiscVPkg/Include/sbi/sbi_types.h | 18 +
.../PeiServicesTablePointerLibOpenSbi.inf | 38 ++
.../PeiServicesTablePointerLibOpenSbi.uni | 23 +
.../PeiServicesTablePointerOpenSbi.c | 121 +++++
RiscVPkg/Library/RiscVCpuLib/Cpu.S | 115 ++++
RiscVPkg/Library/RiscVCpuLib/RiscVCpuLib.inf | 34 ++
.../RiscVDxeIplHandoffLib/RiscVDxeIplHandoffLib.c | 41 ++
.../RiscVDxeIplHandoffLib.inf | 32 ++
.../RiscVDxeIplHandoffOpenSbiLib.c | 102 ++++
.../RiscVDxeIplHandoffOpenSbiLib.inf | 33 ++
.../RiscVExceptionLib/CpuExceptionHandler.S | 88 +++
.../CpuExceptionHandlerDxeLib.inf | 42 ++
.../RiscVExceptionLib/CpuExceptionHandlerLib.c | 182 +++++++
.../RiscVExceptionLib/CpuExceptionHandlerLib.uni | 13 +
.../Library/RiscVOpensbiLib/RiscVOpensbiLib.inf | 52 ++
.../RiscVPlatformTempMemoryInitLibNull.inf | 34 ++
.../Riscv64/TempMemInit.S | 26 +
.../Library/RiscVTimerLib/BaseRiscVTimerLib.inf | 34 ++
RiscVPkg/Library/RiscVTimerLib/RiscVTimerLib.c | 195 +++++++
RiscVPkg/Library/RiscVTimerLib/RiscVTimerLib.h | 21 +
RiscVPkg/RiscVPkg.dec | 42 ++
RiscVPkg/RiscVPkg.uni | 13 +
RiscVPkg/RiscVPkgExtra.uni | 13 +
RiscVPkg/Universal/CpuDxe/CpuDxe.c | 318 +++++++++++
RiscVPkg/Universal/CpuDxe/CpuDxe.h | 206 +++++++
RiscVPkg/Universal/CpuDxe/CpuDxe.inf | 56 ++
RiscVPkg/Universal/CpuDxe/CpuDxe.uni | 13 +
RiscVPkg/Universal/CpuDxe/CpuDxeExtra.uni | 14 +
RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.c | 339 ++++++++++++
RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.h | 32 ++
RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.inf | 58 ++
RiscVPkg/Universal/SmbiosDxe/RiscVSmbiosDxe.uni | 12 +
.../Universal/SmbiosDxe/RiscVSmbiosDxeExtra.uni | 13 +
RiscVPkg/opensbi | 1 +
100 files changed, 6085 insertions(+), 66 deletions(-)
create mode 100644 BaseTools/Scripts/GccBaseRiscV.lds
create mode 100644 MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
create mode 100644 MdePkg/Include/RiscV64/ProcessorBind.h
create mode 100644 MdePkg/Library/BaseCacheMaintenanceLib/RiscVCache.c
create mode 100644 MdePkg/Library/BaseCpuLib/RiscV/Cpu.S
create mode 100644 MdePkg/Library/BaseIoLibIntrinsic/IoLibRiscV.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/CpuBreakpoint.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/CpuPause.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/DisableInterrupts.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/EnableInterrupts.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/FlushCache.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/GetInterruptState.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/InternalSwitchStack.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/LongJump.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVCpuBreakpoint.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVCpuPause.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVSetJumpLongJump.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/Unaligned.c
create mode 100644 MdePkg/Library/BasePeCoffLib/RiscV/PeCoffLoaderEx.c
create mode 100644 MdePkg/Library/BaseSynchronizationLib/RiscV64/Synchronization.c
create mode 100644 MdePkg/Library/BaseSynchronizationLib/RiscV64/SynchronizationAsm.S
create mode 100644 RiscVEdk2Readme.md
create mode 100644 RiscVPkg/Include/IndustryStandard/RiscV.h
create mode 100644 RiscVPkg/Include/Library/RiscVCpuLib.h
create mode 100644 RiscVPkg/Include/Library/RiscVPlatformDxeIpl.h
create mode 100644 RiscVPkg/Include/Library/RiscVPlatformTempMemoryInitLib.h
create mode 100644 RiscVPkg/Include/ProcessorSpecificDataHob.h
create mode 100644 RiscVPkg/Include/RiscV.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
create mode 100644 RiscVPkg/Library/RiscVCpuLib/Cpu.S
create mode 100644 RiscVPkg/Library/RiscVCpuLib/RiscVCpuLib.inf
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/RiscVExceptionLib/CpuExceptionHandlerDxeLib.inf
create mode 100644 RiscVPkg/Library/RiscVExceptionLib/CpuExceptionHandlerLib.c
create mode 100644 RiscVPkg/Library/RiscVExceptionLib/CpuExceptionHandlerLib.uni
create mode 100644 RiscVPkg/Library/RiscVOpensbiLib/RiscVOpensbiLib.inf
create mode 100644 RiscVPkg/Library/RiscVPlatformTempMemoryInitLibNull/RiscVPlatformTempMemoryInitLibNull.inf
create mode 100644 RiscVPkg/Library/RiscVPlatformTempMemoryInitLibNull/Riscv64/TempMemInit.S
create mode 100644 RiscVPkg/Library/RiscVTimerLib/BaseRiscVTimerLib.inf
create mode 100644 RiscVPkg/Library/RiscVTimerLib/RiscVTimerLib.c
create mode 100644 RiscVPkg/Library/RiscVTimerLib/RiscVTimerLib.h
create mode 100644 RiscVPkg/RiscVPkg.dec
create mode 100644 RiscVPkg/RiscVPkg.uni
create mode 100644 RiscVPkg/RiscVPkgExtra.uni
create mode 100644 RiscVPkg/Universal/CpuDxe/CpuDxe.c
create mode 100644 RiscVPkg/Universal/CpuDxe/CpuDxe.h
create mode 100644 RiscVPkg/Universal/CpuDxe/CpuDxe.inf
create mode 100644 RiscVPkg/Universal/CpuDxe/CpuDxe.uni
create mode 100644 RiscVPkg/Universal/CpuDxe/CpuDxeExtra.uni
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
create mode 160000 RiscVPkg/opensbi
--
2.7.4
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#47750): https://edk2.groups.io/g/devel/message/47750
Mute This Topic: https://groups.io/mt/34258189/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list