From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=0143f30469=abner.chang@hpe.com) Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by groups.io with SMTP; Wed, 28 Aug 2019 01:41:40 -0700 Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x7S8fdlj001952 for ; Wed, 28 Aug 2019 08:41:39 GMT Received: from g4t3426.houston.hpe.com (g4t3426.houston.hpe.com [15.241.140.75]) by mx0b-002e3701.pphosted.com with ESMTP id 2ungp7j7de-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 28 Aug 2019 08:41:39 +0000 Received: from g9t2301.houston.hpecorp.net (g9t2301.houston.hpecorp.net [16.220.97.129]) by g4t3426.houston.hpe.com (Postfix) with ESMTP id 3B5FF61 for ; Wed, 28 Aug 2019 08:41:12 +0000 (UTC) Received: from UB16Abner.asiapacific.hpqcorp.net (ub16abner.asiapacific.hpqcorp.net [15.119.209.44]) by g9t2301.houston.hpecorp.net (Postfix) with ESMTP id 54D1E5D; Wed, 28 Aug 2019 08:41:11 +0000 (UTC) From: "Abner Chang" To: devel@edk2.groups.io Cc: abner.chang@hpe.com Subject: [edk2-staging/RISC-V PATCH v1 0/14]: Update RiscVPkg Date: Wed, 28 Aug 2019 16:11:28 +0800 Message-Id: <1566979888-15964-1-git-send-email-abner.chang@hpe.com> X-Mailer: git-send-email 2.7.4 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-08-28_03:2019-08-27,2019-08-28 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 mlxscore=0 bulkscore=1 malwarescore=0 mlxlogscore=862 suspectscore=1 lowpriorityscore=1 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1906280000 definitions=main-1908280092 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