[PATCH v2 6/6] UefiCpuPkg/MtrrLib: use new IS_POW2() macro.


Gerd Hoffmann
 

Drop MtrrLibIsPowerOfTwo function, use the new IS_POW2() macro instead.

The ASSERT() removed (inside MtrrLibIsPowerOfTwo) is superfluous,
another ASSERT() a few lines up in MtrrLibCalculateMtrrs() already
guarantees that Length can not be zero at this point.

Signed-off-by: Gerd Hoffmann <kraxel@...>
---
UefiCpuPkg/Library/MtrrLib/MtrrLib.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
index e5c862c83d61..dd0b668d7782 100644
--- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
+++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
@@ -1253,21 +1253,6 @@ MtrrLibLowestType (
return (MTRR_MEMORY_CACHE_TYPE)Type;
}

-/**
- Return TRUE when the Operand is exactly power of 2.
-
- @retval TRUE Operand is exactly power of 2.
- @retval FALSE Operand is not power of 2.
-**/
-BOOLEAN
-MtrrLibIsPowerOfTwo (
- IN UINT64 Operand
- )
-{
- ASSERT (Operand != 0);
- return (BOOLEAN)((Operand & (Operand - 1)) == 0);
-}
-
/**
Calculate the subtractive path from vertex Start to Stop.

@@ -1638,7 +1623,7 @@ MtrrLibCalculateMtrrs (
break;
}

- if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && MtrrLibIsPowerOfTwo (Length)) {
+ if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && IS_POW2 (Length)) {
if (MtrrLibGetNumberOfTypes (
Ranges,
RangeCount,
--
2.39.2


Ni, Ray
 

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

thanks,
ray


From: Gerd Hoffmann <kraxel@...>
Sent: Wednesday, March 22, 2023 3:02:43 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Kinney, Michael D <michael.d.kinney@...>; Aktas, Erdem <erdemaktas@...>; James Bottomley <jejb@...>; Gao, Liming <gaoliming@...>; Marvin Häuser <mhaeuser@...>; Pawel Polawski <ppolawsk@...>; Michael Roth <michael.roth@...>; Tom Lendacky <thomas.lendacky@...>; Gerd Hoffmann <kraxel@...>; Yao, Jiewen <jiewen.yao@...>; Wang, Jian J <jian.j.wang@...>; Ard Biesheuvel <ardb+tianocore@...>; Justen, Jordan L <jordan.l.justen@...>; Wu, Hao A <hao.a.wu@...>; Liu, Zhiguang <zhiguang.liu@...>; Ni, Ray <ray.ni@...>; Xu, Min M <min.m.xu@...>; Oliver Steffen <osteffen@...>
Subject: [PATCH v2 6/6] UefiCpuPkg/MtrrLib: use new IS_POW2() macro.
 
Drop MtrrLibIsPowerOfTwo function, use the new IS_POW2() macro instead.

The ASSERT() removed (inside MtrrLibIsPowerOfTwo) is superfluous,
another ASSERT() a few lines up in MtrrLibCalculateMtrrs() already
guarantees that Length can not be zero at this point.

Signed-off-by: Gerd Hoffmann <kraxel@...>
---
 UefiCpuPkg/Library/MtrrLib/MtrrLib.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
index e5c862c83d61..dd0b668d7782 100644
--- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
+++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
@@ -1253,21 +1253,6 @@ MtrrLibLowestType (
   return (MTRR_MEMORY_CACHE_TYPE)Type;
 }
 
-/**
-  Return TRUE when the Operand is exactly power of 2.
-
-  @retval TRUE  Operand is exactly power of 2.
-  @retval FALSE Operand is not power of 2.
-**/
-BOOLEAN
-MtrrLibIsPowerOfTwo (
-  IN     UINT64  Operand
-  )
-{
-  ASSERT (Operand != 0);
-  return (BOOLEAN)((Operand & (Operand - 1)) == 0);
-}
-
 /**
   Calculate the subtractive path from vertex Start to Stop.
 
@@ -1638,7 +1623,7 @@ MtrrLibCalculateMtrrs (
           break;
         }
 
-        if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && MtrrLibIsPowerOfTwo (Length)) {
+        if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && IS_POW2 (Length)) {
           if (MtrrLibGetNumberOfTypes (
                 Ranges,
                 RangeCount,
--
2.39.2


Michael D Kinney
 

Reviewed-by: Michael D Kinney <michael.d.kinney@...>

Mike

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Gerd Hoffmann
Sent: Wednesday, March 22, 2023 12:03 AM
To: devel@edk2.groups.io
Cc: Kinney, Michael D <michael.d.kinney@...>; Aktas, Erdem <erdemaktas@...>; James Bottomley <jejb@...>;
Gao, Liming <gaoliming@...>; Marvin Häuser <mhaeuser@...>; Pawel Polawski <ppolawsk@...>; Michael Roth
<michael.roth@...>; Tom Lendacky <thomas.lendacky@...>; Gerd Hoffmann <kraxel@...>; Yao, Jiewen
<jiewen.yao@...>; Wang, Jian J <jian.j.wang@...>; Ard Biesheuvel <ardb+tianocore@...>; Justen, Jordan L
<jordan.l.justen@...>; Wu, Hao A <hao.a.wu@...>; Liu, Zhiguang <zhiguang.liu@...>; Ni, Ray <ray.ni@...>;
Xu, Min M <min.m.xu@...>; Oliver Steffen <osteffen@...>
Subject: [edk2-devel] [PATCH v2 6/6] UefiCpuPkg/MtrrLib: use new IS_POW2() macro.

Drop MtrrLibIsPowerOfTwo function, use the new IS_POW2() macro instead.

The ASSERT() removed (inside MtrrLibIsPowerOfTwo) is superfluous,
another ASSERT() a few lines up in MtrrLibCalculateMtrrs() already
guarantees that Length can not be zero at this point.

Signed-off-by: Gerd Hoffmann <kraxel@...>
---
UefiCpuPkg/Library/MtrrLib/MtrrLib.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
index e5c862c83d61..dd0b668d7782 100644
--- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
+++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
@@ -1253,21 +1253,6 @@ MtrrLibLowestType (
return (MTRR_MEMORY_CACHE_TYPE)Type;
}

-/**
- Return TRUE when the Operand is exactly power of 2.
-
- @retval TRUE Operand is exactly power of 2.
- @retval FALSE Operand is not power of 2.
-**/
-BOOLEAN
-MtrrLibIsPowerOfTwo (
- IN UINT64 Operand
- )
-{
- ASSERT (Operand != 0);
- return (BOOLEAN)((Operand & (Operand - 1)) == 0);
-}
-
/**
Calculate the subtractive path from vertex Start to Stop.

@@ -1638,7 +1623,7 @@ MtrrLibCalculateMtrrs (
break;
}

- if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && MtrrLibIsPowerOfTwo (Length)) {
+ if ((Weight[M (Start, Stop)] == MAX_WEIGHT) && IS_POW2 (Length)) {
if (MtrrLibGetNumberOfTypes (
Ranges,
RangeCount,
--
2.39.2