public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 0/3] MdeModulePkg changes for RISC-V edk2 port
@ 2020-04-10  7:25 Abner Chang
  2020-04-10  7:25 ` [PATCH v1 1/3] MdeModulePkg/Logo Abner Chang
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Abner Chang @ 2020-04-10  7:25 UTC (permalink / raw)
  To: devel; +Cc: abner.chang

MdeModulePkg modules and definitionsfor RISC-V architecture on edk2.

BZ for entire RISC-V edk2 port,
https://bugzilla.tianocore.org/show_bug.cgi?id=2672

These commits are verified by below PR,
https://github.com/tianocore/edk2/pull/512

Abner Chang (3):
  MdeModulePkg/Logo
  MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
  MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL

 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf       |  6 +-
 MdeModulePkg/Logo/Logo.inf                    |  4 +-
 .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf   |  9 ++-
 .../Core/DxeIplPeim/RiscV64/DxeLoadFunc.c     | 80 +++++++++++++++++++
 4 files changed, 93 insertions(+), 6 deletions(-)
 create mode 100644 MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c

-- 
2.25.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v1 1/3] MdeModulePkg/Logo
  2020-04-10  7:25 [PATCH v1 0/3] MdeModulePkg changes for RISC-V edk2 port Abner Chang
@ 2020-04-10  7:25 ` Abner Chang
  2020-04-10  7:25 ` [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch Abner Chang
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Abner Chang @ 2020-04-10  7:25 UTC (permalink / raw)
  To: devel; +Cc: abner.chang, Gilbert Chen, Leif Lindholm, Zhichao Gao, Ray Ni

Add RISCV64 Arch.

Signed-off-by: Abner Chang <abner.chang@hpe.com>
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Gilbert Chen <gilbert.chen@hpe.com>
---
 MdeModulePkg/Logo/Logo.inf | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Logo/Logo.inf b/MdeModulePkg/Logo/Logo.inf
index 018202582e..70a66cae98 100644
--- a/MdeModulePkg/Logo/Logo.inf
+++ b/MdeModulePkg/Logo/Logo.inf
@@ -2,6 +2,8 @@
 #  The default logo bitmap picture shown on setup screen, which is corresponding to gEfiDefaultBmpLogoGuid.
 #
 #  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -19,7 +21,7 @@
 #
 # The following information is for reference only and not required by the build tools.
 #
-#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
+#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
 #
 
 [Binaries]
-- 
2.25.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
  2020-04-10  7:25 [PATCH v1 0/3] MdeModulePkg changes for RISC-V edk2 port Abner Chang
  2020-04-10  7:25 ` [PATCH v1 1/3] MdeModulePkg/Logo Abner Chang
