[edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V EDK2 Port on

Abner Chang abner.chang at hpe.com
Tue Oct 15 06:39:04 UTC 2019


Hi Leif, thanks for spending lot of time to review the set of RISC-V edk2 patches. I addressed most of comments and gave back few feedbacks to you in email.
I think the major remaining issue is the toolchain problem. I will investigate toolchain issue while you review v3 patches. I think most of patches should look fine now. How do you think? 

Abner

> -----Original Message-----
> From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> Leif Lindholm
> Sent: Friday, September 27, 2019 6:23 AM
> To: devel at edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang at hpe.com>
> Subject: Re: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V
> EDK2 Port on
> 
> On Mon, Sep 23, 2019 at 08:31:25AM +0800, Abner Chang wrote:
> > 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
> 
> PatchCheck.py warns about long line in commit message.
> 
> >   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.
> 
> PatchCheck.py warns about long line in commit message.
> 
> >   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
> 
> PatchCheck.py warns about long line in commit message.
> 
> >   RiscVPkg/RiscVPlatformTempMemoryInit:     RISC-V Platform Temporary
> >     Memory library
> 
> PatchCheck.py warns about long line in commit message.
> 
> /
>     Leif
> 
> >   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/PeiServicesTablePoi
> > nterLibOpenSbi.inf  create mode 100644
> > RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePoi
> > nterLibOpenSbi.uni  create mode 100644
> > RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePoi
> > nterOpenSbi.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/RiscVDxeIplHandoffOpenS
> b
> > iLib.c  create mode 100644
> >
> RiscVPkg/Library/RiscVDxeIplHandoffOpenSbiLib/RiscVDxeIplHandoffOpenS
> b
> > iLib.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/RiscVPlatformTemp
> M
> > emoryInitLibNull.inf  create mode 100644
> >
> RiscVPkg/Library/RiscVPlatformTempMemoryInitLibNull/Riscv64/TempMemI
> ni
> > t.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 (#48978): https://edk2.groups.io/g/devel/message/48978
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