[edk2-devel] [edk2-test PATCHv2 3/5] SctPkg: Add RISCV64 build support

Abner Chang abner.chang at hpe.com
Thu Feb 25 05:47:06 UTC 2021


Reviewed-by: Abner Chang <abner.chang at hpe.com>

> -----Original Message-----
> From: Schaefer, Daniel
> Sent: Tuesday, February 9, 2021 11:44 PM
> To: devel at edk2.groups.io
> Cc: G Edhaya Chandran <Edhaya.Chandran at arm.com>; Barton Gao
> <gaojie at byosoft.com.cn>; Samer El-Haj-Mahmoud <Samer.El-Haj-
> Mahmoud at arm.com>; Eric Jin <eric.jin at intel.com>; Arvin Chen
> <arvinx.chen at intel.com>; Leif Lindholm <leif at nuviainc.com>; Heinrich
> Schuchardt <xypron.glpk at gmx.de>; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang at hpe.com>
> Subject: [edk2-test PATCHv2 3/5] SctPkg: Add RISCV64 build support
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3042
> 
> Cc: G Edhaya Chandran <Edhaya.Chandran at arm.com>
> Cc: Barton Gao <gaojie at byosoft.com.cn>
> Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud at arm.com>
> Cc: Eric Jin <eric.jin at intel.com>
> Cc: Arvin Chen <arvinx.chen at intel.com>
> Cc: Leif Lindholm <leif at nuviainc.com>
> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
> Cc: Abner Chang <abner.chang at hpe.com>
> Signed-off-by: Daniel Schaefer <daniel.schaefer at hpe.com>
> ---
>  uefi-sct/SctPkg/Application/InstallSct/InstallSctDef.h                                      |  4
> ++
>  uefi-sct/SctPkg/Library/SctLib/SctLib.inf                                                   |  6 ++
>  uefi-sct/SctPkg/SCRT/SCRTApp/SCRTApp.inf                                                    |  5 ++
>  uefi-sct/SctPkg/SCRT/SCRTDriver/SCRTDriver.inf                                              |  6
> ++
>  uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Debug
> SupportBBTest.inf |  6 ++
>  uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/Usb2Hc/BlackBoxTest/Usb2HcTest.in
> f               |  4 ++
>  uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/UsbHc/BlackBoxTest/UsbHcTest.inf
> |  4 ++
>  uefi-sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/EntsLib.inf
> |  5 ++
>  uefi-sct/SctPkg/Tools/Source/GenBin/GNUmakefile                                             |
> 4 ++
>  uefi-sct/SctPkg/UEFI/IHV_SCT.dsc                                                            | 17 +++++-
>  uefi-sct/SctPkg/UEFI/Protocol/DebugSupport.h                                                | 61
> +++++++++++++++++++-
>  uefi-sct/SctPkg/UEFI/UEFI_SCT.dsc                                                           | 18 +++++-
>  uefi-sct/SctPkg/build.sh                                                                    | 11 +++-
>  13 files changed, 144 insertions(+), 7 deletions(-)
> 
> diff --git a/uefi-sct/SctPkg/Application/InstallSct/InstallSctDef.h b/uefi-
> sct/SctPkg/Application/InstallSct/InstallSctDef.h
> index a7815580..02f0283e 100644
> --- a/uefi-sct/SctPkg/Application/InstallSct/InstallSctDef.h
> +++ b/uefi-sct/SctPkg/Application/InstallSct/InstallSctDef.h
> @@ -3,6 +3,7 @@
>    Copyright 2006 - 2017 Unified EFI, Inc.<BR>   Copyright (c) 2010 - 2017, Intel
> Corporation. All rights reserved.<BR>   Portions copyright (c) 2014, ARM Ltd.
> All rights reserved.<BR>+  (C) Copyright 2021 Hewlett Packard Enterprise
> Development LP<BR>    This program and the accompanying materials   are
> licensed and made available under the terms and conditions of the BSD
> License@@ -32,6 +33,9 @@
>  #elif defined(EFIAARCH64)   #define
> INSTALL_SCT_PLATFORM_SHORT_NAME   L"aarch64"   #define
> INSTALL_SCT_PLATFORM_NAME         L"AARCH64"+#elif
> defined(EFIRISCV64)+  #define INSTALL_SCT_PLATFORM_SHORT_NAME
> L"riscv64"+  #define INSTALL_SCT_PLATFORM_NAME         L"RISCV64" #else
> #error "Architecture not supported" #endifdiff --git a/uefi-
> sct/SctPkg/Library/SctLib/SctLib.inf b/uefi-sct/SctPkg/Library/SctLib/SctLib.inf
> index 23cb77fb..7527b203 100644
> --- a/uefi-sct/SctPkg/Library/SctLib/SctLib.inf
> +++ b/uefi-sct/SctPkg/Library/SctLib/SctLib.inf
> @@ -3,6 +3,7 @@
>  #  Copyright 2006 - 2016 Unified EFI, Inc.<BR> #  Copyright (c) 2013 - 2014,
> ARM Ltd. All rights reserved.<BR> #  Copyright (c) 2014 - 2019, Intel
> Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett Packard
> Enterprise Development LP<BR> # #  This program and the accompanying
> materials #  are licensed and made available under the terms and conditions
> of the BSD License@@ -62,6 +63,11 @@
>    Aarch64/initplat.c   Math.c +[sources.RISCV64]+  Riscv64/SctLibPlat.h+
> Riscv64/initplat.c+  Math.c+ [sources.ia32]   ia32/SctLibPlat.h
> ia32/initplat.cdiff --git a/uefi-sct/SctPkg/SCRT/SCRTApp/SCRTApp.inf b/uefi-
> sct/SctPkg/SCRT/SCRTApp/SCRTApp.inf
> index 7aca6e30..8104a4ef 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTApp/SCRTApp.inf
> +++ b/uefi-sct/SctPkg/SCRT/SCRTApp/SCRTApp.inf
> @@ -2,6 +2,7 @@
>  # #  Copyright 2006 - 2016 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2016,
> Intel Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett
> Packard Enterprise Development LP<BR> # #  This program and the
> accompanying materials #  are licensed and made available under the terms
> and conditions of the BSD License@@ -39,6 +40,10 @@
>    Aarch64/GoVirtual.asm | RVCT   Aarch64/GoVirtual.S | GCC
> +[sources.RISCV64]+  Riscv64/VirtualMemory.c+  Riscv64/GoVirtual.S | GCC+
> [sources.ia32]   ia32/VirtualMemory.c   ia32/GoVirtual.asm | MSFTdiff --git
> a/uefi-sct/SctPkg/SCRT/SCRTDriver/SCRTDriver.inf b/uefi-
> sct/SctPkg/SCRT/SCRTDriver/SCRTDriver.inf
> index ad0eb0f8..a3ef454e 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTDriver/SCRTDriver.inf
> +++ b/uefi-sct/SctPkg/SCRT/SCRTDriver/SCRTDriver.inf
> @@ -2,6 +2,7 @@
>  # #  Copyright 2006 - 2016 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2016,
> Intel Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett
> Packard Enterprise Development LP<BR> # #  This program and the
> accompanying materials #  are licensed and made available under the terms
> and conditions of the BSD License@@ -69,6 +70,11 @@
>    Aarch64/Dump.c   Aarch64/Debug.c +[sources.RISCV64]+  Riscv64/Io.c+
> Riscv64/Dump.c+  Riscv64/Debug.c+ [sources.common]   Guid.h   Guid.cdiff --
> git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Debug
> SupportBBTest.inf b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Debug
> SupportBBTest.inf
> index 799f86fd..03bf7ccf 100644
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Debug
> SupportBBTest.inf
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTe
> +++ st/DebugSupportBBTest.inf
> @@ -3,6 +3,7 @@
>  #  Copyright 2006 - 2012 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2012,
> Intel Corporation. All rights reserved.<BR> #  Copyright (c) 2019, ARM Ltd. All
> rights reserved.<BR>+#  (C) Copyright 2021 Hewlett Packard Enterprise
> Development LP<BR> # #  This program and the accompanying materials #
> are licensed and made available under the terms and conditions of the BSD
> License@@ -67,6 +68,11 @@
>    Aarch64/DebugSupportBBTestExceptionCallbackFunction.c
> Aarch64/DebugSupportBBTestCacheFunction.c +[sources.RISCV64]+
> Riscv64/PlatformIsa.c+
> Riscv64/DebugSupportBBTestExceptionCallbackFunction.c+
> Riscv64/DebugSupportBBTestCacheFunction.c+ [Packages]
> SctPkg/SctPkg.dec   SctPkg/UEFI/UEFI.decdiff --git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/Usb2Hc/BlackBoxTest/Usb2HcTest.in
> f b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/Usb2Hc/BlackBoxTest/Usb2HcTest.in
> f
> index e8118739..95ae593e 100644
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/Usb2Hc/BlackBoxTest/Usb2HcTest.in
> f
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/Usb2Hc/BlackBoxTest/Usb
> +++ 2HcTest.inf
> @@ -2,6 +2,7 @@
>  # #  Copyright 2006 - 2016 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2016,
> Intel Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett
> Packard Enterprise Development LP<BR> # #  This program and the
> accompanying materials #  are licensed and made available under the terms
> and conditions of the BSD License@@ -55,6 +56,9 @@
>  #[sources.Aarch64] #  IPF/TimerInterrupt.c +#[sources.Riscv64]+#
> IPF/TimerInterrupt.c+ [Packages]   MdePkg/MdePkg.dec
> SctPkg/SctPkg.decdiff --git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/UsbHc/BlackBoxTest/UsbHcTest.inf
> b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/UsbHc/BlackBoxTest/UsbHcTest.inf
> index efc438c1..d3bcd5ce 100644
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/UsbHc/BlackBoxTest/UsbHcTest.inf
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/UsbHc/BlackBoxTest/UsbH
> +++ cTest.inf
> @@ -2,6 +2,7 @@
>  # #  Copyright 2006 - 2012 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2012,
> Intel Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett
> Packard Enterprise Development LP<BR> # #  This program and the
> accompanying materials #  are licensed and made available under the terms
> and conditions of the BSD License@@ -55,6 +56,9 @@
>  [sources.Aarch64]   Aarch64/TimerInterrupt.c +[sources.RISCV64]+
> Riscv64/TimerInterrupt.c+ [Packages]   MdePkg/MdePkg.dec
> SctPkg/SctPkg.decdiff --git a/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/EntsLib.inf
> b/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/EntsLib.inf
> index 23f12d1a..b60e90b2 100644
> --- a/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/EntsLib.inf
> +++ b/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/EntsL
> +++ ib.inf
> @@ -3,6 +3,7 @@
>  #  Copyright 2006 - 2012 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2012,
> Intel Corporation. All rights reserved.<BR> #  Copyright (c) 2019, ARM Ltd. All
> rights reserved.<BR>+#  (C) Copyright 2021 Hewlett Packard Enterprise
> Development LP<BR> # #  This program and the accompanying materials #
> are licensed and made available under the terms and conditions of the BSD
> License@@ -66,6 +67,10 @@
>    Aarch64/EntsLibPlat.h   Aarch64/InitPlat.c +[sources.RISCV64]+
> Riscv64/EntsLibPlat.h+  Riscv64/InitPlat.c+ [Packages]   MdePkg/MdePkg.dec
> SctPkg/SctPkg.decdiff --git a/uefi-
> sct/SctPkg/Tools/Source/GenBin/GNUmakefile b/uefi-
> sct/SctPkg/Tools/Source/GenBin/GNUmakefile
> index c235f313..c492d441 100644
> --- a/uefi-sct/SctPkg/Tools/Source/GenBin/GNUmakefile
> +++ b/uefi-sct/SctPkg/Tools/Source/GenBin/GNUmakefile
> @@ -1,6 +1,7 @@
>  # #  Copyright 2006 - 2010 Unified EFI, Inc.<BR> #  Copyright (c) 2010 Intel
> Corporation. All rights reserved.<BR>+#  (C) Copyright 2021 Hewlett Packard
> Enterprise Development LP<BR> # #  This program and the accompanying
> materials #  are licensed and made available under the terms and conditions
> of the BSD License@@ -31,6 +32,9 @@ ifndef ARCH
>    ifneq (,$(findstring arm,$(uname_m)))     ARCH=ARM   endif+  ifneq
> (,$(findstring riscv64,$(uname_m)))+    ARCH=RISCV64+  endif   ifndef ARCH
> $(info Could not detected ARCH from uname results)     $(error ARCH is not
> defined!)diff --git a/uefi-sct/SctPkg/UEFI/IHV_SCT.dsc b/uefi-
> sct/SctPkg/UEFI/IHV_SCT.dsc
> index f9e86264..94bb5c36 100644
> --- a/uefi-sct/SctPkg/UEFI/IHV_SCT.dsc
> +++ b/uefi-sct/SctPkg/UEFI/IHV_SCT.dsc
> @@ -3,6 +3,7 @@
>  #  Copyright 2006 - 2016 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2016,
> Intel Corporation. All rights reserved.<BR> #  Copyright (c) 2019,Microchip
> Technology Inc.<BR>+#  (C) Copyright 2021 Hewlett Packard Enterprise
> Development LP<BR> # #  This program and the accompanying materials #
> are licensed and made available under the terms and conditions of the BSD
> License@@ -42,7 +43,7 @@
>    PLATFORM_VERSION               = 0.1   DSC_SPECIFICATION              =
> 0x00010005   OUTPUT_DIRECTORY               = Build/IhvSct-
> SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64+
> SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64|RISCV64
> BUILD_TARGETS                  = DEBUG|RELEASE   SKUID_IDENTIFIER               =
> DEFAULT @@ -109,6 +110,12 @@
>    *_*_AARCH64_PP_FLAGS         = -D EFIAARCH64 $(GCC_VER_MACRO)
> RVCT:*_*_AARCH64_DLINK_FLAGS = --muldefweak +
> *_*_RISCV64_CC_FLAGS         = -D EFIRISCV64 $(GCC_VER_MACRO)+
> GCC:*_*_RISCV64_CC_FLAGS  = -D EFIRISCV64 $(GCC_VER_MACRO) -
> ffreestanding -nostdinc -nostdlib -Wno-error=unused-function -Wno-
> error=unused-but-set-variable -Wno-error+  *_*_RISCV64_VFRPP_FLAGS
> = -D EFIRISCV64 $(GCC_VER_MACRO)+  *_*_RISCV64_APP_FLAGS        = -D
> EFIRISCV64 $(GCC_VER_MACRO)+  *_*_RISCV64_PP_FLAGS         = -D
> EFIRISCV64 $(GCC_VER_MACRO)+   DEBUG_*_*_CC_FLAGS  = -DEFI_DEBUG
> RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG @@ -124,6 +131,9 @@
>  [Libraries.AARCH64]
> ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +[Libraries.RISCV64]+
> ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf+
> [Libraries.IA32,Libraries.X64]  [LibraryClasses.common]@@ -146,6 +156,9 @@
>  [LibraryClasses.AARCH64]
> NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +[LibraryClasses.RISCV64]+
> NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf+
> [LibraryClasses.IA32]
> ##########################################################
> #####################@@ -228,4 +241,4 @@
> SctPkg/TestInfrastructure/SCT/Framework/Sct.inf
>   [Components.IA32, Components.X64]
> SctPkg/TestCase/UEFI/IHV/Protocol/PlatformDriverOverride/BlackBoxTest/I
> hvPlatformDriverOverrideBBTest.inf-
> SctPkg/TestCase/UEFI/IHV/Protocol/PlatformToDriverConfiguration/BlackBo
> xTest/IhvPlatformToDriverConfigurationBBTest.inf
> \ No newline at end of file
> +SctPkg/TestCase/UEFI/IHV/Protocol/PlatformToDriverConfiguration/BlackB
> o
> +xTest/IhvPlatformToDriverConfigurationBBTest.inf
> diff --git a/uefi-sct/SctPkg/UEFI/Protocol/DebugSupport.h b/uefi-
> sct/SctPkg/UEFI/Protocol/DebugSupport.h
> index 7fba87ae..1963d619 100644
> --- a/uefi-sct/SctPkg/UEFI/Protocol/DebugSupport.h
> +++ b/uefi-sct/SctPkg/UEFI/Protocol/DebugSupport.h
> @@ -2,6 +2,7 @@
>     Copyright 2006 - 2016 Unified EFI, Inc.<BR>   Copyright (c) 2010 - 2016, Intel
> Corporation. All rights reserved.<BR>   +  (C) Copyright 2021 Hewlett Packard
> Enterprise Development LP<BR>    This program and the accompanying
> materials   are licensed and made available under the terms and conditions of
> the BSD License@@ -607,6 +608,60 @@ typedef struct {
>    UINT64  FAR;  // Fault Address Register } EFI_SYSTEM_CONTEXT_AARCH64;
> +///+/// RISC-V processor exception types.+///+#define
> EXCEPT_RISCV_INST_MISALIGNED              0+#define
> EXCEPT_RISCV_INST_ACCESS_FAULT            1+#define
> EXCEPT_RISCV_ILLEGAL_INST                 2+#define
> EXCEPT_RISCV_BREAKPOINT                   3+#define
> EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED      4+#define
> EXCEPT_RISCV_LOAD_ACCESS_FAULT            5+#define
> EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6+#define
> EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT       7+#define
> EXCEPT_RISCV_ENV_CALL_FROM_UMODE          8+#define
> EXCEPT_RISCV_ENV_CALL_FROM_SMODE          9+#define
> EXCEPT_RISCV_ENV_CALL_FROM_HMODE          10+#define
> EXCEPT_RISCV_ENV_CALL_FROM_MMODE          11++#define
> EXCEPT_RISCV_SOFTWARE_INT       0x0+#define EXCEPT_RISCV_TIMER_INT
> 0x1++typedef struct {+  UINT64  X0;+  UINT64  X1;+  UINT64  X2;+  UINT64
> X3;+  UINT64  X4;+  UINT64  X5;+  UINT64  X6;+  UINT64  X7;+  UINT64  X8;+
> UINT64  X9;+  UINT64  X10;+  UINT64  X11;+  UINT64  X12;+  UINT64  X13;+
> UINT64  X14;+  UINT64  X15;+  UINT64  X16;+  UINT64  X17;+  UINT64  X18;+
> UINT64  X19;+  UINT64  X20;+  UINT64  X21;+  UINT64  X22;+  UINT64  X23;+
> UINT64  X24;+  UINT64  X25;+  UINT64  X26;+  UINT64  X27;+  UINT64  X28;+
> UINT64  X29;+  UINT64  X30;+  UINT64  X31;+}
> EFI_SYSTEM_CONTEXT_RISCV64;+ // // Universal EFI_SYSTEM_CONTEXT
> definition //@@ -618,6 +673,7 @@ union {
>    EFI_SYSTEM_CONTEXT_IPF                  *SystemContextIpf;
> EFI_SYSTEM_CONTEXT_ARM                  *SystemContextArm;
> EFI_SYSTEM_CONTEXT_AARCH64              *SystemContextAArch64;+
> EFI_SYSTEM_CONTEXT_RISCV64              *SystemContextRiscV64; }
> EFI_SYSTEM_CONTEXT;  //@@ -645,6 +701,8 @@ VOID
>  #define IMAGE_FILE_MACHINE_EBC             0x0EBC #define
> IMAGE_FILE_MACHINE_ARMTHUMB_MIXED  0x01c2 #define
> IMAGE_FILE_MACHINE_ARM64           0xAA64+#define
> IMAGE_FILE_MACHINE_RISCV64         0x5064+  typedef enum {@@ -653,7
> +711,8 @@ enum {
>    IsaIpf  = IMAGE_FILE_MACHINE_IA64,   IsaEbc  =
> IMAGE_FILE_MACHINE_EBC,   IsaArm  =
> IMAGE_FILE_MACHINE_ARMTHUMB_MIXED, ///< 0x01c2-  IsaAArch64  =
> IMAGE_FILE_MACHINE_ARM64       ///< 0xAA64+  IsaAArch64  =
> IMAGE_FILE_MACHINE_ARM64,      ///< 0xAA64+  IsaRiscv64  =
> IMAGE_FILE_MACHINE_RISCV64     ///< 0x5064 }
> EFI_INSTRUCTION_SET_ARCHITECTURE;  typedef struct
> _EFI_DEBUG_SUPPORT_PROTOCOL EFI_DEBUG_SUPPORT_PROTOCOL;;diff -
> -git a/uefi-sct/SctPkg/UEFI/UEFI_SCT.dsc b/uefi-
> sct/SctPkg/UEFI/UEFI_SCT.dsc
> index 2e97687b..e13e40e4 100644
> --- a/uefi-sct/SctPkg/UEFI/UEFI_SCT.dsc
> +++ b/uefi-sct/SctPkg/UEFI/UEFI_SCT.dsc
> @@ -2,7 +2,7 @@
>  # #  Copyright 2006 - 2017 Unified EFI, Inc.<BR> #  Copyright (c) 2010 - 2018,
> Intel Corporation. All rights reserved.<BR>-#  (C) Copyright 2017 Hewlett
> Packard Enterprise Development LP<BR>+#  (C) Copyright 2017 - 2021
> Hewlett Packard Enterprise Development LP<BR> # #  This program and the
> accompanying materials #  are licensed and made available under the terms
> and conditions of the BSD License@@ -42,7 +42,7 @@
>    PLATFORM_VERSION               = 0.1   DSC_SPECIFICATION              =
> 0x00010005   OUTPUT_DIRECTORY               = Build/UefiSct-
> SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64+
> SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64|RISCV64
> BUILD_TARGETS                  = DEBUG|RELEASE   SKUID_IDENTIFIER               =
> DEFAULT   @@ -112,6 +112,12 @@
>    *_*_AARCH64_PP_FLAGS         = -D EFIAARCH64 $(GCC_VER_MACRO)
> RVCT:*_*_AARCH64_DLINK_FLAGS = --muldefweak +
> *_*_RISCV64_CC_FLAGS         = -D EFIRISCV64 $(GCC_VER_MACRO)+
> GCC:*_*_RISCV64_CC_FLAGS     = -D EFIRISCV64 $(GCC_VER_MACRO) -
> ffreestanding -nostdinc -nostdlib -Wno-error=unused-function -Wno-
> error=unused-but-set-variable -Wno-error+  *_*_RISCV64_VFRPP_FLAGS
> = -D EFIRISCV64 $(GCC_VER_MACRO)+  *_*_RISCV64_APP_FLAGS        = -D
> EFIRISCV64 $(GCC_VER_MACRO)+  *_*_RISCV64_PP_FLAGS         = -D
> EFIRISCV64 $(GCC_VER_MACRO)+   DEBUG_*_*_CC_FLAGS  = -DEFI_DEBUG
> RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG @@ -129,6 +135,9 @@
>  [Libraries.AARCH64]
> ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +[Libraries.RISCV64]+
> ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf+
> [LibraryClasses.common]
> UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiA
> pplicationEntryPoint.inf
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry
> Point.inf@@ -157,6 +166,9 @@
>  [LibraryClasses.AARCH64]
> NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +[LibraryClasses.RISCV64]+
> NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf+
> ##########################################################
> ##################### # # These are the components that will be built
> by the master makefile@@ -483,4 +495,4 @@
> SctPkg/TestCase/RIVL/Protocol/Http/Http/HttpENTSTest.inf
> 
> SctPkg/TestCase/RIVL/Protocol/Http/HttpServiceBinding/HttpServiceBinding
> ENTSTest.inf  [Components.IA32, Components.X64]-
> SctPkg/TestCase/UEFI/EFI/Generic/ExeMode/BlackBoxTest/ExeModeBBTes
> t.inf
> \ No newline at end of file
> +SctPkg/TestCase/UEFI/EFI/Generic/ExeMode/BlackBoxTest/ExeModeBBTe
> st.inf
> diff --git a/uefi-sct/SctPkg/build.sh b/uefi-sct/SctPkg/build.sh index
> 37667711..f7c5e4bd 100755
> --- a/uefi-sct/SctPkg/build.sh
> +++ b/uefi-sct/SctPkg/build.sh
> @@ -2,6 +2,7 @@
>  #
>  #  Copyright 2006 - 2015 Unified EFI, Inc.<BR>  #  Copyright (c) 2011 - 2020,
> ARM Ltd. All rights reserved.<BR>
> +#  (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
>  #
>  #  This program and the accompanying materials  #  are licensed and made
> available under the terms and conditions of the BSD License @@ -22,6 +23,8
> @@ function get_build_arch
>  	        BUILD_ARCH=ARM;;
>  	    aarch64*)
>  	        BUILD_ARCH=AARCH64;;
> +	    riscv64*)
> +	        BUILD_ARCH=RISCV64;;
>  	    *)
>  	        BUILD_ARCH=other;;
>  	esac
> @@ -47,6 +50,12 @@ function set_cross_compile
>  	    else
>  	        TEMP_CROSS_COMPILE=arm-linux-gnueabihf-
>  	    fi
> +	elif [ "$SCT_TARGET_ARCH" == "RISCV64" ]; then
> +	    if [ X"$CROSS_COMPILE_64" != X"" ]; then
> +	        TEMP_CROSS_COMPILE="$CROSS_COMPILE_64"
> +	    else
> +	        TEMP_CROSS_COMPILE=riscv64-unknown-elf-
> +	    fi
>  	else
>  	    echo "Unsupported target architecture '$SCT_TARGET_ARCH'!"
> >&2
>  	fi
> @@ -110,7 +119,7 @@ PrintUsage() {
>  	#Print Help
>  	#
>  	echo "Usage:"
> -	echo "    $0 <architecture (ARM, AARCH64, X64, etc)> \
> +	echo "    $0 <architecture (ARM, AARCH64, X64, RISCV64, etc)> \
>  <toolchain name (RVCT or ARMGCC or GCC*)> \  [build type (RELEASE OR
> DEBUG, DEFAULT: DEBUG)]"
>  }
> --
> 2.30.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72181): https://edk2.groups.io/g/devel/message/72181
Mute This Topic: https://groups.io/mt/80507447/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