public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp
@ 2024-01-08  5:08 duntan
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 duntan
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: duntan @ 2024-01-08  5:08 UTC (permalink / raw)
  To: devel

Please ignore the V2 PATCH set. No other change except adding BaseMemoryLib headfile and lib instance in .inf to pass build since ZeroMem() is used. 

Comparing to the V1 patch set:
In "set EXTENDED_PROCESSOR_INFORMATION to 0", set EXTENDED_PROCESSOR_INFORMATION to 0 in API MpInitLibGetProcessorInfo() of MpInitLibUp. This commit use ZeroMem() to set all fileds in output EFI_PROCESSOR_INFORMATION to 0 before StatusFlag field is reassigned.

In "Check lower 24 bits of ProcessorNumber", use BIT24 instead of CPU_V2_EXTENDED_TOPOLOGY to clearly tell that processor number only occupies the lower 24 bits.

Dun Tan (2):
  UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
  UefiCpuPkg: Check lower 24 bits of ProcessorNumber

 UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
 UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 20 ++++++++++++--------
 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
 4 files changed, 17 insertions(+), 8 deletions(-)

-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113354): https://edk2.groups.io/g/devel/message/113354
Mute This Topic: https://groups.io/mt/103592277/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 V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
  2024-01-08  5:08 [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp duntan
@ 2024-01-08  5:08 ` duntan
  2024-01-09  9:00   ` Ni, Ray
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber duntan
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: duntan @ 2024-01-08  5:08 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Laszlo Ersek, Rahul Kumar, Gerd Hoffmann, Min Xu

Set EXTENDED_PROCESSOR_INFORMATION to 0 in API
MpInitLibGetProcessorInfo() of MpInitLibUp. This
commit use ZeroMem() to set all fileds in output
EFI_PROCESSOR_INFORMATION to 0 before StatusFlag
field is reassigned.

Previously EXTENDED_PROCESSOR_INFORMATION in the API
MpInitLibGetProcessorInfo() of MpInitLibUp is ignored.
In PEI/DXE MpInitLib, EXTENDED_PROCESSOR_INFORMATION
will be retrived when BIT24 of input ProcessorNumber
is set. This commit can avoid garbage in the output
structure in MpInitLibGetProcessorInfo() of MpInitLibUp.

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Min Xu <min.m.xu@intel.com>
---
 UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
 UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 15 ++++++++-------
 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/UefiCpuPkg/Include/Library/MpInitLib.h b/UefiCpuPkg/Include/Library/MpInitLib.h
index 1853c46415..842c6f7ff9 100644
--- a/UefiCpuPkg/Include/Library/MpInitLib.h
+++ b/UefiCpuPkg/Include/Library/MpInitLib.h
@@ -63,6 +63,8 @@ MpInitLibGetNumberOfProcessors (
   instant this call is made. This service may only be called from the BSP.
 
   @param[in]  ProcessorNumber       The handle number of processor.
+                                    Lower 24 bits contains the actual processor number.
+                                    BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived.
   @param[out] ProcessorInfoBuffer   A pointer to the buffer where information for
                                     the requested processor is deposited.
   @param[out] HealthData            Return processor health data.
diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c
index a359906923..cdfb570e61 100644
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
@@ -2333,6 +2333,8 @@ MpInitLibInitialize (
   instant this call is made. This service may only be called from the BSP.
 
   @param[in]  ProcessorNumber       The handle number of processor.
+                                    Lower 24 bits contains the actual processor number.
+                                    BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived.
   @param[out] ProcessorInfoBuffer   A pointer to the buffer where information for
                                     the requested processor is deposited.
   @param[out]  HealthData            Return processor health data.
diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
index 86f9fbf903..d4f8611af8 100644
--- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
+++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
@@ -12,6 +12,7 @@
 #include <Library/DebugLib.h>
 #include <Library/LocalApicLib.h>
 #include <Library/HobLib.h>
+#include <Library/BaseMemoryLib.h>
 
 /**
   MP Initialize Library initialization.
@@ -77,6 +78,8 @@ MpInitLibGetNumberOfProcessors (
   instant this call is made. This service may only be called from the BSP.
 
   @param[in]  ProcessorNumber       The handle number of processor.
+                                    Lower 24 bits contains the actual processor number.
+                                    BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived.
   @param[out] ProcessorInfoBuffer   A pointer to the buffer where information for
                                     the requested processor is deposited.
   @param[out] HealthData            Return processor health data.
@@ -108,13 +111,11 @@ MpInitLibGetProcessorInfo (
     return EFI_NOT_FOUND;
   }
 
-  ProcessorInfoBuffer->ProcessorId = 0;
-  ProcessorInfoBuffer->StatusFlag  = PROCESSOR_AS_BSP_BIT  |
-                                     PROCESSOR_ENABLED_BIT |
-                                     PROCESSOR_HEALTH_STATUS_BIT;
-  ProcessorInfoBuffer->Location.Package = 0;
-  ProcessorInfoBuffer->Location.Core    = 0;
-  ProcessorInfoBuffer->Location.Thread  = 0;
+  ZeroMem (ProcessorInfoBuffer, sizeof (*ProcessorInfoBuffer));
+  ProcessorInfoBuffer->StatusFlag = PROCESSOR_AS_BSP_BIT  |
+                                    PROCESSOR_ENABLED_BIT |
+                                    PROCESSOR_HEALTH_STATUS_BIT;
+
   if (HealthData != NULL) {
     GuidHob = GetFirstGuidHob (&gEfiSecPlatformInformationPpiGuid);
     if (GuidHob != NULL) {
diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
index 24ad29c03c..eb0a168f74 100644
--- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
+++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
@@ -32,6 +32,7 @@
   DebugLib
   LocalApicLib
   HobLib
+  BaseMemoryLib
 
 [Ppis]
   gEfiSecPlatformInformationPpiGuid  ## SOMETIMES_CONSUMES
-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113355): https://edk2.groups.io/g/devel/message/113355
Mute This Topic: https://groups.io/mt/103592278/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 V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber
  2024-01-08  5:08 [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp duntan
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 duntan
@ 2024-01-08  5:08 ` duntan
  2024-01-09  9:00   ` Ni, Ray
  2024-01-08 12:22 ` [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp Laszlo Ersek
  2024-01-09 16:34 ` Laszlo Ersek
  3 siblings, 1 reply; 8+ messages in thread
From: duntan @ 2024-01-08  5:08 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Laszlo Ersek, Rahul Kumar, Gerd Hoffmann, Min Xu

Check lower 24 bits of ProcessorNumber instead of
the value of ProcessorNumber in the API
MpInitLibGetProcessorInfo() of MpInitLibUp instance.
Lower 24 bits of ProcessorNumber contains the actual
processor number.
The BIT24 of input ProcessorNumber might be set to
indicate if the EXTENDED_PROCESSOR_INFORMATION will
be retrived.

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Min Xu <min.m.xu@intel.com>
---
 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
index d4f8611af8..35590fb4e7 100644
--- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
+++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
@@ -107,7 +107,10 @@ MpInitLibGetProcessorInfo (
     return EFI_INVALID_PARAMETER;
   }
 
-  if (ProcessorNumber != 0) {
+  //
+  // Lower 24 bits contains the actual processor number.
+  //
+  if ((ProcessorNumber & (BIT24 - 1)) != 0) {
     return EFI_NOT_FOUND;
   }
 
-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113356): https://edk2.groups.io/g/devel/message/113356
Mute This Topic: https://groups.io/mt/103592279/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 V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp
  2024-01-08  5:08 [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp duntan
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 duntan
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber duntan
@ 2024-01-08 12:22 ` Laszlo Ersek
  2024-01-09 16:34 ` Laszlo Ersek
  3 siblings, 0 replies; 8+ messages in thread
From: Laszlo Ersek @ 2024-01-08 12:22 UTC (permalink / raw)
  To: devel, dun.tan

On 1/8/24 06:08, duntan wrote:
> Please ignore the V2 PATCH set. No other change except adding BaseMemoryLib headfile and lib instance in .inf to pass build since ZeroMem() is used. 

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


> 
> Comparing to the V1 patch set:
> In "set EXTENDED_PROCESSOR_INFORMATION to 0", set EXTENDED_PROCESSOR_INFORMATION to 0 in API MpInitLibGetProcessorInfo() of MpInitLibUp. This commit use ZeroMem() to set all fileds in output EFI_PROCESSOR_INFORMATION to 0 before StatusFlag field is reassigned.
> 
> In "Check lower 24 bits of ProcessorNumber", use BIT24 instead of CPU_V2_EXTENDED_TOPOLOGY to clearly tell that processor number only occupies the lower 24 bits.
> 
> Dun Tan (2):
>   UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
>   UefiCpuPkg: Check lower 24 bits of ProcessorNumber
> 
>  UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
>  UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 20 ++++++++++++--------
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
>  4 files changed, 17 insertions(+), 8 deletions(-)
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113388): https://edk2.groups.io/g/devel/message/113388
Mute This Topic: https://groups.io/mt/103592277/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 V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 duntan
@ 2024-01-09  9:00   ` Ni, Ray
  0 siblings, 0 replies; 8+ messages in thread
From: Ni, Ray @ 2024-01-09  9:00 UTC (permalink / raw)
  To: Tan, Dun, devel@edk2.groups.io
  Cc: Laszlo Ersek, Kumar, Rahul R, Gerd Hoffmann, Xu, Min M

Reviewed-by: Ray Ni <ray.ni@intel.com>

Thanks,
Ray
> -----Original Message-----
> From: Tan, Dun <dun.tan@intel.com>
> Sent: Monday, January 8, 2024 1:08 PM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>; Kumar,
> Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> Xu, Min M <min.m.xu@intel.com>
> Subject: [Patch V3 1/2] UefiCpuPkg: set
> EXTENDED_PROCESSOR_INFORMATION to 0
> 
> Set EXTENDED_PROCESSOR_INFORMATION to 0 in API
> MpInitLibGetProcessorInfo() of MpInitLibUp. This
> commit use ZeroMem() to set all fileds in output
> EFI_PROCESSOR_INFORMATION to 0 before StatusFlag
> field is reassigned.
> 
> Previously EXTENDED_PROCESSOR_INFORMATION in the API
> MpInitLibGetProcessorInfo() of MpInitLibUp is ignored.
> In PEI/DXE MpInitLib, EXTENDED_PROCESSOR_INFORMATION
> will be retrived when BIT24 of input ProcessorNumber
> is set. This commit can avoid garbage in the output
> structure in MpInitLibGetProcessorInfo() of MpInitLibUp.
> 
> Signed-off-by: Dun Tan <dun.tan@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Min Xu <min.m.xu@intel.com>
> ---
>  UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
>  UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 15 ++++++++-------
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
>  4 files changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/UefiCpuPkg/Include/Library/MpInitLib.h
> b/UefiCpuPkg/Include/Library/MpInitLib.h
> index 1853c46415..842c6f7ff9 100644
> --- a/UefiCpuPkg/Include/Library/MpInitLib.h
> +++ b/UefiCpuPkg/Include/Library/MpInitLib.h
> @@ -63,6 +63,8 @@ MpInitLibGetNumberOfProcessors (
>    instant this call is made. This service may only be called from the BSP.
> 
>    @param[in]  ProcessorNumber       The handle number of processor.
> +                                    Lower 24 bits contains the actual processor number.
> +                                    BIT24 indicates if the
> EXTENDED_PROCESSOR_INFORMATION will be retrived.
>    @param[out] ProcessorInfoBuffer   A pointer to the buffer where
> information for
>                                      the requested processor is deposited.
>    @param[out] HealthData            Return processor health data.
> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c
> b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> index a359906923..cdfb570e61 100644
> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> @@ -2333,6 +2333,8 @@ MpInitLibInitialize (
>    instant this call is made. This service may only be called from the BSP.
> 
>    @param[in]  ProcessorNumber       The handle number of processor.
> +                                    Lower 24 bits contains the actual processor number.
> +                                    BIT24 indicates if the
> EXTENDED_PROCESSOR_INFORMATION will be retrived.
>    @param[out] ProcessorInfoBuffer   A pointer to the buffer where
> information for
>                                      the requested processor is deposited.
>    @param[out]  HealthData            Return processor health data.
> diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> index 86f9fbf903..d4f8611af8 100644
> --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> @@ -12,6 +12,7 @@
>  #include <Library/DebugLib.h>
>  #include <Library/LocalApicLib.h>
>  #include <Library/HobLib.h>
> +#include <Library/BaseMemoryLib.h>
> 
>  /**
>    MP Initialize Library initialization.
> @@ -77,6 +78,8 @@ MpInitLibGetNumberOfProcessors (
>    instant this call is made. This service may only be called from the BSP.
> 
>    @param[in]  ProcessorNumber       The handle number of processor.
> +                                    Lower 24 bits contains the actual processor number.
> +                                    BIT24 indicates if the
> EXTENDED_PROCESSOR_INFORMATION will be retrived.
>    @param[out] ProcessorInfoBuffer   A pointer to the buffer where
> information for
>                                      the requested processor is deposited.
>    @param[out] HealthData            Return processor health data.
> @@ -108,13 +111,11 @@ MpInitLibGetProcessorInfo (
>      return EFI_NOT_FOUND;
>    }
> 
> -  ProcessorInfoBuffer->ProcessorId = 0;
> -  ProcessorInfoBuffer->StatusFlag  = PROCESSOR_AS_BSP_BIT  |
> -                                     PROCESSOR_ENABLED_BIT |
> -                                     PROCESSOR_HEALTH_STATUS_BIT;
> -  ProcessorInfoBuffer->Location.Package = 0;
> -  ProcessorInfoBuffer->Location.Core    = 0;
> -  ProcessorInfoBuffer->Location.Thread  = 0;
> +  ZeroMem (ProcessorInfoBuffer, sizeof (*ProcessorInfoBuffer));
> +  ProcessorInfoBuffer->StatusFlag = PROCESSOR_AS_BSP_BIT  |
> +                                    PROCESSOR_ENABLED_BIT |
> +                                    PROCESSOR_HEALTH_STATUS_BIT;
> +
>    if (HealthData != NULL) {
>      GuidHob = GetFirstGuidHob (&gEfiSecPlatformInformationPpiGuid);
>      if (GuidHob != NULL) {
> diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
> b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
> index 24ad29c03c..eb0a168f74 100644
> --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
> +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
> @@ -32,6 +32,7 @@
>    DebugLib
>    LocalApicLib
>    HobLib
> +  BaseMemoryLib
> 
>  [Ppis]
>    gEfiSecPlatformInformationPpiGuid  ## SOMETIMES_CONSUMES
> --
> 2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113433): https://edk2.groups.io/g/devel/message/113433
Mute This Topic: https://groups.io/mt/103592278/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 V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber
  2024-01-08  5:08 ` [edk2-devel] [Patch V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber duntan
@ 2024-01-09  9:00   ` Ni, Ray
  0 siblings, 0 replies; 8+ messages in thread
From: Ni, Ray @ 2024-01-09  9:00 UTC (permalink / raw)
  To: Tan, Dun, devel@edk2.groups.io
  Cc: Laszlo Ersek, Kumar, Rahul R, Gerd Hoffmann, Xu, Min M

Reviewed-by: Ray Ni <ray.ni@intel.com>

Thanks,
Ray
> -----Original Message-----
> From: Tan, Dun <dun.tan@intel.com>
> Sent: Monday, January 8, 2024 1:08 PM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>; Kumar,
> Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> Xu, Min M <min.m.xu@intel.com>
> Subject: [Patch V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber
> 
> Check lower 24 bits of ProcessorNumber instead of
> the value of ProcessorNumber in the API
> MpInitLibGetProcessorInfo() of MpInitLibUp instance.
> Lower 24 bits of ProcessorNumber contains the actual
> processor number.
> The BIT24 of input ProcessorNumber might be set to
> indicate if the EXTENDED_PROCESSOR_INFORMATION will
> be retrived.
> 
> Signed-off-by: Dun Tan <dun.tan@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Min Xu <min.m.xu@intel.com>
> ---
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> index d4f8611af8..35590fb4e7 100644
> --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
> @@ -107,7 +107,10 @@ MpInitLibGetProcessorInfo (
>      return EFI_INVALID_PARAMETER;
>    }
> 
> -  if (ProcessorNumber != 0) {
> +  //
> +  // Lower 24 bits contains the actual processor number.
> +  //
> +  if ((ProcessorNumber & (BIT24 - 1)) != 0) {
>      return EFI_NOT_FOUND;
>    }
> 
> --
> 2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113434): https://edk2.groups.io/g/devel/message/113434
Mute This Topic: https://groups.io/mt/103592279/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 V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp
  2024-01-08  5:08 [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp duntan
                   ` (2 preceding siblings ...)
  2024-01-08 12:22 ` [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp Laszlo Ersek
@ 2024-01-09 16:34 ` Laszlo Ersek
  2024-01-10  0:52   ` duntan
  3 siblings, 1 reply; 8+ messages in thread
From: Laszlo Ersek @ 2024-01-09 16:34 UTC (permalink / raw)
  To: devel, dun.tan

On 1/8/24 06:08, duntan wrote:
> Please ignore the V2 PATCH set. No other change except adding BaseMemoryLib headfile and lib instance in .inf to pass build since ZeroMem() is used. 
> 
> Comparing to the V1 patch set:
> In "set EXTENDED_PROCESSOR_INFORMATION to 0", set EXTENDED_PROCESSOR_INFORMATION to 0 in API MpInitLibGetProcessorInfo() of MpInitLibUp. This commit use ZeroMem() to set all fileds in output EFI_PROCESSOR_INFORMATION to 0 before StatusFlag field is reassigned.
> 
> In "Check lower 24 bits of ProcessorNumber", use BIT24 instead of CPU_V2_EXTENDED_TOPOLOGY to clearly tell that processor number only occupies the lower 24 bits.
> 
> Dun Tan (2):
>   UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
>   UefiCpuPkg: Check lower 24 bits of ProcessorNumber
> 
>  UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
>  UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 20 ++++++++++++--------
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
>  4 files changed, 17 insertions(+), 8 deletions(-)
> 

Merged as commit range f2b074398ca0..08a6528bac38, via
<https://github.com/tianocore/edk2/pull/5240> (first two commits in the PR).

BR
Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113483): https://edk2.groups.io/g/devel/message/113483
Mute This Topic: https://groups.io/mt/103592277/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 V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp
  2024-01-09 16:34 ` Laszlo Ersek
@ 2024-01-10  0:52   ` duntan
  0 siblings, 0 replies; 8+ messages in thread
From: duntan @ 2024-01-10  0:52 UTC (permalink / raw)
  To: Laszlo Ersek, devel@edk2.groups.io

Thank you so much!

Thanks,
Dun

-----Original Message-----
From: Laszlo Ersek <lersek@redhat.com> 
Sent: Wednesday, January 10, 2024 12:35 AM
To: devel@edk2.groups.io; Tan, Dun <dun.tan@intel.com>
Subject: Re: [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp

On 1/8/24 06:08, duntan wrote:
> Please ignore the V2 PATCH set. No other change except adding BaseMemoryLib headfile and lib instance in .inf to pass build since ZeroMem() is used. 
> 
> Comparing to the V1 patch set:
> In "set EXTENDED_PROCESSOR_INFORMATION to 0", set EXTENDED_PROCESSOR_INFORMATION to 0 in API MpInitLibGetProcessorInfo() of MpInitLibUp. This commit use ZeroMem() to set all fileds in output EFI_PROCESSOR_INFORMATION to 0 before StatusFlag field is reassigned.
> 
> In "Check lower 24 bits of ProcessorNumber", use BIT24 instead of CPU_V2_EXTENDED_TOPOLOGY to clearly tell that processor number only occupies the lower 24 bits.
> 
> Dun Tan (2):
>   UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0
>   UefiCpuPkg: Check lower 24 bits of ProcessorNumber
> 
>  UefiCpuPkg/Include/Library/MpInitLib.h         |  2 ++
>  UefiCpuPkg/Library/MpInitLib/MpLib.c           |  2 ++
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c   | 20 ++++++++++++--------
>  UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf |  1 +
>  4 files changed, 17 insertions(+), 8 deletions(-)
> 

Merged as commit range f2b074398ca0..08a6528bac38, via <https://github.com/tianocore/edk2/pull/5240> (first two commits in the PR).

BR
Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113498): https://edk2.groups.io/g/devel/message/113498
Mute This Topic: https://groups.io/mt/103592277/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-10  0:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-08  5:08 [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp duntan
2024-01-08  5:08 ` [edk2-devel] [Patch V3 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 duntan
2024-01-09  9:00   ` Ni, Ray
2024-01-08  5:08 ` [edk2-devel] [Patch V3 2/2] UefiCpuPkg: Check lower 24 bits of ProcessorNumber duntan
2024-01-09  9:00   ` Ni, Ray
2024-01-08 12:22 ` [edk2-devel] [Patch V3 0/2] Change the usage of input parameter ProcessorNumber in MpInitLibGetProcessorInfo() of MpInitLibUp Laszlo Ersek
2024-01-09 16:34 ` Laszlo Ersek
2024-01-10  0:52   ` duntan

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