@ 2020-04-10  7:25 ` Abner Chang
  2020-04-10  7:25 ` [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL Abner Chang
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Abner Chang @ 2020-04-10  7:25 UTC (permalink / raw)
  To: devel; +Cc: abner.chang, Gilbert Chen, Leif Lindholm, Hao A Wu, Liming Gao

Add RISC-V in INF for building CapsuleRuntimeDxe RISCV64 image.

Signed-off-by: Abner Chang <abner.chang@hpe.com>
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Gilbert Chen <gilbert.chen@hpe.com>
---
 .../Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf    | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
index 942eda235c..8bf5035a69 100644
--- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
@@ -5,6 +5,7 @@
 #  the capsule runtime services are ready.
 #
 #  Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
 ##
@@ -21,20 +22,20 @@
 #
 # The following information is for reference only and not required by the build tools.
 #
-#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
+#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
 #
 
 [Sources]
   CapsuleService.c
   CapsuleService.h
 
-[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
+[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64]
   SaveLongModeContext.c
 
-[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64]
+[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64, Sources.RISCV64]
   CapsuleCache.c
 
-[Sources.Ia32, Sources.X64, Sources.EBC]
+[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64]
   CapsuleReset.c
 
 [Sources.ARM, Sources.AARCH64]
-- 
2.25.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
  2020-04-10  7:25 [PATCH v1 0/3] MdeModulePkg changes for RISC-V edk2 port Abner Chang
  2020-04-10  7:25 ` [PATCH v1 1/3] MdeModulePkg/Logo Abner Chang
  2020-04-10  7:25 ` [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch Abner Chang
@ 2020-04-10  7:25 ` Abner Chang
  2020-04-26 14:44   ` [edk2-devel] " Dandan Bi
       [not found] ` <160466A5E76BAF01.10131@groups.io>
       [not found] ` <160466A642D4443D.7555@groups.io>
  4 siblings, 1 reply; 10+ messages in thread
From: Abner Chang @ 2020-04-10  7:25 UTC (permalink / raw)
  To: devel; +Cc: abner.chang, Gilbert Chen, Leif Lindholm, Dandan Bi, Liming Gao

Implementation of RISC-V DxeIPL.

Signed-off-by: Abner Chang <abner.chang@hpe.com>
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Gilbert Chen <gilbert.chen@hpe.com>
---
 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf       |  6 +-
 .../Core/DxeIplPeim/RiscV64/DxeLoadFunc.c     | 80 +++++++++++++++++++
 2 files changed, 85 insertions(+), 1 deletion(-)
 create mode 100644 MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c

diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
index 98bc17fc9d..3f17028546 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
@@ -7,6 +7,7 @@
 #
 #  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
 #  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
+#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -25,7 +26,7 @@
 #
 # The following information is for reference only and not required by the build tools.
 #
-#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only) AARCH64
+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64
 #
 
 [Sources]
@@ -49,6 +50,9 @@
 [Sources.ARM, Sources.AARCH64]
   Arm/DxeLoadFunc.c
 
+[Sources.RISCV64]
+  RiscV64/DxeLoadFunc.c
+
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
diff --git a/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
new file mode 100644
index 0000000000..051d11de25
--- /dev/null
+++ b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
@@ -0,0 +1,80 @@
+/** @file
+  RISC-V specific functionality for DxeLoad.
+
+  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "DxeIpl.h"
+
+typedef
+VOID*
+(EFIAPI *DXEENTRYPOINT) (
+  IN  VOID *HobStart
+  );
+
+/**
+   Transfers control to DxeCore.
+
+   This function performs a CPU architecture specific operations to execute
+   the entry point of DxeCore with the parameters of HobList.
+   It also installs EFI_END_OF_PEI_PPI to signal the end of PEI phase.
+
+   @param DxeCoreEntryPoint         The entry point of DxeCore.
+   @param HobList                   The start of HobList passed to DxeCore.
+
+**/
+VOID
+HandOffToDxeCore (
+  IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,
+  IN EFI_PEI_HOB_POINTERS   HobList
+  )
+{
+  VOID                            *BaseOfStack;
+  VOID                            *TopOfStack;
+  EFI_STATUS                      Status;
+  //
+  //
+  // Allocate 128KB for the Stack
+  //
+  BaseOfStack = AllocatePages (EFI_SIZE_TO_PAGES (STACK_SIZE));
+  if (BaseOfStack == NULL) {
+    DEBUG((DEBUG_ERROR, "%a: Can't allocate memory for stack.", __FUNCTION__));
+    ASSERT(FALSE);
+  }
+
+  //
+  // Compute the top of the stack we were allocated. Pre-allocate a UINTN
+  // for safety.
+  //
+  TopOfStack = (VOID *)((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT);
+  TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);
+
+  //
+  // End of PEI phase signal
+  //
+  Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);
+  if (EFI_ERROR (Status)) {
+    DEBUG((DEBUG_ERROR, "%a: Fail to signal End of PEI event.", __FUNCTION__));
+    ASSERT(FALSE);
+  }
+  //
+  // Update the contents of BSP stack HOB to reflect the real stack info passed to DxeCore.
+  //
+  UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN) BaseOfStack, STACK_SIZE);
+
+  DEBUG ((DEBUG_INFO, "DXE Core new stack at %x, stack pointer at %x\n", BaseOfStack, TopOfStack));
+
+  //
+  // Transfer the control to the entry point of DxeCore.
+  //
+  SwitchStack (
+    (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint,
+    HobList.Raw,
+    NULL,
+    TopOfStack
+    );
+}
+
-- 
2.25.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 1/3] MdeModulePkg/Logo
       [not found] ` <160466A5E76BAF01.10131@groups.io>
@ 2020-04-15 12:41   ` Gao, Zhichao
  0 siblings, 0 replies; 10+ messages in thread
From: Gao, Zhichao @ 2020-04-15 12:41 UTC (permalink / raw)
  To: devel@edk2.groups.io, Chang, Abner (HPS SW/FW Technologist)
  Cc: Chen, Gilbert, Leif Lindholm, Ni, Ray

