public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
@ 2021-12-15  0:03 Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 1/8] Platform/ARM: Add MpInitLib instance Rebecca Cran
                   ` (9 more replies)
  0 siblings, 10 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

This patch series depends on the "Add EFI_MP_SERVICES_PROTOCOL support 
for AARCH64" series which is in the process of being reviewed (I'm 
sending a v2 soon).

With the addition of EFI_MP_SERVICES_PROTOCOL support for Arm, consumers
of ArmPkg/Drivers/CpuDxe now need an instance of MpInitLib. This series
adds ArmPkg/Library/MpInitLib/DxeMpInitLib.inf.

Also, the ARM_CORE_INFO struct has changed so there's now an MPIDR field
where there were previously separate cluster and core fields. This 
series updates the initializers for the various instances.


Rebecca Cran (8):
  Platform/ARM: Add MpInitLib instance
  Platform/Socionext: Add instance of MpInitLib
  Silicon/Marvell: Add instance of MpInitLib
  Platform/Qemu: Add instance of MpInitLib
  Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change
  Silicon/Marvell: Update ARM_CORE_INFO initializer for MPIDR field
    change
  Silicon/Socionext: Update ARM_CORE_INFO initializer for MPIDR field
    change
  Silicon/Qemu: Update ARM_CORE_INFO initializer for MPIDR field change

 Platform/ARM/JunoPkg/ArmJuno.dsc                                   |  1 +
 Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c                  | 12 ++---
 Platform/ARM/Morello/MorelloPlatform.dsc.inc                       |  1 +
 Platform/ARM/N1Sdp/N1SdpPlatform.dsc                               |  1 +
 Platform/ARM/SgiPkg/SgiPlatform.dsc.inc                            |  1 +
 Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc                       |  1 +
 Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c | 16 +++----
 Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c         | 16 +++----
 Platform/Qemu/SbsaQemu/SbsaQemu.dsc                                |  1 +
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc                   |  1 +
 Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc       |  1 +
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc                      |  1 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c   |  8 ++--
 Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c            |  8 ++--
 Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c       | 48 ++++++++++----------
 15 files changed, 63 insertions(+), 54 deletions(-)

-- 
2.31.1


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

* [edk2-platforms PATCH 1/8] Platform/ARM: Add MpInitLib instance
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 2/8] Platform/Socionext: Add instance of MpInitLib Rebecca Cran
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

MpInitLib is now required for all users of ArmPkg/Drivers/CpuDxe. Add
ArmPkg/Library/MpInitLib/DxeMpInitLib.inf .

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Platform/ARM/JunoPkg/ArmJuno.dsc             | 1 +
 Platform/ARM/Morello/MorelloPlatform.dsc.inc | 1 +
 Platform/ARM/N1Sdp/N1SdpPlatform.dsc         | 1 +
 Platform/ARM/SgiPkg/SgiPlatform.dsc.inc      | 1 +
 Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 1 +
 5 files changed, 5 insertions(+)

diff --git a/Platform/ARM/JunoPkg/ArmJuno.dsc b/Platform/ARM/JunoPkg/ArmJuno.dsc
index 3b7a63b6437a..61f5f2673d7a 100644
--- a/Platform/ARM/JunoPkg/ArmJuno.dsc
+++ b/Platform/ARM/JunoPkg/ArmJuno.dsc
@@ -76,6 +76,7 @@
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [BuildOptions]
   GCC:*_*_ARM_PLATFORM_FLAGS = -march=armv8-a
diff --git a/Platform/ARM/Morello/MorelloPlatform.dsc.inc b/Platform/ARM/Morello/MorelloPlatform.dsc.inc
index dccd22248318..3d29153c8281 100644
--- a/Platform/ARM/Morello/MorelloPlatform.dsc.inc
+++ b/Platform/ARM/Morello/MorelloPlatform.dsc.inc
@@ -50,6 +50,7 @@
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
index 7488bdc03609..4b8a990d1211 100644
--- a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
+++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
@@ -78,6 +78,7 @@
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
   PciExpressLib|Silicon/ARM/NeoverseN1Soc/Library/NeoverseN1SocPciExpressLib/PciExpressLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
index 4fe3ccf9a530..ca4eaa101b4d 100644
--- a/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+++ b/Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
@@ -83,6 +83,7 @@
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
index d6f31ecda42f..207cf75a5671 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
@@ -211,6 +211,7 @@
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [LibraryClasses.common.UEFI_APPLICATION]
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-- 
2.31.1


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

* [edk2-platforms PATCH 2/8] Platform/Socionext: Add instance of MpInitLib
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 1/8] Platform/ARM: Add MpInitLib instance Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 3/8] Silicon/Marvell: " Rebecca Cran
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

MpInitLib is now required for all users of ArmPkg/Drivers/CpuDxe. Add
ArmPkg/Library/MpInitLib/DxeMpInitLib.inf .

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc             | 1 +
 Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc | 1 +
 2 files changed, 2 insertions(+)

diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
index 8419c89318fb..0abf954e6e2e 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
@@ -106,6 +106,7 @@
   FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
   #
   # Firmware update
diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
index e5315897624b..272e632194e5 100644
--- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
+++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
@@ -164,6 +164,7 @@
   FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
   #
   # Firmware update
-- 
2.31.1


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

* [edk2-platforms PATCH 3/8] Silicon/Marvell: Add instance of MpInitLib
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 1/8] Platform/ARM: Add MpInitLib instance Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 2/8] Platform/Socionext: Add instance of MpInitLib Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-16  7:14   ` Marcin Wojtas
  2021-12-15  0:03 ` [edk2-platforms PATCH 4/8] Platform/Qemu: " Rebecca Cran
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

MpInitLib is now required for all users of ArmPkg/Drivers/CpuDxe. Add
ArmPkg/Library/MpInitLib/DxeMpInitLib.inf .

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
index 3b76acd99c98..71778d43cacd 100644
--- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
+++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
@@ -176,6 +176,7 @@
   NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
   DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
   VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
 
 [LibraryClasses.common.UEFI_APPLICATION]
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-- 
2.31.1


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

* [edk2-platforms PATCH 4/8] Platform/Qemu: Add instance of MpInitLib
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (2 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 3/8] Silicon/Marvell: " Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 5/8] Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change Rebecca Cran
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

MpInitLib is now required for all users of ArmPkg/Drivers/CpuDxe. Add
ArmPkg/Library/MpInitLib/DxeMpInitLib.inf .

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
index 1d1a25196e22..021c20ed7abe 100644
--- a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
+++ b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
@@ -244,6 +244,7 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE       = FALSE
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf 
 
   NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
 
-- 
2.31.1


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

* [edk2-platforms PATCH 5/8] Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (3 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 4/8] Platform/Qemu: " Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 6/8] Silicon/Marvell: " Rebecca Cran
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c                  | 12 ++++++------
 Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c | 16 ++++++++--------
 Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c         | 16 ++++++++--------
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c b/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c
index c5d4f70fc0f5..a5d5f3fd9b79 100644
--- a/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c
+++ b/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c
@@ -19,7 +19,7 @@
 ARM_CORE_INFO mJunoInfoTable[] = {
   {
     // Cluster 0, Core 0
-    0x0, 0x0,
+    0x000,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -29,7 +29,7 @@ ARM_CORE_INFO mJunoInfoTable[] = {
   },
   {
     // Cluster 0, Core 1
-    0x0, 0x1,
+    0x001,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -39,7 +39,7 @@ ARM_CORE_INFO mJunoInfoTable[] = {
   },
   {
     // Cluster 1, Core 0
-    0x1, 0x0,
+    0x100,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -49,7 +49,7 @@ ARM_CORE_INFO mJunoInfoTable[] = {
   },
   {
     // Cluster 1, Core 1
-    0x1, 0x1,
+    0x101,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -59,7 +59,7 @@ ARM_CORE_INFO mJunoInfoTable[] = {
   },
   {
     // Cluster 1, Core 2
-    0x1, 0x2,
+    0x102,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -69,7 +69,7 @@ ARM_CORE_INFO mJunoInfoTable[] = {
   },
   {
     // Cluster 1, Core 3
-    0x1, 0x3,
+    0x103,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
diff --git a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c
index 09521bdf003a..d51784a47c0e 100644
--- a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c
+++ b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c
@@ -18,7 +18,7 @@
 ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
   {
     // Cluster 0, Core 0
-    0x0, 0x0,
+    0x000,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A15_BX_ADDR0,
@@ -28,7 +28,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
   },
   {
     // Cluster 0, Core 1
-    0x0, 0x1,
+    0x001,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A15_BX_ADDR1,
@@ -39,7 +39,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
 #ifndef ARM_BIGLITTLE_TC2
   {
     // Cluster 0, Core 2
-    0x0, 0x2,
+    0x002,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A15_BX_ADDR2,
@@ -49,7 +49,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
   },
   {
     // Cluster 0, Core 3
-    0x0, 0x3,
+    0x003,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A15_BX_ADDR3,
@@ -60,7 +60,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
 #endif
   {
     // Cluster 1, Core 0
-    0x1, 0x0,
+    0x100,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A7_BX_ADDR0,
@@ -70,7 +70,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
   },
   {
     // Cluster 1, Core 1
-    0x1, 0x1,
+    0x101,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A7_BX_ADDR1,
@@ -80,7 +80,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
   },
   {
     // Cluster 1, Core 2
-    0x1, 0x2,
+    0x102,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A7_BX_ADDR2,
@@ -91,7 +91,7 @@ ARM_CORE_INFO mVersatileExpressCTA15A7InfoTable[] = {
 #ifndef ARM_BIGLITTLE_TC2
   ,{
     // Cluster 1, Core 3
-    0x1, 0x3,
+    0x103,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_CTA15A7_SPC_A7_BX_ADDR3,
diff --git a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c
index e7a8c1dbbde8..eed1a98324b5 100644
--- a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c
+++ b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c
@@ -31,7 +31,7 @@ ArmGetCpuCountPerCluster (
 ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   {
     // Cluster 0, Core 0
-    0x0, 0x0,
+    0x000,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -41,7 +41,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 1
-    0x0, 0x1,
+    0x001,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -51,7 +51,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 2
-    0x0, 0x2,
+    0x002,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -61,7 +61,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 3
-    0x0, 0x3,
+    0x003,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -71,7 +71,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 1, Core 0
-    0x1, 0x0,
+    0x100,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -81,7 +81,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 1, Core 1
-    0x1, 0x1,
+    0x101,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -91,7 +91,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 1, Core 2
-    0x1, 0x2,
+    0x102,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
@@ -101,7 +101,7 @@ ARM_CORE_INFO mVersatileExpressMpCoreInfoTable[] = {
   },
   {
     // Cluster 1, Core 3
-    0x1, 0x3,
+    0x103,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)ARM_VE_SYS_FLAGS_REG,
-- 
2.31.1


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

* [edk2-platforms PATCH 6/8] Silicon/Marvell: Update ARM_CORE_INFO initializer for MPIDR field change
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (4 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 5/8] Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 7/8] Silicon/Socionext: " Rebecca Cran
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c
index df838ff5ef3f..317fff85be69 100644
--- a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c
+++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c
@@ -14,7 +14,7 @@
 ARM_CORE_INFO mArmada7k8kMpCoreInfoTable[] = {
   {
     // Cluster 0, Core 0
-    0x0, 0x0,
+    0x000,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -24,7 +24,7 @@ ARM_CORE_INFO mArmada7k8kMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 1
-    0x0, 0x1,
+    0x001,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -34,7 +34,7 @@ ARM_CORE_INFO mArmada7k8kMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 2
-    0x0, 0x2,
+    0x002,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -44,7 +44,7 @@ ARM_CORE_INFO mArmada7k8kMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 3
-    0x0, 0x3,
+    0x003,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
-- 
2.31.1


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

* [edk2-platforms PATCH 7/8] Silicon/Socionext: Update ARM_CORE_INFO initializer for MPIDR field change
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (5 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 6/8] Silicon/Marvell: " Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  0:03 ` [edk2-platforms PATCH 8/8] Silicon/Qemu: " Rebecca Cran
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c | 48 ++++++++++----------
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c b/Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c
index a6c915b73c15..5ef929fface2 100644
--- a/Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c
+++ b/Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c
@@ -13,30 +13,30 @@
 #include <Ppi/ArmMpCoreInfo.h>
 
 STATIC ARM_CORE_INFO mSynQuacerInfoTable[] = {
-  { 0x0, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 0, Core 0
-  { 0x0, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 0, Core 1
-  { 0x1, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 1, Core 0
-  { 0x1, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 1, Core 1
-  { 0x2, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 2, Core 0
-  { 0x2, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 2, Core 1
-  { 0x3, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 3, Core 0
-  { 0x3, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 3, Core 1
-  { 0x4, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 4, Core 0
-  { 0x4, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 4, Core 1
-  { 0x5, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 5, Core 0
-  { 0x5, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 5, Core 1
-  { 0x6, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 6, Core 0
-  { 0x6, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 6, Core 1
-  { 0x7, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 7, Core 0
-  { 0x7, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 7, Core 1
-  { 0x8, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 8, Core 0
-  { 0x8, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 8, Core 1
-  { 0x9, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 9, Core 0
-  { 0x9, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 9, Core 1
-  { 0xa, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 10, Core 0
-  { 0xa, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 10, Core 1
-  { 0xb, 0x0, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 11, Core 0
-  { 0xb, 0x1, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 11, Core 1
+  { 0x000, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 0, Core 0
+  { 0x001, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 0, Core 1
+  { 0x100, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 1, Core 0
+  { 0x101, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 1, Core 1
+  { 0x200, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 2, Core 0
+  { 0x201, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 2, Core 1
+  { 0x300, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 3, Core 0
+  { 0x301, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 3, Core 1
+  { 0x400, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 4, Core 0
+  { 0x401, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 4, Core 1
+  { 0x500, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 5, Core 0
+  { 0x501, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 5, Core 1
+  { 0x600, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 6, Core 0
+  { 0x601, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 6, Core 1
+  { 0x700, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 7, Core 0
+  { 0x701, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 7, Core 1
+  { 0x800, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 8, Core 0
+  { 0x801, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 8, Core 1
+  { 0x900, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 9, Core 0
+  { 0x901, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 9, Core 1
+  { 0xa00, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 10, Core 0
+  { 0xa01, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 10, Core 1
+  { 0xb00, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 11, Core 0
+  { 0xb01, 0x0, 0x0, 0x0, (UINT64)0xFFFFFFFF }, // Cluster 11, Core 1
 };
 
 /**
-- 
2.31.1


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

* [edk2-platforms PATCH 8/8] Silicon/Qemu: Update ARM_CORE_INFO initializer for MPIDR field change
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (6 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 7/8] Silicon/Socionext: " Rebecca Cran
@ 2021-12-15  0:03 ` Rebecca Cran
  2021-12-15  8:16 ` [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Ard Biesheuvel
  2021-12-16  9:32 ` Ard Biesheuvel
  9 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-15  0:03 UTC (permalink / raw)
  To: devel, Ard Biesheuvel, Samer El-Haj-Mahmoud, Leif Lindholm,
	Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas
  Cc: Rebecca Cran

The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
---
 Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c
index fa9047020e6c..411f653913bd 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c
@@ -15,7 +15,7 @@
 ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = {
   {
     // Cluster 0, Core 0
-    0x0, 0x0,
+    0x000,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -25,7 +25,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 1
-    0x0, 0x1,
+    0x001,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -35,7 +35,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 2
-    0x0, 0x2,
+    0x002,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
@@ -45,7 +45,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = {
   },
   {
     // Cluster 0, Core 3
-    0x0, 0x3,
+    0x003,
 
     // MP Core MailBox Set/Get/Clear Addresses and Clear Value
     (EFI_PHYSICAL_ADDRESS)0,
-- 
2.31.1


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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (7 preceding siblings ...)
  2021-12-15  0:03 ` [edk2-platforms PATCH 8/8] Silicon/Qemu: " Rebecca Cran
@ 2021-12-15  8:16 ` Ard Biesheuvel
  2021-12-16  9:32 ` Ard Biesheuvel
  9 siblings, 0 replies; 26+ messages in thread
From: Ard Biesheuvel @ 2021-12-15  8:16 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas

On Wed, 15 Dec 2021 at 01:03, Rebecca Cran <rebecca@nuviainc.com> wrote:
>
> This patch series depends on the "Add EFI_MP_SERVICES_PROTOCOL support
> for AARCH64" series which is in the process of being reviewed (I'm
> sending a v2 soon).
>
> With the addition of EFI_MP_SERVICES_PROTOCOL support for Arm, consumers
> of ArmPkg/Drivers/CpuDxe now need an instance of MpInitLib. This series
> adds ArmPkg/Library/MpInitLib/DxeMpInitLib.inf.
>
> Also, the ARM_CORE_INFO struct has changed so there's now an MPIDR field
> where there were previously separate cluster and core fields. This
> series updates the initializers for the various instances.
>
>
> Rebecca Cran (8):
>   Platform/ARM: Add MpInitLib instance
>   Platform/Socionext: Add instance of MpInitLib
>   Silicon/Marvell: Add instance of MpInitLib
>   Platform/Qemu: Add instance of MpInitLib
>   Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change
>   Silicon/Marvell: Update ARM_CORE_INFO initializer for MPIDR field
>     change
>   Silicon/Socionext: Update ARM_CORE_INFO initializer for MPIDR field
>     change
>   Silicon/Qemu: Update ARM_CORE_INFO initializer for MPIDR field change
>

Acked-by: Ard Biesheuvel <ardb@kernel.org>


>  Platform/ARM/JunoPkg/ArmJuno.dsc                                   |  1 +
>  Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c                  | 12 ++---
>  Platform/ARM/Morello/MorelloPlatform.dsc.inc                       |  1 +
>  Platform/ARM/N1Sdp/N1SdpPlatform.dsc                               |  1 +
>  Platform/ARM/SgiPkg/SgiPlatform.dsc.inc                            |  1 +
>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc                       |  1 +
>  Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c | 16 +++----
>  Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c         | 16 +++----
>  Platform/Qemu/SbsaQemu/SbsaQemu.dsc                                |  1 +
>  Platform/Socionext/DeveloperBox/DeveloperBox.dsc                   |  1 +
>  Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc       |  1 +
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc                      |  1 +
>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c   |  8 ++--
>  Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c            |  8 ++--
>  Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c       | 48 ++++++++++----------
>  15 files changed, 63 insertions(+), 54 deletions(-)
>
> --
> 2.31.1
>

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

* Re: [edk2-platforms PATCH 3/8] Silicon/Marvell: Add instance of MpInitLib
  2021-12-15  0:03 ` [edk2-platforms PATCH 3/8] Silicon/Marvell: " Rebecca Cran
@ 2021-12-16  7:14   ` Marcin Wojtas
  0 siblings, 0 replies; 26+ messages in thread
From: Marcin Wojtas @ 2021-12-16  7:14 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki

śr., 15 gru 2021 o 01:03 Rebecca Cran <rebecca@nuviainc.com> napisał(a):
>
> MpInitLib is now required for all users of ArmPkg/Drivers/CpuDxe. Add
> ArmPkg/Library/MpInitLib/DxeMpInitLib.inf .
>
> Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
> ---
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> index 3b76acd99c98..71778d43cacd 100644
> --- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> +++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> @@ -176,6 +176,7 @@
>    NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
>    DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
>    VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
> +  MpInitLib|ArmPkg/Library/MpInitLib/DxeMpInitLib.inf
>
>  [LibraryClasses.common.UEFI_APPLICATION]
>    PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> --
> 2.31.1
>

Reviewed-by: Marcin Wojtas <mw@semihalf.com>

Thanks,
Marcin

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
                   ` (8 preceding siblings ...)
  2021-12-15  8:16 ` [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Ard Biesheuvel
@ 2021-12-16  9:32 ` Ard Biesheuvel
  2021-12-16 13:13   ` Rebecca Cran
  9 siblings, 1 reply; 26+ messages in thread
From: Ard Biesheuvel @ 2021-12-16  9:32 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas

On Wed, 15 Dec 2021 at 01:03, Rebecca Cran <rebecca@nuviainc.com> wrote:
>
> This patch series depends on the "Add EFI_MP_SERVICES_PROTOCOL support
> for AARCH64" series which is in the process of being reviewed (I'm
> sending a v2 soon).
>
> With the addition of EFI_MP_SERVICES_PROTOCOL support for Arm, consumers
> of ArmPkg/Drivers/CpuDxe now need an instance of MpInitLib. This series
> adds ArmPkg/Library/MpInitLib/DxeMpInitLib.inf.
>
> Also, the ARM_CORE_INFO struct has changed so there's now an MPIDR field
> where there were previously separate cluster and core fields. This
> series updates the initializers for the various instances.
>
>
> Rebecca Cran (8):
>   Platform/ARM: Add MpInitLib instance
>   Platform/Socionext: Add instance of MpInitLib
>   Silicon/Marvell: Add instance of MpInitLib
>   Platform/Qemu: Add instance of MpInitLib
>   Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change
>   Silicon/Marvell: Update ARM_CORE_INFO initializer for MPIDR field
>     change
>   Silicon/Socionext: Update ARM_CORE_INFO initializer for MPIDR field
>     change
>   Silicon/Qemu: Update ARM_CORE_INFO initializer for MPIDR field change
>

You appear to have missed a few instances:

Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
Platform/Hisilicon/D03/D03.dsc
Platform/Hisilicon/D05/D05.dsc
Platform/Hisilicon/D06/D06.dsc
Platform/Hisilicon/HiKey/HiKey.dsc
Platform/Hisilicon/HiKey960/HiKey960.dsc
Platform/LeMaker/CelloBoard/CelloBoard.dsc
Platform/Phytium/DurianPkg/DurianPkg.dsc
Platform/RaspberryPi/RPi3/RPi3.dsc
Platform/RaspberryPi/RPi4/RPi4.dsc
Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc

I know this is tedious busywork, but you can't break existing
platforms like that, so please provide a solution for these as well.



>  Platform/ARM/JunoPkg/ArmJuno.dsc                                   |  1 +
>  Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJuno.c                  | 12 ++---
>  Platform/ARM/Morello/MorelloPlatform.dsc.inc                       |  1 +
>  Platform/ARM/N1Sdp/N1SdpPlatform.dsc                               |  1 +
>  Platform/ARM/SgiPkg/SgiPlatform.dsc.inc                            |  1 +
>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc                       |  1 +
>  Platform/ARM/VExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c | 16 +++----
>  Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c         | 16 +++----
>  Platform/Qemu/SbsaQemu/SbsaQemu.dsc                                |  1 +
>  Platform/Socionext/DeveloperBox/DeveloperBox.dsc                   |  1 +
>  Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc       |  1 +
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc                      |  1 +
>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.c   |  8 ++--
>  Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c            |  8 ++--
>  Silicon/Socionext/SynQuacer/Library/SynQuacerLib/SynQuacer.c       | 48 ++++++++++----------
>  15 files changed, 63 insertions(+), 54 deletions(-)
>
> --
> 2.31.1
>

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16  9:32 ` Ard Biesheuvel
@ 2021-12-16 13:13   ` Rebecca Cran
  2021-12-16 13:16     ` Ard Biesheuvel
  2021-12-16 13:26     ` Sami Mujawar
  0 siblings, 2 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-16 13:13 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas

On 12/16/21 2:32 AM, Ard Biesheuvel wrote:

> You appear to have missed a few instances:
>
> Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
> Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
> Platform/Hisilicon/D03/D03.dsc
> Platform/Hisilicon/D05/D05.dsc
> Platform/Hisilicon/D06/D06.dsc
> Platform/Hisilicon/HiKey/HiKey.dsc
> Platform/Hisilicon/HiKey960/HiKey960.dsc
> Platform/LeMaker/CelloBoard/CelloBoard.dsc
> Platform/Phytium/DurianPkg/DurianPkg.dsc
> Platform/RaspberryPi/RPi3/RPi3.dsc
> Platform/RaspberryPi/RPi4/RPi4.dsc
> Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
>
> I know this is tedious busywork, but you can't break existing
> platforms like that, so please provide a solution for these as well.

Thanks, I'm not sure how I managed to miss those. I'll send out a v2 
patch with them included.

I agree, I can't break platforms like this.


I'm also keeping track of platforms that are currently broken in other 
ways, such as 
Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc which needs 
updated for the VariablePolicyHelperLib, and 
Platform/Comcast/RDKQemu/RDKQemu.dsc which has an ACPI build problem. 
Several other platforms claim to support ARM but don't currently build. 
For example, Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc fails with:


  : error F000: No files to be built in module [RELEASE, GCC5, ARM]
[/home/bcran/src/upstream/uefi/edk2/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf]


-- 
Rebecca Cran


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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:13   ` Rebecca Cran
@ 2021-12-16 13:16     ` Ard Biesheuvel
  2021-12-16 13:38       ` [edk2-devel] " Marcin Juszkiewicz
  2021-12-16 22:09       ` Rebecca Cran
  2021-12-16 13:26     ` Sami Mujawar
  1 sibling, 2 replies; 26+ messages in thread
From: Ard Biesheuvel @ 2021-12-16 13:16 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas

On Thu, 16 Dec 2021 at 14:13, Rebecca Cran <rebecca@nuviainc.com> wrote:
>
> On 12/16/21 2:32 AM, Ard Biesheuvel wrote:
>
> > You appear to have missed a few instances:
> >
> > Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
> > Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
> > Platform/Hisilicon/D03/D03.dsc
> > Platform/Hisilicon/D05/D05.dsc
> > Platform/Hisilicon/D06/D06.dsc
> > Platform/Hisilicon/HiKey/HiKey.dsc
> > Platform/Hisilicon/HiKey960/HiKey960.dsc
> > Platform/LeMaker/CelloBoard/CelloBoard.dsc
> > Platform/Phytium/DurianPkg/DurianPkg.dsc
> > Platform/RaspberryPi/RPi3/RPi3.dsc
> > Platform/RaspberryPi/RPi4/RPi4.dsc
> > Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
> >
> > I know this is tedious busywork, but you can't break existing
> > platforms like that, so please provide a solution for these as well.
>
> Thanks, I'm not sure how I managed to miss those. I'll send out a v2
> patch with them included.
>
> I agree, I can't break platforms like this.
>
>
> I'm also keeping track of platforms that are currently broken in other
> ways, such as
> Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc which needs
> updated for the VariablePolicyHelperLib, and
> Platform/Comcast/RDKQemu/RDKQemu.dsc which has an ACPI build problem.
> Several other platforms claim to support ARM but don't currently build.
> For example, Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc fails with:
>
>
>   : error F000: No files to be built in module [RELEASE, GCC5, ARM]
> [/home/bcran/src/upstream/uefi/edk2/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf]
>

There were some changes a while ago to support standalone MM in 32-bit
mode, but I don't think any of the Platform/ARM platforms implement
that. So the best fix here is to simply stop lying about ARM support.

As for RdkQemu - I think it is time we just remove that.

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:13   ` Rebecca Cran
  2021-12-16 13:16     ` Ard Biesheuvel
@ 2021-12-16 13:26     ` Sami Mujawar
  2021-12-16 14:59       ` Rebecca Cran
  2021-12-16 15:27       ` Rebecca Cran
  1 sibling, 2 replies; 26+ messages in thread
From: Sami Mujawar @ 2021-12-16 13:26 UTC (permalink / raw)
  To: Rebecca Cran, Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas, Pierre Gondois, nd

Hi Rebecca,

Please find my response inline marked [SAMI].

Regards,

Sami Mujawar

On 16/12/2021, 13:14, "Rebecca Cran" <rebecca@nuviainc.com> wrote:

    On 12/16/21 2:32 AM, Ard Biesheuvel wrote:

    > You appear to have missed a few instances:
    >
    > Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
    > Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
    > Platform/Hisilicon/D03/D03.dsc
    > Platform/Hisilicon/D05/D05.dsc
    > Platform/Hisilicon/D06/D06.dsc
    > Platform/Hisilicon/HiKey/HiKey.dsc
    > Platform/Hisilicon/HiKey960/HiKey960.dsc
    > Platform/LeMaker/CelloBoard/CelloBoard.dsc
    > Platform/Phytium/DurianPkg/DurianPkg.dsc
    > Platform/RaspberryPi/RPi3/RPi3.dsc
    > Platform/RaspberryPi/RPi4/RPi4.dsc
    > Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
    >
    > I know this is tedious busywork, but you can't break existing
    > platforms like that, so please provide a solution for these as well.

    Thanks, I'm not sure how I managed to miss those. I'll send out a v2 
    patch with them included.

    I agree, I can't break platforms like this.


    I'm also keeping track of platforms that are currently broken in other 
    ways, such as 
    Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc which needs 
    updated for the VariablePolicyHelperLib, and 
    Platform/Comcast/RDKQemu/RDKQemu.dsc which has an ACPI build problem. 
    Several other platforms claim to support ARM but don't currently build. 
    For example, Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc fails with:


      : error F000: No files to be built in module [RELEASE, GCC5, ARM]
    [/home/bcran/src/upstream/uefi/edk2/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf]

[SAMI] I posted the following patches to fix some of the issues you mention above:
Platform/Socionext: Fix build break for SynQuacerEvalBoard (https://edk2.groups.io/g/devel/message/83553)
Platform/LeMaker: Fix build break for CelloBoard (https://edk2.groups.io/g/devel/message/83556)
Platform/Socionext/SynQuacerEvalBoard: Add missing ArmSoftFloatLib (https://edk2.groups.io/g/devel/message/83554)
Platform/Socionext/SynQuacerEvalBoard: Disable EbcDxe for AArch32  Builds (https://edk2.groups.io/g/devel/message/83557)

If it helps, I can carve out these patches in a separate series and post them to the list.

I feel we need a CI for edk2-platforms. Without this it is going to be hard to keep track of such build breaks.
[/SAMI]

    -- 
    Rebecca Cran



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

* Re: [edk2-devel] [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:16     ` Ard Biesheuvel
@ 2021-12-16 13:38       ` Marcin Juszkiewicz
  2021-12-16 15:05         ` Ard Biesheuvel
  2021-12-16 22:09       ` Rebecca Cran
  1 sibling, 1 reply; 26+ messages in thread
From: Marcin Juszkiewicz @ 2021-12-16 13:38 UTC (permalink / raw)
  To: devel, ardb

W dniu 16.12.2021 o 14:16, Ard Biesheuvel pisze:

>>> Platform/LeMaker/CelloBoard/CelloBoard.dsc

> As for RdkQemu - I think it is time we just remove that.

I would vote for removal of CelloBoard as well. It never went into any 
serious mass production and nowadays you probably count working ones 
using fingers.

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:26     ` Sami Mujawar
@ 2021-12-16 14:59       ` Rebecca Cran
  2021-12-16 15:26         ` PierreGondois
  2021-12-16 15:27       ` Rebecca Cran
  1 sibling, 1 reply; 26+ messages in thread
From: Rebecca Cran @ 2021-12-16 14:59 UTC (permalink / raw)
  To: Sami Mujawar, Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas, Pierre Gondois, nd

On 12/16/21 6:26 AM, Sami Mujawar wrote:

> [SAMI] I posted the following patches to fix some of the issues you mention above:
> Platform/Socionext: Fix build break for SynQuacerEvalBoard (https://edk2.groups.io/g/devel/message/83553)
> Platform/LeMaker: Fix build break for CelloBoard (https://edk2.groups.io/g/devel/message/83556)
> Platform/Socionext/SynQuacerEvalBoard: Add missing ArmSoftFloatLib (https://edk2.groups.io/g/devel/message/83554)
> Platform/Socionext/SynQuacerEvalBoard: Disable EbcDxe for AArch32  Builds (https://edk2.groups.io/g/devel/message/83557)
>
> If it helps, I can carve out these patches in a separate series and post them to the list.
>
> I feel we need a CI for edk2-platforms. Without this it is going to be hard to keep track of such build breaks.
> [/SAMI]


Thanks, I'll take a look at those and post any comments.

I agree, CI for edk2-platforms would be good. I'm hoping to find some 
time next week to work on it. A useful step, even if it's just the first 
of many, would be to simply run lots of 'build' commands for each platform.


-- 
Rebecca Cran


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

* Re: [edk2-devel] [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:38       ` [edk2-devel] " Marcin Juszkiewicz
@ 2021-12-16 15:05         ` Ard Biesheuvel
  2021-12-16 18:54           ` Sami Mujawar
  0 siblings, 1 reply; 26+ messages in thread
From: Ard Biesheuvel @ 2021-12-16 15:05 UTC (permalink / raw)
  To: Marcin Juszkiewicz; +Cc: edk2-devel-groups-io

On Thu, 16 Dec 2021 at 14:38, Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> W dniu 16.12.2021 o 14:16, Ard Biesheuvel pisze:
>
> >>> Platform/LeMaker/CelloBoard/CelloBoard.dsc
>
> > As for RdkQemu - I think it is time we just remove that.
>
> I would vote for removal of CelloBoard as well. It never went into any
> serious mass production and nowadays you probably count working ones
> using fingers.

I would not object to that.

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 14:59       ` Rebecca Cran
@ 2021-12-16 15:26         ` PierreGondois
  2021-12-16 15:44           ` Rebecca Cran
  0 siblings, 1 reply; 26+ messages in thread
From: PierreGondois @ 2021-12-16 15:26 UTC (permalink / raw)
  To: Rebecca Cran, Sami Mujawar, Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas, nd

Hi Rebecca,

On 12/16/21 3:59 PM, Rebecca Cran wrote:
> On 12/16/21 6:26 AM, Sami Mujawar wrote:
>
>> [SAMI] I posted the following patches to fix some of the issues you mention above:
>> Platform/Socionext: Fix build break for SynQuacerEvalBoard (https://edk2.groups.io/g/devel/message/83553)
>> Platform/LeMaker: Fix build break for CelloBoard (https://edk2.groups.io/g/devel/message/83556)
>> Platform/Socionext/SynQuacerEvalBoard: Add missing ArmSoftFloatLib (https://edk2.groups.io/g/devel/message/83554)
>> Platform/Socionext/SynQuacerEvalBoard: Disable EbcDxe for AArch32  Builds (https://edk2.groups.io/g/devel/message/83557)
>>
>> If it helps, I can carve out these patches in a separate series and post them to the list.
>>
>> I feel we need a CI for edk2-platforms. Without this it is going to be hard to keep track of such build breaks.
>> [/SAMI]
>
>
> Thanks, I'll take a look at those and post any comments.
>
> I agree, CI for edk2-platforms would be good. I'm hoping to find some time next week to work on it. A useful step, even if it's just the first of many, would be to simply run lots of 'build' commands for each platform.
>
>
The following patchset should enable a CI in edk2-platforms for the Juno platorm, but it was tested before uncrustify was enabled. The patch-set is also relying on a modification in edk2-pytool-extensions:
https://edk2.groups.io/g/devel/message/83803
https://github.com/tianocore/edk2-pytool-extensions/pull/279

There is a bugzilla on this topic at:
https://bugzilla.tianocore.org/show_bug.cgi?id=3509

Feel free to use the patches (or not) and to take the bugzilla (or not). It didn't seem the feature was really appealing until now,

Regards,

Pierre


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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:26     ` Sami Mujawar
  2021-12-16 14:59       ` Rebecca Cran
@ 2021-12-16 15:27       ` Rebecca Cran
  1 sibling, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-16 15:27 UTC (permalink / raw)
  To: Sami Mujawar, Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas, Pierre Gondois, nd

On 12/16/21 6:26 AM, Sami Mujawar wrote:
> [SAMI] I posted the following patches to fix some of the issues you mention above:
> Platform/Socionext: Fix build break for SynQuacerEvalBoard (https://edk2.groups.io/g/devel/message/83553)
> Platform/LeMaker: Fix build break for CelloBoard (https://edk2.groups.io/g/devel/message/83556)
> Platform/Socionext/SynQuacerEvalBoard: Add missing ArmSoftFloatLib (https://edk2.groups.io/g/devel/message/83554)
> Platform/Socionext/SynQuacerEvalBoard: Disable EbcDxe for AArch32  Builds (https://edk2.groups.io/g/devel/message/83557)
>
> If it helps, I can carve out these patches in a separate series and post them to the list.

Actually could you re-send them please, cc'ing the platform maintainers 
(Ard, Leif and Masami)? I suspect that's why they were missed.


Thanks,

Rebecca Cran


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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 15:26         ` PierreGondois
@ 2021-12-16 15:44           ` Rebecca Cran
  0 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2021-12-16 15:44 UTC (permalink / raw)
  To: Pierre Gondois, Sami Mujawar, Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas, nd

On 12/16/21 8:26 AM, Pierre Gondois wrote:

> The following patchset should enable a CI in edk2-platforms for the Juno platorm, but it was tested before uncrustify was enabled. The patch-set is also relying on a modification in edk2-pytool-extensions:
> https://edk2.groups.io/g/devel/message/83803
> https://github.com/tianocore/edk2-pytool-extensions/pull/279
>
> There is a bugzilla on this topic at:
> https://bugzilla.tianocore.org/show_bug.cgi?id=3509
>
> Feel free to use the patches (or not) and to take the bugzilla (or not). It didn't seem the feature was really appealing until now,

Thanks I did see those, but I don't understand the CI framework (yet) 
and unfortunately it seems there's little or slow movement on enabling 
it for edk2-platforms.


 From what I've seen, the CI framework is rather complicated and tied 
into Azure and/or GitHub. Given I have an instance of Gitlab running, 
for now I'll plan on doing my own thing with shell scripts etc.


-- 
Rebecca Cran


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

* Re: [edk2-devel] [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 15:05         ` Ard Biesheuvel
@ 2021-12-16 18:54           ` Sami Mujawar
  2021-12-16 18:55             ` Ard Biesheuvel
  0 siblings, 1 reply; 26+ messages in thread
From: Sami Mujawar @ 2021-12-16 18:54 UTC (permalink / raw)
  To: devel@edk2.groups.io, ardb@kernel.org, Marcin Juszkiewicz; +Cc: nd

Hi Ard,

Please find my response inline marked [SAMI].

Regards,

Sami Mujawar	
On 16/12/2021, 15:07, "Ard Biesheuvel via groups.io" <ardb=kernel.org@groups.io> wrote:

    On Thu, 16 Dec 2021 at 14:38, Marcin Juszkiewicz
    <marcin.juszkiewicz@linaro.org> wrote:
    >
    > W dniu 16.12.2021 o 14:16, Ard Biesheuvel pisze:
    >
    > >>> Platform/LeMaker/CelloBoard/CelloBoard.dsc
    >
    > > As for RdkQemu - I think it is time we just remove that.
    >
    > I would vote for removal of CelloBoard as well. It never went into any
    > serious mass production and nowadays you probably count working ones
    > using fingers.

    I would not object to that.
[SAMI] I am about to submit some patches for fixing the build break in SynQuacerEvalBoard and LeMaker/CelloBoard.
Based on the conversation above, I assume I could skip the fix for LeMaker/CelloBoard. Please let me know if that is ok.
[/SAMI]

    




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

* Re: [edk2-devel] [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 18:54           ` Sami Mujawar
@ 2021-12-16 18:55             ` Ard Biesheuvel
  0 siblings, 0 replies; 26+ messages in thread
From: Ard Biesheuvel @ 2021-12-16 18:55 UTC (permalink / raw)
  To: Sami Mujawar; +Cc: devel@edk2.groups.io, Marcin Juszkiewicz, nd

On Thu, 16 Dec 2021 at 19:55, Sami Mujawar <Sami.Mujawar@arm.com> wrote:
>
> Hi Ard,
>
> Please find my response inline marked [SAMI].
>
> Regards,
>
> Sami Mujawar
> On 16/12/2021, 15:07, "Ard Biesheuvel via groups.io" <ardb=kernel.org@groups.io> wrote:
>
>     On Thu, 16 Dec 2021 at 14:38, Marcin Juszkiewicz
>     <marcin.juszkiewicz@linaro.org> wrote:
>     >
>     > W dniu 16.12.2021 o 14:16, Ard Biesheuvel pisze:
>     >
>     > >>> Platform/LeMaker/CelloBoard/CelloBoard.dsc
>     >
>     > > As for RdkQemu - I think it is time we just remove that.
>     >
>     > I would vote for removal of CelloBoard as well. It never went into any
>     > serious mass production and nowadays you probably count working ones
>     > using fingers.
>
>     I would not object to that.
> [SAMI] I am about to submit some patches for fixing the build break in SynQuacerEvalBoard and LeMaker/CelloBoard.
> Based on the conversation above, I assume I could skip the fix for LeMaker/CelloBoard. Please let me know if that is ok.

Yes that is fine.

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 13:16     ` Ard Biesheuvel
  2021-12-16 13:38       ` [edk2-devel] " Marcin Juszkiewicz
@ 2021-12-16 22:09       ` Rebecca Cran
  2021-12-19 10:32         ` Marcin Wojtas
  1 sibling, 1 reply; 26+ messages in thread
From: Rebecca Cran @ 2021-12-16 22:09 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Samer El-Haj-Mahmoud,
	Leif Lindholm, Sami Mujawar, Masami Hiramatsu, Graeme Gregory,
	Radoslaw Biernacki, Marcin Wojtas

On 12/16/21 6:16 AM, Ard Biesheuvel wrote:
> There were some changes a while ago to support standalone MM in 32-bit
> mode, but I don't think any of the Platform/ARM platforms implement
> that. So the best fix here is to simply stop lying about ARM support.
>
> As for RdkQemu - I think it is time we just remove that.

During the work I found that the following list of platforms didn't build:


o Drivers/OptionRomPkg/OptionRomPkg.dsc for AARCH64 and ARM: due to OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf.

o Features/Ext4Pkg/Ext4Pkg.dsc for ARM: edk2-platforms/Features/Ext4Pkg/Ext4Dxe/Inode.c:341: undefined reference to `__aeabi_uidivmod')

o Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc for ARM

o Platform/Hisilicon/{D03,D05,D06} for AARCH64: Platform/Hisilicon/D03/Library/OemMiscLib2P/BoardFeature2PHi1610.c:50:18: error: ‘EmHilink0Hccs1X8Width16’ undeclared here (not in a function))

o Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc for AARCH64 and ARM: error C0DE: Unknown fatal error when processing [Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc]

o Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc for ARM.

o Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc for ARM.

o Platform/ARM/SgiPkg/RdN2/RdN2.dsc for ARM.

o Platform/ARM/SgiPkg/RdV1/RdV1.dsc for ARM.

o Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc for ARM.

o Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc for ARM.

o Platform/Comcast/RDKQemu/RDKQemu.dsc for AARCH64 and ARM due to ACPI
issue.

o Platform/Marvell/Cn913xDb/Cn913xDbA.dsc for AARCH64 and ARM: tries to
use literal $(PLATFORM_NAME).

o Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc for AARCH64
and ARM: VariablePolicyHelperLib issue.

o Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc for AARCH64 and ARM:
T91 not found.

-- 
Rebecca Cran


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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-16 22:09       ` Rebecca Cran
@ 2021-12-19 10:32         ` Marcin Wojtas
  2022-01-10 20:33           ` Rebecca Cran
  0 siblings, 1 reply; 26+ messages in thread
From: Marcin Wojtas @ 2021-12-19 10:32 UTC (permalink / raw)
  To: Rebecca Cran
  Cc: Ard Biesheuvel, edk2-devel-groups-io, Ard Biesheuvel,
	Samer El-Haj-Mahmoud, Leif Lindholm, Sami Mujawar,
	Masami Hiramatsu, Graeme Gregory, Radoslaw Biernacki

Hi,

czw., 16 gru 2021 o 23:09 Rebecca Cran <rebecca@nuviainc.com> napisał(a):
>
> On 12/16/21 6:16 AM, Ard Biesheuvel wrote:
> > There were some changes a while ago to support standalone MM in 32-bit
> > mode, but I don't think any of the Platform/ARM platforms implement
> > that. So the best fix here is to simply stop lying about ARM support.
> >
> > As for RdkQemu - I think it is time we just remove that.
>
> During the work I found that the following list of platforms didn't build:
>
>
> o Drivers/OptionRomPkg/OptionRomPkg.dsc for AARCH64 and ARM: due to OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf.
>
> o Features/Ext4Pkg/Ext4Pkg.dsc for ARM: edk2-platforms/Features/Ext4Pkg/Ext4Dxe/Inode.c:341: undefined reference to `__aeabi_uidivmod')
>
> o Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc for ARM
>
> o Platform/Hisilicon/{D03,D05,D06} for AARCH64: Platform/Hisilicon/D03/Library/OemMiscLib2P/BoardFeature2PHi1610.c:50:18: error: ‘EmHilink0Hccs1X8Width16’ undeclared here (not in a function))
>
> o Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc for AARCH64 and ARM: error C0DE: Unknown fatal error when processing [Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc]
>

It is expected behavior. In order to succeed, proper -D FIRMWARE_IMAGE
and -D PLATFORM_NAME must be passed.

> o Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc for ARM.
>
> o Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc for ARM.
>
> o Platform/ARM/SgiPkg/RdN2/RdN2.dsc for ARM.
>
> o Platform/ARM/SgiPkg/RdV1/RdV1.dsc for ARM.
>
> o Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc for ARM.
>
> o Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc for ARM.
>
> o Platform/Comcast/RDKQemu/RDKQemu.dsc for AARCH64 and ARM due to ACPI
> issue.
>
> o Platform/Marvell/Cn913xDb/Cn913xDbA.dsc for AARCH64 and ARM: tries to
> use literal $(PLATFORM_NAME).
>

The build is expected to fail - the user must explicitly pick the SoC
variant with -D flag, see the .dsc excerpt:
[Defines]
!if $(CN9130)
  PLATFORM_NAME                  = Cn9130DbA
!elseif $(CN9131)
  PLATFORM_NAME                  = Cn9131DbA
!elseif $(CN9132)
  PLATFORM_NAME                  = Cn9132DbA
!endif

Thanks,
Marcin

> o Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc for AARCH64
> and ARM: VariablePolicyHelperLib issue.
>
> o Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc for AARCH64 and ARM:
> T91 not found.
>
> --
> Rebecca Cran
>

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

* Re: [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2
  2021-12-19 10:32         ` Marcin Wojtas
@ 2022-01-10 20:33           ` Rebecca Cran
  0 siblings, 0 replies; 26+ messages in thread
From: Rebecca Cran @ 2022-01-10 20:33 UTC (permalink / raw)
  To: Marcin Wojtas
  Cc: Ard Biesheuvel, edk2-devel-groups-io, Ard Biesheuvel,
	Samer El-Haj-Mahmoud, Leif Lindholm, Sami Mujawar,
	Masami Hiramatsu, Graeme Gregory, Radoslaw Biernacki

[-- Attachment #1: Type: text/plain, Size: 2701 bytes --]

Thanks! It looks like the existing changes covered 
Platform/Marvell/Cn913xDb/Cn913xDbA.dsc and Armada7k8kCapsule isn't 
something that would be broken by my changes.


-- 

Rebecca Cran


On 12/19/21 03:32, Marcin Wojtas wrote:
> Hi,
>
> czw., 16 gru 2021 o 23:09 Rebecca Cran<rebecca@nuviainc.com>  napisał(a):
>> On 12/16/21 6:16 AM, Ard Biesheuvel wrote:
>>> There were some changes a while ago to support standalone MM in 32-bit
>>> mode, but I don't think any of the Platform/ARM platforms implement
>>> that. So the best fix here is to simply stop lying about ARM support.
>>>
>>> As for RdkQemu - I think it is time we just remove that.
>> During the work I found that the following list of platforms didn't build:
>>
>>
>> o Drivers/OptionRomPkg/OptionRomPkg.dsc for AARCH64 and ARM: due to OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf.
>>
>> o Features/Ext4Pkg/Ext4Pkg.dsc for ARM: edk2-platforms/Features/Ext4Pkg/Ext4Dxe/Inode.c:341: undefined reference to `__aeabi_uidivmod')
>>
>> o Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc for ARM
>>
>> o Platform/Hisilicon/{D03,D05,D06} for AARCH64: Platform/Hisilicon/D03/Library/OemMiscLib2P/BoardFeature2PHi1610.c:50:18: error: ‘EmHilink0Hccs1X8Width16’ undeclared here (not in a function))
>>
>> o Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc for AARCH64 and ARM: error C0DE: Unknown fatal error when processing [Silicon/Marvell/Armada7k8k/Armada7k8kCapsule.dsc]
>>
> It is expected behavior. In order to succeed, proper -D FIRMWARE_IMAGE
> and -D PLATFORM_NAME must be passed.
>
>> o Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc for ARM.
>>
>> o Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc for ARM.
>>
>> o Platform/ARM/SgiPkg/RdN2/RdN2.dsc for ARM.
>>
>> o Platform/ARM/SgiPkg/RdV1/RdV1.dsc for ARM.
>>
>> o Platform/ARM/SgiPkg/RdV1Mc/RdV1Mc.dsc for ARM.
>>
>> o Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc for ARM.
>>
>> o Platform/Comcast/RDKQemu/RDKQemu.dsc for AARCH64 and ARM due to ACPI
>> issue.
>>
>> o Platform/Marvell/Cn913xDb/Cn913xDbA.dsc for AARCH64 and ARM: tries to
>> use literal $(PLATFORM_NAME).
>>
> The build is expected to fail - the user must explicitly pick the SoC
> variant with -D flag, see the .dsc excerpt:
> [Defines]
> !if $(CN9130)
>    PLATFORM_NAME                  = Cn9130DbA
> !elseif $(CN9131)
>    PLATFORM_NAME                  = Cn9131DbA
> !elseif $(CN9132)
>    PLATFORM_NAME                  = Cn9132DbA
> !endif
>
> Thanks,
> Marcin
>
>> o Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc for AARCH64
>> and ARM: VariablePolicyHelperLib issue.
>>
>> o Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc for AARCH64 and ARM:
>> T91 not found.
>>
>> --
>> Rebecca Cran
>>

[-- Attachment #2: Type: text/html, Size: 4159 bytes --]

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

end of thread, other threads:[~2022-01-10 20:33 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-15  0:03 [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 1/8] Platform/ARM: Add MpInitLib instance Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 2/8] Platform/Socionext: Add instance of MpInitLib Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 3/8] Silicon/Marvell: " Rebecca Cran
2021-12-16  7:14   ` Marcin Wojtas
2021-12-15  0:03 ` [edk2-platforms PATCH 4/8] Platform/Qemu: " Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 5/8] Platform/ARM: Update ARM_CORE_INFO initializer for MPIDR field change Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 6/8] Silicon/Marvell: " Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 7/8] Silicon/Socionext: " Rebecca Cran
2021-12-15  0:03 ` [edk2-platforms PATCH 8/8] Silicon/Qemu: " Rebecca Cran
2021-12-15  8:16 ` [edk2-platforms PATCH 0/8] Update Arm platforms following addition of EFI_MP_SERVICES_PROTOCOL support in edk2 Ard Biesheuvel
2021-12-16  9:32 ` Ard Biesheuvel
2021-12-16 13:13   ` Rebecca Cran
2021-12-16 13:16     ` Ard Biesheuvel
2021-12-16 13:38       ` [edk2-devel] " Marcin Juszkiewicz
2021-12-16 15:05         ` Ard Biesheuvel
2021-12-16 18:54           ` Sami Mujawar
2021-12-16 18:55             ` Ard Biesheuvel
2021-12-16 22:09       ` Rebecca Cran
2021-12-19 10:32         ` Marcin Wojtas
2022-01-10 20:33           ` Rebecca Cran
2021-12-16 13:26     ` Sami Mujawar
2021-12-16 14:59       ` Rebecca Cran
2021-12-16 15:26         ` PierreGondois
2021-12-16 15:44           ` Rebecca Cran
2021-12-16 15:27       ` Rebecca Cran

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