public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel via groups.io" <ardb+git=google.com@groups.io>
To: devel@edk2.groups.io
Cc: Ard Biesheuvel <ardb@kernel.org>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	 Rebecca Cran <rebecca@os.amperecomputing.com>,
	Nhi Pham <nhi@os.amperecomputing.com>,
	 Chuong Tran <chuong@os.amperecomputing.com>,
	Wenyi Xie <xiewenyi2@huawei.com>,
	 Peng Xie <xiepeng@phytium.com.cn>,
	Ling Jia <jialing@phytium.com.cn>,
	 Yiqi Shu <shuyiqi@phytium.com.cn>
Subject: [edk2-devel] [PATCH RFC edk2-platforms 5/5] Platform/HiSilicon/D0x: Switch to unicore SEC implementation
Date: Mon, 29 Jul 2024 14:22:15 +0200	[thread overview]
Message-ID: <20240729122215.400402-6-ardb+git@google.com> (raw)
In-Reply-To: <20240729122215.400402-1-ardb+git@google.com>

From: Ard Biesheuvel <ardb@kernel.org>

Spec adherent AArch64 systems use PSCI to manage secondary CPUs, and
only enter the execution level where UEFI and the OS live using a single
CPU.

This means using a SEC implementation of the MPCore variety is never
needed, and in practice, those drivers don't work correctly unless an
older version of the GIC is used (v2), which only supports up to 8 CPUs
and is therefore rare on server silicon.

So switch to the UniCore flavor, which should be functionally equivalent
if only a single CPU runs the UEFI firmware.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 Platform/Hisilicon/D03/D03.dsc | 3 +--
 Platform/Hisilicon/D05/D05.dsc | 3 +--
 Platform/Hisilicon/D06/D06.dsc | 3 +--
 Platform/Hisilicon/D03/D03.fdf | 2 +-
 Platform/Hisilicon/D05/D05.fdf | 2 +-
 Platform/Hisilicon/D06/D06.fdf | 2 +-
 6 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index e70dc97ee894..458004830fd8 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -128,7 +128,6 @@ [PcdsFixedAtBuild.common]
 
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
 
-  # Stacks for MPCores in Normal World
   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x81000000
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0xFF00
 
@@ -283,7 +282,7 @@ [Components.common]
   #
   # PEI Phase modules
   #
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   MdeModulePkg/Core/Pei/PeiMain.inf
   MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
     <LibraryClasses>
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index 0231f3188321..37e826fda3d0 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -131,7 +131,6 @@ [PcdsFixedAtBuild.common]
 
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
 
-  # Stacks for MPCores in Normal World
   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0xE1000000
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0xFF00
 
@@ -416,7 +415,7 @@ [Components.common]
   #
   # PEI Phase modules
   #
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   MdeModulePkg/Core/Pei/PeiMain.inf
   MdeModulePkg/Universal/PCD/Pei/Pcd.inf
   Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index 6e0fcf633404..2bc7206438f1 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -117,7 +117,6 @@ [PcdsFixedAtBuild.common]
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
 
 
-  # Stacks for MPCores in Normal World
   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0xA0E88000
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x40000
 
@@ -231,7 +230,7 @@ [Components.common]
   #
   # PEI Phase modules
   #
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   MdeModulePkg/Core/Pei/PeiMain.inf
   MdeModulePkg/Universal/PCD/Pei/Pcd.inf
 
diff --git a/Platform/Hisilicon/D03/D03.fdf b/Platform/Hisilicon/D03/D03.fdf
index ac311b915426..0545961d64e3 100644
--- a/Platform/Hisilicon/D03/D03.fdf
+++ b/Platform/Hisilicon/D03/D03.fdf
@@ -303,7 +303,7 @@ [FV.FVMAIN_COMPACT]
 READ_LOCK_CAP      = TRUE
 READ_LOCK_STATUS   = TRUE
 
-  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   INF MdeModulePkg/Core/Pei/PeiMain.inf
   INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
 
diff --git a/Platform/Hisilicon/D05/D05.fdf b/Platform/Hisilicon/D05/D05.fdf
index 8e22dd767ebc..547d86ade0ee 100644
--- a/Platform/Hisilicon/D05/D05.fdf
+++ b/Platform/Hisilicon/D05/D05.fdf
@@ -312,7 +312,7 @@ [FV.FVMAIN_COMPACT]
   APRIORI PEI {
     INF  MdeModulePkg/Universal/PCD/Pei/Pcd.inf
   }
-  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   INF MdeModulePkg/Core/Pei/PeiMain.inf
   INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
 
diff --git a/Platform/Hisilicon/D06/D06.fdf b/Platform/Hisilicon/D06/D06.fdf
index a20540c9dcfc..4d796f6ece2f 100644
--- a/Platform/Hisilicon/D06/D06.fdf
+++ b/Platform/Hisilicon/D06/D06.fdf
@@ -302,7 +302,7 @@ [FV.FVMAIN_COMPACT]
   APRIORI PEI {
     INF  MdeModulePkg/Universal/PCD/Pei/Pcd.inf
   }
-  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+  INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
   INF MdeModulePkg/Core/Pei/PeiMain.inf
   INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
 
-- 
2.46.0.rc1.232.g9752f9e123-goog



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120114): https://edk2.groups.io/g/devel/message/120114
Mute This Topic: https://groups.io/mt/107628988/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-07-30 15:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-29 12:22 [edk2-devel] [PATCH RFC edk2-platforms 0/5] Phase out MPCore SEC drivers Ard Biesheuvel via groups.io
2024-07-29 12:22 ` [edk2-devel] [PATCH RFC edk2-platforms 1/5] Platform AARCH64: Drop leftover references to deleted timer PCD Ard Biesheuvel via groups.io
2024-07-29 12:22 ` [edk2-devel] [PATCH RFC edk2-platforms 2/5] Platform AARCH64: Remove bogus references to MPCore stack Ard Biesheuvel via groups.io
2024-07-30 19:16   ` Sami Mujawar
2024-07-29 12:22 ` [edk2-devel] [PATCH RFC edk2-platforms 3/5] Platform/Ampere: Switch to unicore SEC implementation Ard Biesheuvel via groups.io
2024-07-31  8:21   ` Nhi Pham via groups.io
2024-07-29 12:22 ` [edk2-devel] [PATCH RFC edk2-platforms 4/5] Platform/Durian: " Ard Biesheuvel via groups.io
2024-07-29 12:22 ` Ard Biesheuvel via groups.io [this message]
2024-07-30 12:42 ` [edk2-devel] [PATCH RFC edk2-platforms 0/5] Phase out MPCore SEC drivers Leif Lindholm
2024-07-30 14:30   ` Rebecca Cran
2024-07-30 14:48     ` Leif Lindholm
2024-07-30 15:00       ` Ard Biesheuvel
2024-07-30 15:09         ` Leif Lindholm
2024-07-30 15:18           ` Ard Biesheuvel
2024-07-30 15:34             ` Leif Lindholm
2024-07-30 14:18 ` Rebecca Cran via groups.io
2024-07-30 15:48   ` Ard Biesheuvel

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=20240729122215.400402-6-ardb+git@google.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