Acked-by: Zhichao Gao <zhichao.gao@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> Abner (HPS SW/FW Technologist)
> Sent: Friday, April 10, 2020 3:26 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>; Chen,
> Gilbert <gilbert.chen@hpe.com>; Leif Lindholm <leif.lindholm@linaro.org>; Gao,
> Zhichao <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>
> Subject: [edk2-devel] [PATCH v1 1/3] MdeModulePkg/Logo
> 
> Add RISCV64 Arch.
> 
> Signed-off-by: Abner Chang <abner.chang@hpe.com>
> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> 
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Gilbert Chen <gilbert.chen@hpe.com>
> ---
>  MdeModulePkg/Logo/Logo.inf | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Logo/Logo.inf b/MdeModulePkg/Logo/Logo.inf
> index 018202582e..70a66cae98 100644
> --- a/MdeModulePkg/Logo/Logo.inf
> +++ b/MdeModulePkg/Logo/Logo.inf
> @@ -2,6 +2,8 @@
>  #  The default logo bitmap picture shown on setup screen, which is
> corresponding to gEfiDefaultBmpLogoGuid.
>  #
>  #  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All
> +rights reserved.<BR>
> +
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -19,7 +21,7 @@  #  #
> The following information is for reference only and not required by the build
> tools.
>  #
> -#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
> +#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
>  #
> 
>  [Binaries]
> --
> 2.25.0
> 
> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
       [not found] ` <160466A642D4443D.7555@groups.io>
@ 2020-04-20  5:23   ` Wu, Hao A
  2020-04-20  5:38     ` Abner Chang
  0 siblings, 1 reply; 10+ messages in thread
From: Wu, Hao A @ 2020-04-20  5:23 UTC (permalink / raw)
  To: devel@edk2.groups.io, Chang, Abner (HPS SW/FW Technologist)
  Cc: Chen, Gilbert, Leif Lindholm, Gao, Liming

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Chang, Abner (HPS SW/FW Technologist)
> Sent: Friday, April 10, 2020 3:26 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner (HPS SW/FW Technologist); Chen, Gilbert; Leif Lindholm;
> Wu, Hao A; Gao, Liming
> Subject: [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe:
> Add RISCV64 arch.
> 
> Add RISC-V in INF for building CapsuleRuntimeDxe RISCV64 image.
> 
> Signed-off-by: Abner Chang <abner.chang@hpe.com>
> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> 
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Gilbert Chen <gilbert.chen@hpe.com>
> ---
>  .../Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf    | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git
> a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> index 942eda235c..8bf5035a69 100644
> --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> +++
> b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> @@ -5,6 +5,7 @@
>  #  the capsule runtime services are ready.
>  #
>  #  Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights
> reserved.<BR>
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
>  ##
> @@ -21,20 +22,20 @@
>  #
>  # The following information is for reference only and not required by the
> build tools.
>  #
> -#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
> +#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
>  #
> 
>  [Sources]
>    CapsuleService.c
>    CapsuleService.h
> 
> -[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
> +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64,
> Sources.RISCV64]
>    SaveLongModeContext.c
> 
> -[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64]
> +[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64,
> Sources.RISCV64]
>    CapsuleCache.c
> 
> -[Sources.Ia32, Sources.X64, Sources.EBC]
> +[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64]
>    CapsuleReset.c


Hello Abner,

Sorry for the delayed response.
I saw you added the new arch under sections:
[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64]
[Sources.Ia32, Sources.X64, Sources.EBC]

How about the below section? It is not needed, right?
[Sources.X64]

Best Regards,
Hao Wu


> 
>  [Sources.ARM, Sources.AARCH64]
> --
> 2.25.0
> 
> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
  2020-04-20  5:23   ` [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch Wu, Hao A
@ 2020-04-20  5:38     ` Abner Chang
  2020-04-20  5:39       ` Wu, Hao A
  0 siblings, 1 reply; 10+ messages in thread
From: Abner Chang @ 2020-04-20  5:38 UTC (permalink / raw)
  To: devel@edk2.groups.io, hao.a.wu@intel.com
  Cc: Chen, Gilbert, Leif Lindholm, Gao, Liming



> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Wu, Hao A
> Sent: Monday, April 20, 2020 1:24 PM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>
> Cc: Chen, Gilbert <gilbert.chen@hpe.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2-devel] [PATCH v1 2/3]
> MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Chang, Abner (HPS SW/FW Technologist)
> > Sent: Friday, April 10, 2020 3:26 PM
> > To: devel@edk2.groups.io
> > Cc: Chang, Abner (HPS SW/FW Technologist); Chen, Gilbert; Leif
> > Lindholm; Wu, Hao A; Gao, Liming
> > Subject: [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe:
> > Add RISCV64 arch.
> >
> > Add RISC-V in INF for building CapsuleRuntimeDxe RISCV64 image.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> > Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> >
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Gilbert Chen <gilbert.chen@hpe.com>
> > ---
> >  .../Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf    | 9 +++++----
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git
> > a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > index 942eda235c..8bf5035a69 100644
> > ---
> a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > +++
> > b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > @@ -5,6 +5,7 @@
> >  #  the capsule runtime services are ready.
> >  #
> >  #  Copyright (c) 2006 - 2020, Intel Corporation. All rights
> > reserved.<BR>
> > +#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All
> > +rights
> > reserved.<BR>
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent  #  ## @@ -21,20
> > +22,20 @@  #  # The following information is for reference only and
> > not required by the build tools.
> >  #
> > -#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
> > +#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
> >  #
> >
> >  [Sources]
> >    CapsuleService.c
> >    CapsuleService.h
> >
> > -[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
> > +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64,
> > Sources.RISCV64]
> >    SaveLongModeContext.c
> >
> > -[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64]
> > +[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64,
> > Sources.RISCV64]
> >    CapsuleCache.c
> >
> > -[Sources.Ia32, Sources.X64, Sources.EBC]
> > +[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64]
> >    CapsuleReset.c
> 
> 
> Hello Abner,
> 
> Sorry for the delayed response.
> I saw you added the new arch under sections:
> [Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64] [Sources.Ia32,
> Sources.X64, Sources.ARM, Sources.AARCH64] [Sources.Ia32, Sources.X64,
> Sources.EBC]
> 
> How about the below section? It is not needed, right?
> [Sources.X64]
No, we don't need [Sources.X64] for architecture specific saveLongModeContext implementation.
thanks

> 
> Best Regards,
> Hao Wu
> 
> 
> >
> >  [Sources.ARM, Sources.AARCH64]
> > --
> > 2.25.0
> >
> >
> >
> 
> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
  2020-04-20  5:38     ` Abner Chang
@ 2020-04-20  5:39       ` Wu, Hao A
  0 siblings, 0 replies; 10+ messages in thread
From: Wu, Hao A @ 2020-04-20  5:39 UTC (permalink / raw)
  To: devel@edk2.groups.io, abner.chang@hpe.com
  Cc: Chen, Gilbert, Leif Lindholm, Gao, Liming

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Abner Chang
> Sent: Monday, April 20, 2020 1:38 PM
> To: devel@edk2.groups.io; Wu, Hao A
> Cc: Chen, Gilbert; Leif Lindholm; Gao, Liming
> Subject: Re: [edk2-devel] [PATCH v1 2/3]
> MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
> 
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Wu, Hao A
> > Sent: Monday, April 20, 2020 1:24 PM
> > To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> > <abner.chang@hpe.com>
> > Cc: Chen, Gilbert <gilbert.chen@hpe.com>; Leif Lindholm
> > <leif.lindholm@linaro.org>; Gao, Liming <liming.gao@intel.com>
> > Subject: Re: [edk2-devel] [PATCH v1 2/3]
> > MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch.
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf
> Of
> > > Chang, Abner (HPS SW/FW Technologist)
> > > Sent: Friday, April 10, 2020 3:26 PM
> > > To: devel@edk2.groups.io
> > > Cc: Chang, Abner (HPS SW/FW Technologist); Chen, Gilbert; Leif
> > > Lindholm; Wu, Hao A; Gao, Liming
> > > Subject: [edk2-devel] [PATCH v1 2/3]
> MdeModulePkg/CapsuleRuntimeDxe:
> > > Add RISCV64 arch.
> > >
> > > Add RISC-V in INF for building CapsuleRuntimeDxe RISCV64 image.
> > >
> > > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> > > Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> > > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> > >
> > > Cc: Hao A Wu <hao.a.wu@intel.com>
> > > Cc: Liming Gao <liming.gao@intel.com>
> > > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > > Cc: Gilbert Chen <gilbert.chen@hpe.com>
> > > ---
> > >  .../Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf    | 9 +++++----
> > >  1 file changed, 5 insertions(+), 4 deletions(-)
> > >
> > > diff --git
> > > a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > > b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > > index 942eda235c..8bf5035a69 100644
> > > ---
> > a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > > +++
> > > b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> > > @@ -5,6 +5,7 @@
> > >  #  the capsule runtime services are ready.
> > >  #
> > >  #  Copyright (c) 2006 - 2020, Intel Corporation. All rights
> > > reserved.<BR>
> > > +#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All
> > > +rights
> > > reserved.<BR>
> > >  #  SPDX-License-Identifier: BSD-2-Clause-Patent  #  ## @@ -21,20
> > > +22,20 @@  #  # The following information is for reference only and
> > > not required by the build tools.
> > >  #
> > > -#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
> > > +#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64
> > >  #
> > >
> > >  [Sources]
> > >    CapsuleService.c
> > >    CapsuleService.h
> > >
> > > -[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
> > > +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64,
> > > Sources.RISCV64]
> > >    SaveLongModeContext.c
> > >
> > > -[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64]
> > > +[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64,
> > > Sources.RISCV64]
> > >    CapsuleCache.c
> > >
> > > -[Sources.Ia32, Sources.X64, Sources.EBC]
> > > +[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64]
> > >    CapsuleReset.c
> >
> >
> > Hello Abner,
> >
> > Sorry for the delayed response.
> > I saw you added the new arch under sections:
> > [Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64]
> [Sources.Ia32,
> > Sources.X64, Sources.ARM, Sources.AARCH64] [Sources.Ia32, Sources.X64,
> > Sources.EBC]
> >
> > How about the below section? It is not needed, right?
> > [Sources.X64]
> No, we don't need [Sources.X64] for architecture specific
> saveLongModeContext implementation.
> thanks


Got it, thanks for the explanation.
Acked-by: Hao A Wu <hao.a.wu@intel.com>

Best Regards,
Hao Wu


> 
> >
> > Best Regards,
> > Hao Wu
> >
> >
> > >
> > >  [Sources.ARM, Sources.AARCH64]
> > > --
> > > 2.25.0
> > >
> > >
> > >
> >
> >
> >
> 
> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
  2020-04-10  7:25 ` [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL Abner Chang
@ 2020-04-26 14:44   ` Dandan Bi
  2020-04-26 15:26     ` Abner Chang
  0 siblings, 1 reply; 10+ messages in thread
From: Dandan Bi @ 2020-04-26 14:44 UTC (permalink / raw)
  To: devel@edk2.groups.io, abner.chang@hpe.com
  Cc: Gilbert Chen, Leif Lindholm, Gao, Liming

Hi Abner,

1. What's following definition for? It seems not be used.
typedef
VOID*
(EFIAPI *DXEENTRYPOINT) (
  IN  VOID *HobStart
  );

2. When reviewing this patch, found the RSIC-V switchstack related code are not in BaseLib in MdePkg.
  But then noticed that you have covered them in another patch set.
So here I may suggest that maybe you can make the patches which have dependency in one patch set and then CC all reviewers, then it can avoid such confusion and also can make the patches submit in right dependency order.
Since now these patches are in different patch series, please pay attention to the submit order to avoid any build break in this way.


Thanks,
Dandan
> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Abner Chang
> Sent: Friday, April 10, 2020 3:26 PM
> To: devel@edk2.groups.io
> Cc: abner.chang@hpe.com; Gilbert Chen <gilbert.chen@hpe.com>; Leif
> Lindholm <leif.lindholm@linaro.org>; Bi, Dandan <dandan.bi@intel.com>;
> Gao, Liming <liming.gao@intel.com>
> Subject: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V
> platform level DxeIPL
> 
> Implementation of RISC-V DxeIPL.
> 
> Signed-off-by: Abner Chang <abner.chang@hpe.com>
> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> 
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Gilbert Chen <gilbert.chen@hpe.com>
> ---
>  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf       |  6 +-
>  .../Core/DxeIplPeim/RiscV64/DxeLoadFunc.c     | 80 +++++++++++++++++++
>  2 files changed, 85 insertions(+), 1 deletion(-)  create mode 100644
> MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> 
> diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> index 98bc17fc9d..3f17028546 100644
> --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> @@ -7,6 +7,7 @@
>  # #  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> #
> Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>+#  Copyright
> (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
> # #  SPDX-License-Identifier: BSD-2-Clause-Patent #@@ -25,7 +26,7 @@
>  # # The following information is for reference only and not required by the
> build tools. #-#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build
> only) AARCH64+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for
> build only) AARCH64 RISCV64 #  [Sources]@@ -49,6 +50,9 @@
>  [Sources.ARM, Sources.AARCH64]   Arm/DxeLoadFunc.c
> +[Sources.RISCV64]+  RiscV64/DxeLoadFunc.c+ [Packages]
> MdePkg/MdePkg.dec   MdeModulePkg/MdeModulePkg.decdiff --git
> a/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> new file mode 100644
> index 0000000000..051d11de25
> --- /dev/null
> +++ b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> @@ -0,0 +1,80 @@
> +/** @file+  RISC-V specific functionality for DxeLoad.++  Copyright (c) 2020,
> Hewlett Packard Enterprise Development LP. All rights reserved.<BR>++
> SPDX-License-Identifier: BSD-2-Clause-Patent++**/++#include
> "DxeIpl.h"++typedef+VOID*+(EFIAPI *DXEENTRYPOINT) (+  IN  VOID
> *HobStart+  );++/**+   Transfers control to DxeCore.++   This function
> performs a CPU architecture specific operations to execute+   the entry point
> of DxeCore with the parameters of HobList.+   It also installs
> EFI_END_OF_PEI_PPI to signal the end of PEI phase.++   @param
> DxeCoreEntryPoint         The entry point of DxeCore.+   @param HobList
> The start of HobList passed to DxeCore.++**/+VOID+HandOffToDxeCore (+
> IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,+  IN
> EFI_PEI_HOB_POINTERS   HobList+  )+{+  VOID                            *BaseOfStack;+
> VOID                            *TopOfStack;+  EFI_STATUS                      Status;+  //+  //+
> // Allocate 128KB for the Stack+  //+  BaseOfStack = AllocatePages
> (EFI_SIZE_TO_PAGES (STACK_SIZE));+  if (BaseOfStack == NULL) {+
> DEBUG((DEBUG_ERROR, "%a: Can't allocate memory for stack.",
> __FUNCTION__));+    ASSERT(FALSE);+  }++  //+  // Compute the top of the
> stack we were allocated. Pre-allocate a UINTN+  // for safety.+  //+
> TopOfStack = (VOID *)((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES
> (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT);+  TopOfStack =
> ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);++  //+  // End of
> PEI phase signal+  //+  Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);+
> if (EFI_ERROR (Status)) {+    DEBUG((DEBUG_ERROR, "%a: Fail to signal End of
> PEI event.", __FUNCTION__));+    ASSERT(FALSE);+  }+  //+  // Update the
> contents of BSP stack HOB to reflect the real stack info passed to DxeCore.+
> //+  UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN) BaseOfStack,
> STACK_SIZE);++  DEBUG ((DEBUG_INFO, "DXE Core new stack at %x, stack
> pointer at %x\n", BaseOfStack, TopOfStack));++  //+  // Transfer the control
> to the entry point of DxeCore.+  //+  SwitchStack (+
> (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint,+
> HobList.Raw,+    NULL,+    TopOfStack+    );+}+--
> 2.25.0
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> 
> View/Reply Online (#57204): https://edk2.groups.io/g/devel/message/57204
> Mute This Topic: https://groups.io/mt/72916401/1768738
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub  [dandan.bi@intel.com]
> -=-=-=-=-=-=


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
  2020-04-26 14:44   ` [edk2-devel] " Dandan Bi
@ 2020-04-26 15:26     ` Abner Chang
  0 siblings, 0 replies; 10+ messages in thread
From: Abner Chang @ 2020-04-26 15:26 UTC (permalink / raw)
  To: Bi, Dandan, devel@edk2.groups.io
  Cc: Chen, Gilbert, Leif Lindholm, Gao, Liming



> -----Original Message-----
> From: Bi, Dandan [mailto:dandan.bi@intel.com]
> Sent: Sunday, April 26, 2020 10:44 PM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>
> Cc: Chen, Gilbert <gilbert.chen@hpe.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Gao, Liming <liming.gao@intel.com>
> Subject: RE: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-
> V platform level DxeIPL
> 
> Hi Abner,
> 
> 1. What's following definition for? It seems not be used.
> typedef
> VOID*
> (EFIAPI *DXEENTRYPOINT) (
>   IN  VOID *HobStart
>   );
[Abner] Hmm.. this is never used. Already removed this in another patch set.
> 
> 2. When reviewing this patch, found the RSIC-V switchstack related code are
> not in BaseLib in MdePkg.
>   But then noticed that you have covered them in another patch set.
> So here I may suggest that maybe you can make the patches which have
> dependency in one patch set and then CC all reviewers, then it can avoid
> such confusion and also can make the patches submit in right dependency
> order.
[Abner] Thanks for the advice. Sure, will follow this if the change dependency is across patch sets next time.

> Since now these patches are in different patch series, please pay attention to
> the submit order to avoid any build break in this way.
[Abner] Currently the commit of BaseLib is prior to the commit of  DxeIpl change. It should be no problem. Thanks.
> 
> 
> Thanks,
> Dandan
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Abner Chang
> > Sent: Friday, April 10, 2020 3:26 PM
> > To: devel@edk2.groups.io
> > Cc: abner.chang@hpe.com; Gilbert Chen <gilbert.chen@hpe.com>; Leif
> > Lindholm <leif.lindholm@linaro.org>; Bi, Dandan <dandan.bi@intel.com>;
> > Gao, Liming <liming.gao@intel.com>
> > Subject: [edk2-devel] [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V
> > platform level DxeIPL
> >
> > Implementation of RISC-V DxeIPL.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> > Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com>
> > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> >
> > Cc: Dandan Bi <dandan.bi@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Gilbert Chen <gilbert.chen@hpe.com>
> > ---
> >  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf       |  6 +-
> >  .../Core/DxeIplPeim/RiscV64/DxeLoadFunc.c     | 80
> +++++++++++++++++++
> >  2 files changed, 85 insertions(+), 1 deletion(-)  create mode 100644
> > MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> >
> > diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> > b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> > index 98bc17fc9d..3f17028546 100644
> > --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> > +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> > @@ -7,6 +7,7 @@
> >  # #  Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > reserved.<BR> # Copyright (c) 2017, AMD Incorporated. All rights
> > reserved.<BR>+#  Copyright
> > (c) 2020, Hewlett Packard Enterprise Development LP. All rights
> > reserved.<BR> # #  SPDX-License-Identifier: BSD-2-Clause-Patent #@@
> > -25,7 +26,7 @@  # # The following information is for reference only and not
> required by the
> > build tools. #-#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for
> build
> > only) AARCH64+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for
> > build only) AARCH64 RISCV64 #  [Sources]@@ -49,6 +50,9 @@
> >  [Sources.ARM, Sources.AARCH64]   Arm/DxeLoadFunc.c
> > +[Sources.RISCV64]+  RiscV64/DxeLoadFunc.c+ [Packages]
> > MdePkg/MdePkg.dec   MdeModulePkg/MdeModulePkg.decdiff --git
> > a/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> > b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> > new file mode 100644
> > index 0000000000..051d11de25
> > --- /dev/null
> > +++ b/MdeModulePkg/Core/DxeIplPeim/RiscV64/DxeLoadFunc.c
> > @@ -0,0 +1,80 @@
> > +/** @file+  RISC-V specific functionality for DxeLoad.++  Copyright
> > +(c) 2020,
> > Hewlett Packard Enterprise Development LP. All rights reserved.<BR>++
> > SPDX-License-Identifier: BSD-2-Clause-Patent++**/++#include
> > "DxeIpl.h"++typedef+VOID*+(EFIAPI *DXEENTRYPOINT) (+  IN  VOID
> > *HobStart+  );++/**+   Transfers control to DxeCore.++   This function
> > performs a CPU architecture specific operations to execute+   the entry
> point
> > of DxeCore with the parameters of HobList.+   It also installs
> > EFI_END_OF_PEI_PPI to signal the end of PEI phase.++   @param
> > DxeCoreEntryPoint         The entry point of DxeCore.+   @param HobList
> > The start of HobList passed to DxeCore.++**/+VOID+HandOffToDxeCore
> (+
> > IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,+  IN
> > EFI_PEI_HOB_POINTERS   HobList+  )+{+  VOID
> *BaseOfStack;+
> > VOID                            *TopOfStack;+  EFI_STATUS                      Status;+  //+  //+
> > // Allocate 128KB for the Stack+  //+  BaseOfStack = AllocatePages
> > (EFI_SIZE_TO_PAGES (STACK_SIZE));+  if (BaseOfStack == NULL) {+
> > DEBUG((DEBUG_ERROR, "%a: Can't allocate memory for stack.",
> > __FUNCTION__));+    ASSERT(FALSE);+  }++  //+  // Compute the top of the
> > stack we were allocated. Pre-allocate a UINTN+  // for safety.+  //+
> > TopOfStack = (VOID *)((UINTN) BaseOfStack + EFI_SIZE_TO_PAGES
> > (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT);+  TopOfStack
> =
> > ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);++  //+  // End of
> PEI
> > phase signal+  //+  Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);+
> > if (EFI_ERROR (Status)) {+    DEBUG((DEBUG_ERROR, "%a: Fail to signal End
> of
> > PEI event.", __FUNCTION__));+    ASSERT(FALSE);+  }+  //+  // Update the
> > contents of BSP stack HOB to reflect the real stack info passed to
> > DxeCore.+ //+  UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN)
> > BaseOfStack, STACK_SIZE);++  DEBUG ((DEBUG_INFO, "DXE Core new stack
> > at %x, stack pointer at %x\n", BaseOfStack, TopOfStack));++  //+  //
> > Transfer the control to the entry point of DxeCore.+  //+  SwitchStack
> > (+ (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint,+
> > HobList.Raw,+    NULL,+    TopOfStack+    );+}+--
> > 2.25.0
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> >
> > View/Reply Online (#57204):
> > INVALID URI REMOVED
> 3A__edk2.groups.io_g_
> >
> devel_message_57204&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_SN
> 6FZBN4Vgi4U
> > lkskz6qU3NYRO03nHp9P7Z5q59A3E&m=QGY2A-
> 8sGgSVd_INCRAJPHdRdr_xoMzfE4YRhp
> > mX6CY&s=1N-Li2mpWifnPTqrKvwjo7wyYMjkx-4cAoxLFInuC4M&e=
> > Mute This Topic:
> > INVALID URI REMOVED
> 3A__groups.io_mt_7291
> >
> 6401_1768738&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_SN6FZBN4V
> gi4Ulkskz6q
> > U3NYRO03nHp9P7Z5q59A3E&m=QGY2A-
> 8sGgSVd_INCRAJPHdRdr_xoMzfE4YRhpmX6CY&s
> > =YKduAw4Fr1boRP5t5Cj5riGFc2hnbJ2MR4HbUXYzjj4&e=
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: INVALID URI REMOVED
> 3A__edk2.groups.io_g_devel_unsub&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2
> LFWg&r=_SN6FZBN4Vgi4Ulkskz6qU3NYRO03nHp9P7Z5q59A3E&m=QGY2A-
> 8sGgSVd_INCRAJPHdRdr_xoMzfE4YRhpmX6CY&s=XqFAUAs7rAwTwZEF2BRk
> du-v99ckpjMajhfL6d3liqw&e=   [dandan.bi@intel.com]
> > -=-=-=-=-=-=


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-04-26 15:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-10  7:25 [PATCH v1 0/3] MdeModulePkg changes for RISC-V edk2 port Abner Chang
2020-04-10  7:25 ` [PATCH v1 1/3] MdeModulePkg/Logo Abner Chang
2020-04-10  7:25 ` [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch Abner Chang
2020-04-10  7:25 ` [PATCH v1 3/3] MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL Abner Chang
2020-04-26 14:44   ` [edk2-devel] " Dandan Bi
2020-04-26 15:26     ` Abner Chang
     [not found] ` <160466A5E76BAF01.10131@groups.io>
2020-04-15 12:41   ` [edk2-devel] [PATCH v1 1/3] MdeModulePkg/Logo Gao, Zhichao
     [not found] ` <160466A642D4443D.7555@groups.io>
2020-04-20  5:23   ` [edk2-devel] [PATCH v1 2/3] MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 arch Wu, Hao A
2020-04-20  5:38     ` Abner Chang
2020-04-20  5:39       ` Wu, Hao A

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox