From: "Abner Chang" <abner.chang@hpe.com>
To: "Schaefer, Daniel" <daniel.schaefer@hpe.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: G Edhaya Chandran <Edhaya.Chandran@arm.com>,
Barton Gao <gaojie@byosoft.com.cn>,
Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
Eric Jin <eric.jin@intel.com>, Arvin Chen <arvinx.chen@intel.com>,
"Leif Lindholm" <leif@nuviainc.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>
Subject: Re: [edk2-test PATCHv3 2/5] SctPkg: Adapt Aarch64 sources for Riscv64
Date: Thu, 4 Mar 2021 07:50:02 +0000 [thread overview]
Message-ID: <CS1PR8401MB1144FC2E839A9D27AA55BF48FF979@CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20210304032116.24357-3-daniel.schaefer@hpe.com>
Reviewed-by: Abner Chang <abner.chang@hpe.com>
> -----Original Message-----
> From: Schaefer, Daniel
> Sent: Thursday, March 4, 2021 11:21 AM
> To: devel@edk2.groups.io
> Cc: G Edhaya Chandran <Edhaya.Chandran@arm.com>; Barton Gao
> <gaojie@byosoft.com.cn>; Samer El-Haj-Mahmoud <Samer.El-Haj-
> Mahmoud@arm.com>; Eric Jin <eric.jin@intel.com>; Arvin Chen
> <arvinx.chen@intel.com>; Leif Lindholm <leif@nuviainc.com>; Heinrich
> Schuchardt <xypron.glpk@gmx.de>; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>
> Subject: [edk2-test PATCHv3 2/5] SctPkg: Adapt Aarch64 sources for Riscv64
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3042
>
> Cc: G Edhaya Chandran <Edhaya.Chandran@arm.com>
> Cc: Barton Gao <gaojie@byosoft.com.cn>
> Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
> Cc: Eric Jin <eric.jin@intel.com>
> Cc: Arvin Chen <arvinx.chen@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Abner Chang <abner.chang@hpe.com>
> Signed-off-by: Daniel Schaefer <daniel.schaefer@hpe.com>
> ---
> uefi-sct/SctPkg/Library/SctLib/Riscv64/SctLibPlat.h
> | 3 +-
> uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
> | 9 ++--
> uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/VirtualMemory.c
> | 16 +++----
> uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Debug.c
> | 22 +++------
> uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.c
> | 7 +--
> uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.h
> | 48 --------------------
> uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /DebugSupportBBTestExceptionCallbackFunction.c | 12 ++---
> uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /PlatformIsa.c | 4 +-
> uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/Riscv64/EntsLib
> Plat.h | 3 +-
> 9 files changed, 32 insertions(+), 92 deletions(-)
>
> diff --git a/uefi-sct/SctPkg/Library/SctLib/Riscv64/SctLibPlat.h b/uefi-
> sct/SctPkg/Library/SctLib/Riscv64/SctLibPlat.h
> index ee7c656b..69e7f904 100644
> --- a/uefi-sct/SctPkg/Library/SctLib/Riscv64/SctLibPlat.h
> +++ b/uefi-sct/SctPkg/Library/SctLib/Riscv64/SctLibPlat.h
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2012 Unified EFI, Inc.<BR> Copyright (c) 2011 - 2012, ARM
> Ltd. All rights reserved.<BR>+ Copyright (c) 2021, Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -20,7 +21,7 @@ Module Name:
> Abstract: - AArch64 specific defines+ RISCV64 specific defines --*/ diff --git
> a/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S b/uefi-
> sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
> index d223b36b..ae33da18 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
> +++ b/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/GoVirtual.S
> @@ -2,6 +2,7 @@
> # # Copyright 2010 - 2012 Unified EFI, Inc.<BR> # Copyright (c) 2012, ARM
> Ltd. All rights reserved.<BR>+# Copyright (c) 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@@ -23,8 +24,6 @@ #--*/ #start of the code section .text-
> /* FIXME: Should alignment be different on Aarch64? */-.align 3 .global
> JumpToTestFunc .type JumpToTestFunc, %function@@ -37,8 +36,8 @@
> # ) # JumpToTestFunc:- mov x2, x0- mov x0, x1+ mv x2, x0+
> mv x0, x1 // Jump to Virtual function- blr x2+ jalr x2diff --git
> a/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/VirtualMemory.c b/uefi-
> sct/SctPkg/SCRT/SCRTApp/Riscv64/VirtualMemory.c
> index 397b3514..00b59594 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/VirtualMemory.c
> +++ b/uefi-sct/SctPkg/SCRT/SCRTApp/Riscv64/VirtualMemory.c
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2012 Unified EFI, Inc.<BR> Copyright (c) 2012, ARM Ltd. All
> rights reserved.<BR>+ Copyright (c) 2021, Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -22,9 +23,6 @@ Module Name:
> #include "SCRTApp.h" -#define VIRT_TO_PHYS_OFFSET (0x80000000)
> //2G--BOOLEAN HighAddress = FALSE; UINTN PageTable = 0; @@ -
> 49,11 +47,10 @@ Returns:
> --*/ {- /*Note: It is presumed that on ARM v5, V6 and V7 architectures-
> * the MMU is configured and enabled in PEI phase. As VirtualFunc-
> * is already mapped to virtual memory, don't have to do anything
> here.+ /* Note: It is presumed that on RISCV architectures the MMU is
> configured and+ * enabled in PEI phase. As VirtualFunc is already mapped to
> virtual memory,+ * don't have to do anything here. */- /* FIXME: Is it
> the same on ARM v8? */ } @@ -174,9 +171,8 @@ Returns:
> --*/ { //- // Note: It is assumed that the MMU and page tables are
> configured on ARM platforms- // based on ARM v5 v6 and v7 architecture.+
> // Note: It is assumed that the MMU and page tables are configured on RISC-
> V+ // platforms. //- /* FIXME: Is it the same on ARM v8? */
> JumpToTestFunc(VirtualFunc, HandOffAddr); }diff --git a/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Debug.c b/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Debug.c
> index 6161d596..2991935a 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Debug.c
> +++ b/uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Debug.c
> @@ -1,7 +1,8 @@
> /** @file Copyright 2006 - 2012 Unified EFI, Inc.<BR>- Copyright (c) 2011 -
> 2012 ARM Ltd. All rights reserved.<BR> + Copyright (c) 2011 - 2012 ARM Ltd.
> All rights reserved.<BR>+ Copyright (c) 2021 Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -24,7 +25,6 @@ Module Name:
> #include "SCRTDriver.h" UINTN mHandOffPtr = 0;-
> EFI_PHYSICAL_ADDRESS mIoPortSpaceAddress = 0; EFI_STATUS@@ -42,18
> +42,10 @@ ConsumeHandOff (
> HandOffPtr = (RUNTIME_HANDOFF*)mHandOffPtr; *ConfigData =
> HandOffPtr->ConfigureInfo; - if (!HandOffPtr->DebuggerInfo.MmioFlag){-
> //- // If debug port is I/O mapped, fix IoBase Address.- //-
> FixAddress(&HandOffPtr->DebuggerInfo.IoBase);- mIoPortSpaceAddress
> = HandOffPtr->DebuggerInfo.IoBase;- } else {- //- // If debug port is
> MMIO, fix MmioBase Address.- //- FixAddress(&HandOffPtr-
> >DebuggerInfo.MmioBase);- }+ //+ // Fix MmioBase Address.+ //+
> FixAddress(&HandOffPtr->DebuggerInfo.MmioBase); return
> EFI_SUCCESS; }@@ -65,7 +57,7 @@ Send2UART (
> ) { //- // TODO: On ARM platforms use platform specific functions to+ //
> TODO: On RISC-V platforms use platform specific functions to // write the
> data to UART. // return EFI_SUCCESS;diff --git a/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.c b/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.c
> index b925e151..255cb9a6 100644
> --- a/uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.c
> +++ b/uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.c
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2012 Unified EFI, Inc.<BR> Copyright (c) 2011 - 2012 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@@ -21,7 +22,7 @@ Module Name:
> --*/ -#include "Io.h"+#include "SCRTDriver.h" EFI_STATUS EFIAPI@@ -
> 119,11 +120,11 @@ FixAddress (
> ) { //- //Note: On ARM platforms don't have to do
> this as all the functions are virtually mapped.+ //Note: On RISC-V
> platforms don't have to do this as all the functions are virtually mapped.
> // } -// Quick port to ARM+// Quick port to RISC-V. It doesn't
> have traditional I/O-Port 80h POST Codes VOID Port80 (diff --git a/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.h b/uefi-
> sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.h
> deleted file mode 100644
> index 1e78b3e4..00000000
> --- a/uefi-sct/SctPkg/SCRT/SCRTDriver/Riscv64/Io.h
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -/** @file-- Copyright 2006 - 2012 Unified EFI, Inc.<BR>- Copyright (c) 2011 -
> 2012 ARM Ltd. All rights reserved.<BR> -- This program and the
> accompanying materials- are licensed and made available under the terms
> and conditions of the BSD License- which accompanies this distribution. The
> full text of the license may be found at -
> http://opensource.org/licenses/bsd-license.php- - THE PROGRAM IS
> DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,- WITHOUT
> WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
> IMPLIED.- -**/--/*++--Module Name:-- Debug.h----*/--#ifndef
> _IA32_IO_ACCESS_H-#define _IA32_IO_ACCESS_H--#include
> "SCRTDriver.h"--#define IA32_MAX_IO_ADDRESS 0xFFFF--#define IA32API-
> --typedef union {- UINT8 VOLATILE *buf;- UINT8 VOLATILE *ui8;- UINT16
> VOLATILE *ui16;- UINT32 VOLATILE *ui32;- UINT64 VOLATILE *ui64;-
> UINTN VOLATILE ui;-} PTR;--// This address is assuming a pure PC
> architecture. Not required?-#define VIRT_TO_PHYS_OFFSET
> (0x80000000) //2G----#endifdiff --git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /DebugSupportBBTestExceptionCallbackFunction.c b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /DebugSupportBBTestExceptionCallbackFunction.c
> index c27c0c0c..c6e72806 100644
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /DebugSupportBBTestExceptionCallbackFunction.c
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTe
> +++ st/Riscv64/DebugSupportBBTestExceptionCallbackFunction.c
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2016 Unified EFI, Inc.<BR> Copyright (c) 2011 - 2016, ARM
> Ltd. All rights reserved.<BR>+ Copyright (c) 2021, Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -37,7 +38,7 @@ SoftwareBreak (
> void ) {- // Not ported to ARM yet+ // Not ported to RISC-V yet ASSERT
> (FALSE); } @@ -99,9 +100,7 @@
> BBTestRegisterExceptionCallbackFunctionManualTest (
> // Invoke RegisterExceptionCallback() to install an interrupt handler
> function. // InvokedExceptionCallback = FALSE;- // FIXME: Is it normal that
> we use EXCEPT_IA32_BREAKPOINT here?- // Shouldn't we define proper
> constants for ARM exceptions in DebugSupportProtocol.h file?- Status =
> DebugSupport->RegisterExceptionCallback (DebugSupport, 0,
> ExceptionCallback, EXCEPT_IA32_BREAKPOINT);+ Status = DebugSupport-
> >RegisterExceptionCallback (DebugSupport, 0, ExceptionCallback,
> EXCEPT_RISCV_BREAKPOINT); if ((Status == EFI_SUCCESS) || (Status ==
> EFI_ALREADY_STARTED)) { AssertionType =
> EFI_TEST_ASSERTION_PASSED;@@ -205,7 +204,7 @@
> BBTestRegisterExceptionCallbackFunctionManualTest (
> // Assertion Point 3.4.2.3 // Invoke RegisterExceptionCallback() to install
> another interrupt handler function. //- Status = DebugSupport-
> >RegisterExceptionCallback (DebugSupport, 0, ExceptionCallback1,
> EXCEPT_IA32_BREAKPOINT);+ Status = DebugSupport-
> >RegisterExceptionCallback (DebugSupport, 0, ExceptionCallback1,
> EXCEPT_RISCV_BREAKPOINT); if (Status != EFI_ALREADY_STARTED)
> { AssertionType = EFI_TEST_ASSERTION_FAILED;@@ -228,7 +227,7 @@
> BBTestRegisterExceptionCallbackFunctionManualTest (
> // Assertion Point 3.4.2.4 // Invoke RegisterExceptionCallback() to unstall
> the interrupt handler function. //- Status = DebugSupport-
> >RegisterExceptionCallback (DebugSupport, 0, NULL,
> EXCEPT_IA32_BREAKPOINT);+ Status = DebugSupport-
> >RegisterExceptionCallback (DebugSupport, 0, NULL,
> EXCEPT_RISCV_BREAKPOINT); if (EFI_ERROR(Status)) { AssertionType =
> EFI_TEST_ASSERTION_FAILED;@@ -273,4 +272,3 @@
> BBTestRegisterExceptionCallbackFunctionManualTest (
> return EFI_SUCCESS; }-diff --git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /PlatformIsa.c b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /PlatformIsa.c
> index 8334f601..8b23d91b 100644
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTest/Riscv64
> /PlatformIsa.c
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/DebugSupport/BlackBoxTe
> +++ st/Riscv64/PlatformIsa.c
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2012 Unified EFI, Inc.<BR> Copyright (c) 2011 - 2012, ARM
> Ltd. All rights reserved.<BR>+ Copyright (c) 2021, Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -26,5 +27,4 @@ Abstract:
> #include "DebugSupportBBTestMain.h" -
> EFI_INSTRUCTION_SET_ARCHITECTURE PlatformIsa = IsaAArch64;-
> +EFI_INSTRUCTION_SET_ARCHITECTURE PlatformIsa = IsaRiscv64;diff --git
> a/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/Riscv64/EntsLib
> Plat.h b/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/Riscv64/EntsLib
> Plat.h
> index ff781aee..144f812a 100644
> --- a/uefi-
> sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/Riscv64/EntsLib
> Plat.h
> +++ b/uefi-sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasLib/Riscv
> +++ 64/EntsLibPlat.h
> @@ -2,6 +2,7 @@
> Copyright 2006 - 2012 Unified EFI, Inc.<BR> Copyright (c) 2010 - 2012, ARM
> Ltd. All rights reserved.<BR>+ Copyright (c) 2021 Hewlett Packard Enterprise
> Development LP. All rights reserved.<BR> This program and the
> accompanying materials are licensed and made available under the terms
> and conditions of the BSD License@@ -20,7 +21,7 @@ Module Name:
> Abstract: - AArch64 specific defines+ RISCV64 specific defines --*/ --
> 2.30.0
next prev parent reply other threads:[~2021-03-04 7:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 3:21 [edk2-test PATCHv3 0/5] Port SCT to RISCV64 Daniel Schaefer
2021-03-04 3:21 ` [edk2-test PATCHv3 1/5] SctPkg: Add RISCV64 support by using Aarch64 sources Daniel Schaefer
2021-03-30 12:25 ` Sunny Wang
2021-03-04 3:21 ` [edk2-test PATCHv3 2/5] SctPkg: Adapt Aarch64 sources for Riscv64 Daniel Schaefer
2021-03-04 7:50 ` Abner Chang [this message]
2021-03-30 12:25 ` Sunny Wang
2021-03-04 3:21 ` [edk2-test PATCHv3 3/5] SctPkg: Add RISCV64 build support Daniel Schaefer
2021-03-30 12:26 ` [edk2-devel] " Sunny Wang
2021-03-04 3:21 ` [edk2-test PATCHv3 4/5] SctPkg: Unify CC_FLAGS for all GCC platforms Daniel Schaefer
2021-03-04 7:50 ` Abner Chang
2021-03-30 12:26 ` [edk2-devel] " Sunny Wang
2021-03-04 3:21 ` [edk2-test PATCHv3 5/5] SctPkg: Remove trailing whitespace Daniel Schaefer
2021-03-04 7:51 ` 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=CS1PR8401MB1144FC2E839A9D27AA55BF48FF979@CS1PR8401MB1144.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