public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Chang, Abner (HPS SW/FW Technologist)" <abner.chang@hpe.com>
Cc: Liming Gao <liming.gao@intel.com>,
	Michael D Kinney <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V EDK2 Port on
Date: Tue, 24 Sep 2019 01:52:08 +0000	[thread overview]
Message-ID: <CS1PR8401MB1192BEE961250F1FDD71153CFF840@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <15C6EB97030F54E2.24160@groups.io>

CC maintainers.

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Abner Chang
> Sent: Monday, September 23, 2019 8:31 AM
> To: devel@edk2.groups.io
> Cc: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>
> Subject: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V EDK2
> Port on
> 
> 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/PeiServicesTablePoint
> erLibOpenSbi.inf
>  create mode 100644
> RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePoint
> erLibOpenSbi.uni
>  create mode 100644
> RiscVPkg/Library/PeiServicesTablePointerLibOpenSbi/PeiServicesTablePoint
> erOpenSbi.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
> biLib.c
>  create mode 100644
> RiscVPkg/Library/RiscVDxeIplHandoffOpenSbiLib/RiscVDxeIplHandoffOpenS
> biLib.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
> MemoryInitLibNull.inf
>  create mode 100644
> RiscVPkg/Library/RiscVPlatformTempMemoryInitLibNull/Riscv64/TempMemI
> nit.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
> 
> 
> 


       reply	other threads:[~2019-09-24  1:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15C6EB97030F54E2.24160@groups.io>
2019-09-24  1:52 ` Abner Chang [this message]
2019-09-23  0:31 [edk2-staging/RISC-V-V2 PATCH v2 00/29] RISC-V EDK2 Port on Abner Chang
2019-09-26 22:22 ` [edk2-devel] " Leif Lindholm
2019-10-15  6:39   ` Abner Chang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CS1PR8401MB1192BEE961250F1FDD71153CFF840@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox