public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
@ 2023-11-17  9:39 duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg duntan
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: duntan @ 2023-11-17  9:39 UTC (permalink / raw)
  To: devel

In the V2 patch set: Added more comments in the new MpInformation.h to document that some fields in this HOB may be invalidated.

Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.

Previously, the HOB is defined, created and consumed only in StandaloneMmPkg. The HOB contains the number
of processors and EFI_PROCESSOR_INFORMATION structure. This is the same as the information that PiSmmCpuDxeSmm
uses EfiMpServiceProtocolGuid to get.

The incoming plan is to create gMpInformationHobGuid for both StandaloneMm and legacy DXE_SMM in early
phase(for example in CpuMpPei). Then PiSmmCpuDxeSmm can consume the hob, which can simplify code logic
in PiSmmCpuDxeSmm driver.

So move this HOB definition to UefiCpuPkg in this patch series.

Dun Tan (3):
  UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
  StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck
  StandaloneMmPkg:Remove MpInformation.h

 StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf                       | 1 +
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf | 1 +
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                           | 3 ++-
 StandaloneMmPkg/StandaloneMmPkg.dec                                               | 1 -
 {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h                      | 6 +++++-
 UefiCpuPkg/UefiCpuPkg.dec                                                         | 3 +++
 6 files changed, 12 insertions(+), 3 deletions(-)
 rename {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h (71%)

-- 
2.31.1.windows.1



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



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

* [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
  2023-11-17  9:39 [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
@ 2023-11-17  9:39 ` duntan
  2023-11-17 20:13   ` Laszlo Ersek
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 2/3] StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 3/3] StandaloneMmPkg:Remove MpInformation.h duntan
  2 siblings, 1 reply; 8+ messages in thread
From: duntan @ 2023-11-17  9:39 UTC (permalink / raw)
  To: devel; +Cc: Eric Dong, Ray Ni, Rahul Kumar, Gerd Hoffmann, Laszlo Ersek

Copy MpInformation.h and gMpInformationHobGuid to
UefiCpuPkg.
Previously, the HOB is defined, created and consumed
only in StandaloneMmPkg. The HOB contains the number
of processors and EFI_PROCESSOR_INFORMATION structure.
This is the same as the information that PiSmmCpuDxeSmm
uses EfiMpServiceProtocolGuid to get.
The incoming plan is to create gMpInformationHobGuid
for both StandaloneMm and legacy DXE_SMM in early
phase. Then PiSmmCpuDxeSmm can consume the hob, which can
simplified code logic about consuming MpService Protocol.
So move this HOB definition to UefiCpuPkg.

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Laszlo Ersek <lersek@redhat.com>
---
 UefiCpuPkg/Include/Guid/MpInformation.h | 39 +++++++++++++++++++++++++++++++++++++++
 UefiCpuPkg/UefiCpuPkg.dec               |  3 +++
 2 files changed, 42 insertions(+)

diff --git a/UefiCpuPkg/Include/Guid/MpInformation.h b/UefiCpuPkg/Include/Guid/MpInformation.h
new file mode 100644
index 0000000000..29da80d4df
--- /dev/null
+++ b/UefiCpuPkg/Include/Guid/MpInformation.h
@@ -0,0 +1,39 @@
+/** @file
+  EFI MP information protocol provides a lightweight MP_SERVICES_PROTOCOL.
+
+  MP information protocol only provides static information of MP processor.
+
+  If SwitchBSP or Enable/DisableAP in MP service is called between the HOB
+  production and HOB consumption, EFI_PROCESSOR_INFORMATION.StatusFlag and
+  NumberOfEnabledProcessors fields in this HOB may be invalidated.
+
+  Copyright (c) 2009 - 2023, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _MP_INFORMATION_H_
+#define _MP_INFORMATION_H_
+
+#include <Protocol/MpService.h>
+#include <PiPei.h>
+#include <Ppi/SecPlatformInformation.h>
+
+#define MP_INFORMATION_GUID \
+  { \
+    0xba33f15d, 0x4000, 0x45c1, {0x8e, 0x88, 0xf9, 0x16, 0x92, 0xd4, 0x57, 0xe3}  \
+  }
+
+#pragma pack(1)
+typedef struct {
+  UINT64                       NumberOfProcessors;
+  UINT64                       NumberOfEnabledProcessors;
+  EFI_PROCESSOR_INFORMATION    ProcessorInfoBuffer[];
+} MP_INFORMATION_HOB_DATA;
+#pragma pack()
+
+extern EFI_GUID  gMpInformationHobGuid;
+
+#endif
diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec
index 0b5431dbf7..92860b4c6e 100644
--- a/UefiCpuPkg/UefiCpuPkg.dec
+++ b/UefiCpuPkg/UefiCpuPkg.dec
@@ -85,6 +85,9 @@
   ## Include/Guid/SmmBaseHob.h
   gSmmBaseHobGuid      = { 0xc2217ba7, 0x03bb, 0x4f63, {0xa6, 0x47, 0x7c, 0x25, 0xc5, 0xfc, 0x9d, 0x73 }}
 
+  ## Include/Guid/MpInformation.h
+  gMpInformationHobGuid          = { 0xba33f15d, 0x4000, 0x45c1, { 0x8e, 0x88, 0xf9, 0x16, 0x92, 0xd4, 0x57, 0xe3 }}
+
 [Protocols]
   ## Include/Protocol/SmmCpuService.h
   gEfiSmmCpuServiceProtocolGuid   = { 0x1d202cab, 0xc8ab, 0x4d5c, { 0x94, 0xf7, 0x3c, 0xfc, 0xc0, 0xd3, 0xd3, 0x35 }}
-- 
2.31.1.windows.1



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



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

* [edk2-devel] [Patch V2 2/3] StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck
  2023-11-17  9:39 [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg duntan
@ 2023-11-17  9:39 ` duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 3/3] StandaloneMmPkg:Remove MpInformation.h duntan
  2 siblings, 0 replies; 8+ messages in thread
From: duntan @ 2023-11-17  9:39 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar, Ray Ni, Laszlo Ersek, Gerd Hoffmann

Add UefiCpuPkg.dec in DependencyCheck section of
StandaloneMmPkg.ci.yaml to allow StandaloneMmPkg
depend on UefiCpuPkg.

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
---
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
index 4777532a7e..ebd35f515e 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
+++ b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
@@ -39,7 +39,8 @@
             "EmbeddedPkg/EmbeddedPkg.dec",
             "StandaloneMmPkg/StandaloneMmPkg.dec",
             "MdeModulePkg/MdeModulePkg.dec",
-            "MdePkg/MdePkg.dec"
+            "MdePkg/MdePkg.dec",
+            "UefiCpuPkg/UefiCpuPkg.dec"
         ],
         # For host based unit tests
         "AcceptableDependencies-HOST_APPLICATION":[
-- 
2.31.1.windows.1



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



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

* [edk2-devel] [Patch V2 3/3] StandaloneMmPkg:Remove MpInformation.h
  2023-11-17  9:39 [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg duntan
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 2/3] StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck duntan
@ 2023-11-17  9:39 ` duntan
  2 siblings, 0 replies; 8+ messages in thread
From: duntan @ 2023-11-17  9:39 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar, Ray Ni, Laszlo Ersek, Gerd Hoffmann

Remove MpInformation.h in StandaloneMmPkg since
it has been moved to UefiCpuPkg

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf                       |  1 +
 StandaloneMmPkg/Include/Guid/MpInformation.h                                      | 35 -----------------------------------
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf |  1 +
 StandaloneMmPkg/StandaloneMmPkg.dec                                               |  1 -
 4 files changed, 2 insertions(+), 36 deletions(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
index 1fcb17d89d..4ed0e395c8 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
@@ -27,6 +27,7 @@
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   StandaloneMmPkg/StandaloneMmPkg.dec
+  UefiCpuPkg/UefiCpuPkg.dec
 
 [LibraryClasses]
   ArmLib
diff --git a/StandaloneMmPkg/Include/Guid/MpInformation.h b/StandaloneMmPkg/Include/Guid/MpInformation.h
deleted file mode 100644
index dbf88d12de..0000000000
--- a/StandaloneMmPkg/Include/Guid/MpInformation.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/** @file
-  EFI MP information protocol provides a lightweight MP_SERVICES_PROTOCOL.
-
-  MP information protocol only provides static information of MP processor.
-
-  Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef _MP_INFORMATION_H_
-#define _MP_INFORMATION_H_
-
-#include <Protocol/MpService.h>
-#include <PiPei.h>
-#include <Ppi/SecPlatformInformation.h>
-
-#define MP_INFORMATION_GUID \
-  { \
-    0xba33f15d, 0x4000, 0x45c1, {0x8e, 0x88, 0xf9, 0x16, 0x92, 0xd4, 0x57, 0xe3}  \
-  }
-
-#pragma pack(1)
-typedef struct {
-  UINT64                       NumberOfProcessors;
-  UINT64                       NumberOfEnabledProcessors;
-  EFI_PROCESSOR_INFORMATION    ProcessorInfoBuffer[];
-} MP_INFORMATION_HOB_DATA;
-#pragma pack()
-
-extern EFI_GUID  gMpInformationHobGuid;
-
-#endif
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
index 75cfb98c0e..1fc31360ce 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
@@ -33,6 +33,7 @@
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   StandaloneMmPkg/StandaloneMmPkg.dec
+  UefiCpuPkg/UefiCpuPkg.dec
 
 [Packages.ARM, Packages.AARCH64]
   ArmPkg/ArmPkg.dec
diff --git a/StandaloneMmPkg/StandaloneMmPkg.dec b/StandaloneMmPkg/StandaloneMmPkg.dec
index 46784d94e4..01f37deebb 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.dec
+++ b/StandaloneMmPkg/StandaloneMmPkg.dec
@@ -36,7 +36,6 @@
 
 [Guids]
   gStandaloneMmPkgTokenSpaceGuid           = { 0x18fe7632, 0xf5c8, 0x4e63, { 0x8d, 0xe8, 0x17, 0xa5, 0x5c, 0x59, 0x13, 0xbd }}
-  gMpInformationHobGuid                    = { 0xba33f15d, 0x4000, 0x45c1, { 0x8e, 0x88, 0xf9, 0x16, 0x92, 0xd4, 0x57, 0xe3 }}
   gMmFvDispatchGuid                        = { 0xb65694cc, 0x09e3, 0x4c3b, { 0xb5, 0xcd, 0x05, 0xf4, 0x4d, 0x3c, 0xdb, 0xff }}
 
   ## Include/Guid/MmCoreData.h
-- 
2.31.1.windows.1



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



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

* Re: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
       [not found] <17985FA7D8DAB616.3002@groups.io>
@ 2023-11-17  9:57 ` duntan
  2024-01-03 15:11   ` Ard Biesheuvel
  0 siblings, 1 reply; 8+ messages in thread
From: duntan @ 2023-11-17  9:57 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: Ni, Ray, devel@edk2.groups.io

Hi Ard, 

I'm working on moving gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg in this patch series. Currently in Edk2, the HOB is only consumed by StandaloneMmCpu.inf.

As we know that this HOB is used to provide a lightweight static information of MP processor. However, there might be a concern that the maximum HOB size 64KB is not large enough when CPU number is 1~2000 or bigger.

May I know if you considered this situation or is there any solution to avoid this issue on Arm?

Thanks, 
Dun

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of duntan
Sent: Friday, November 17, 2023 5:40 PM
To: devel@edk2.groups.io
Subject: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.

In the V2 patch set: Added more comments in the new MpInformation.h to document that some fields in this HOB may be invalidated.

Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.

Previously, the HOB is defined, created and consumed only in StandaloneMmPkg. The HOB contains the number of processors and EFI_PROCESSOR_INFORMATION structure. This is the same as the information that PiSmmCpuDxeSmm uses EfiMpServiceProtocolGuid to get.

The incoming plan is to create gMpInformationHobGuid for both StandaloneMm and legacy DXE_SMM in early phase(for example in CpuMpPei). Then PiSmmCpuDxeSmm can consume the hob, which can simplify code logic in PiSmmCpuDxeSmm driver.

So move this HOB definition to UefiCpuPkg in this patch series.

Dun Tan (3):
  UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
  StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck
  StandaloneMmPkg:Remove MpInformation.h

 StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf                       | 1 +
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf | 1 +
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                           | 3 ++-
 StandaloneMmPkg/StandaloneMmPkg.dec                                               | 1 -
 {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h                      | 6 +++++-
 UefiCpuPkg/UefiCpuPkg.dec                                                         | 3 +++
 6 files changed, 12 insertions(+), 3 deletions(-)  rename {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h (71%)

--
2.31.1.windows.1








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



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

* Re: [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
  2023-11-17  9:39 ` [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg duntan
@ 2023-11-17 20:13   ` Laszlo Ersek
  0 siblings, 0 replies; 8+ messages in thread
From: Laszlo Ersek @ 2023-11-17 20:13 UTC (permalink / raw)
  To: devel, dun.tan; +Cc: Eric Dong, Ray Ni, Rahul Kumar, Gerd Hoffmann

On 11/17/23 10:39, duntan wrote:
> Copy MpInformation.h and gMpInformationHobGuid to
> UefiCpuPkg.
> Previously, the HOB is defined, created and consumed
> only in StandaloneMmPkg. The HOB contains the number
> of processors and EFI_PROCESSOR_INFORMATION structure.
> This is the same as the information that PiSmmCpuDxeSmm
> uses EfiMpServiceProtocolGuid to get.
> The incoming plan is to create gMpInformationHobGuid
> for both StandaloneMm and legacy DXE_SMM in early
> phase. Then PiSmmCpuDxeSmm can consume the hob, which can
> simplified code logic about consuming MpService Protocol.
> So move this HOB definition to UefiCpuPkg.
> 
> Signed-off-by: Dun Tan <dun.tan@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> ---
>  UefiCpuPkg/Include/Guid/MpInformation.h | 39 +++++++++++++++++++++++++++++++++++++++
>  UefiCpuPkg/UefiCpuPkg.dec               |  3 +++
>  2 files changed, 42 insertions(+)
> 
> diff --git a/UefiCpuPkg/Include/Guid/MpInformation.h b/UefiCpuPkg/Include/Guid/MpInformation.h
> new file mode 100644
> index 0000000000..29da80d4df
> --- /dev/null
> +++ b/UefiCpuPkg/Include/Guid/MpInformation.h
> @@ -0,0 +1,39 @@
> +/** @file
> +  EFI MP information protocol provides a lightweight MP_SERVICES_PROTOCOL.
> +
> +  MP information protocol only provides static information of MP processor.
> +
> +  If SwitchBSP or Enable/DisableAP in MP service is called between the HOB
> +  production and HOB consumption, EFI_PROCESSOR_INFORMATION.StatusFlag and
> +  NumberOfEnabledProcessors fields in this HOB may be invalidated.

Thanks for the update.

Acked-by: Laszlo Ersek <lersek@redhat.com>



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



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

* Re: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
  2023-11-17  9:57 ` [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
@ 2024-01-03 15:11   ` Ard Biesheuvel
  2024-01-04  2:21     ` duntan
  0 siblings, 1 reply; 8+ messages in thread
From: Ard Biesheuvel @ 2024-01-03 15:11 UTC (permalink / raw)
  To: Tan, Dun, Samer El-Haj-Mahmoud, Jose Marinho
  Cc: Ard Biesheuvel, Ni, Ray, devel@edk2.groups.io

(cc Samer and Jose)

Hello Dun Tan,

On Fri, 17 Nov 2023 at 10:57, Tan, Dun <dun.tan@intel.com> wrote:
>
> Hi Ard,
>
> I'm working on moving gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg in this patch series. Currently in Edk2, the HOB is only consumed by StandaloneMmCpu.inf.
>
> As we know that this HOB is used to provide a lightweight static information of MP processor. However, there might be a concern that the maximum HOB size 64KB is not large enough when CPU number is 1~2000 or bigger.
>
> May I know if you considered this situation or is there any solution to avoid this issue on Arm?
>

I don't think this has ever come up. Is this maximum HOB size a PI
limitation? Or simply a limitation of the existing implementation?





>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of duntan
> Sent: Friday, November 17, 2023 5:40 PM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
>
> In the V2 patch set: Added more comments in the new MpInformation.h to document that some fields in this HOB may be invalidated.
>
> Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
>
> Previously, the HOB is defined, created and consumed only in StandaloneMmPkg. The HOB contains the number of processors and EFI_PROCESSOR_INFORMATION structure. This is the same as the information that PiSmmCpuDxeSmm uses EfiMpServiceProtocolGuid to get.
>
> The incoming plan is to create gMpInformationHobGuid for both StandaloneMm and legacy DXE_SMM in early phase(for example in CpuMpPei). Then PiSmmCpuDxeSmm can consume the hob, which can simplify code logic in PiSmmCpuDxeSmm driver.
>
> So move this HOB definition to UefiCpuPkg in this patch series.
>
> Dun Tan (3):
>   UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
>   StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck
>   StandaloneMmPkg:Remove MpInformation.h
>
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf                       | 1 +
>  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf | 1 +
>  StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                           | 3 ++-
>  StandaloneMmPkg/StandaloneMmPkg.dec                                               | 1 -
>  {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h                      | 6 +++++-
>  UefiCpuPkg/UefiCpuPkg.dec                                                         | 3 +++
>  6 files changed, 12 insertions(+), 3 deletions(-)  rename {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h (71%)
>
> --
> 2.31.1.windows.1
>
>
>
> 
>
>


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



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

* Re: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
  2024-01-03 15:11   ` Ard Biesheuvel
@ 2024-01-04  2:21     ` duntan
  0 siblings, 0 replies; 8+ messages in thread
From: duntan @ 2024-01-04  2:21 UTC (permalink / raw)
  To: Ard Biesheuvel, Samer El-Haj-Mahmoud, Jose Marinho
  Cc: Ard Biesheuvel, Ni, Ray, devel@edk2.groups.io

I think it's a limitation of the existing implementation. Currently the HobLength in EFI_HOB_GENERIC_HEADER is UINT16.

Thanks,
Dun

-----Original Message-----
From: Ard Biesheuvel <ardb@kernel.org> 
Sent: Wednesday, January 3, 2024 11:11 PM
To: Tan, Dun <dun.tan@intel.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; Jose Marinho <Jose.Marinho@arm.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>; Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.

(cc Samer and Jose)

Hello Dun Tan,

On Fri, 17 Nov 2023 at 10:57, Tan, Dun <dun.tan@intel.com> wrote:
>
> Hi Ard,
>
> I'm working on moving gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg in this patch series. Currently in Edk2, the HOB is only consumed by StandaloneMmCpu.inf.
>
> As we know that this HOB is used to provide a lightweight static information of MP processor. However, there might be a concern that the maximum HOB size 64KB is not large enough when CPU number is 1~2000 or bigger.
>
> May I know if you considered this situation or is there any solution to avoid this issue on Arm?
>

I don't think this has ever come up. Is this maximum HOB size a PI limitation? Or simply a limitation of the existing implementation?





>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of duntan
> Sent: Friday, November 17, 2023 5:40 PM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
>
> In the V2 patch set: Added more comments in the new MpInformation.h to document that some fields in this HOB may be invalidated.
>
> Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg.
>
> Previously, the HOB is defined, created and consumed only in StandaloneMmPkg. The HOB contains the number of processors and EFI_PROCESSOR_INFORMATION structure. This is the same as the information that PiSmmCpuDxeSmm uses EfiMpServiceProtocolGuid to get.
>
> The incoming plan is to create gMpInformationHobGuid for both StandaloneMm and legacy DXE_SMM in early phase(for example in CpuMpPei). Then PiSmmCpuDxeSmm can consume the hob, which can simplify code logic in PiSmmCpuDxeSmm driver.
>
> So move this HOB definition to UefiCpuPkg in this patch series.
>
> Dun Tan (3):
>   UefiCpuPkg: Create MpInformation.h in UefiCpuPkg
>   StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck
>   StandaloneMmPkg:Remove MpInformation.h
>
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf                       | 1 +
>  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf | 1 +
>  StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                           | 3 ++-
>  StandaloneMmPkg/StandaloneMmPkg.dec                                               | 1 -
>  {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h                      | 6 +++++-
>  UefiCpuPkg/UefiCpuPkg.dec                                                         | 3 +++
>  6 files changed, 12 insertions(+), 3 deletions(-)  rename 
> {StandaloneMmPkg => UefiCpuPkg}/Include/Guid/MpInformation.h (71%)
>
> --
> 2.31.1.windows.1
>
>
>
> 
>
>


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



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

end of thread, other threads:[~2024-01-04  2:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-17  9:39 [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
2023-11-17  9:39 ` [edk2-devel] [Patch V2 1/3] UefiCpuPkg: Create MpInformation.h in UefiCpuPkg duntan
2023-11-17 20:13   ` Laszlo Ersek
2023-11-17  9:39 ` [edk2-devel] [Patch V2 2/3] StandaloneMmPkg:Add UefiCpuPkg.dec in DependencyCheck duntan
2023-11-17  9:39 ` [edk2-devel] [Patch V2 3/3] StandaloneMmPkg:Remove MpInformation.h duntan
     [not found] <17985FA7D8DAB616.3002@groups.io>
2023-11-17  9:57 ` [edk2-devel] [Patch V2 0/3] Move gMpInformationHobGuid from StandaloneMmPkg to UefiCpuPkg duntan
2024-01-03 15:11   ` Ard Biesheuvel
2024-01-04  2:21     ` duntan

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