Improve MtrrDebugPrintAllMtrrsWorker by making use of
MtrrGetMemoryAttributesInMtrrSettings.

Signed-off-by: Ray Ni <ray...@intel.com>
Cc: Eric Dong <eric.d...@intel.com>
Cc: Rahul Kumar <rahul1.ku...@intel.com>
Cc: Gerd Hoffmann <kra...@redhat.com>
---
 UefiCpuPkg/Library/MtrrLib/MtrrLib.c | 45 
++++++++++-----------------------------------
 1 file changed, 10 insertions(+), 35 deletions(-)

diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c 
b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
index 61c81c5139..26422204c4 100644
--- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
+++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c
@@ -3068,24 +3068,15 @@ MtrrDebugPrintAllMtrrsWorker (
   )
 {
   DEBUG_CODE_BEGIN ();
+  UINT32             Index;
   MTRR_SETTINGS      LocalMtrrs;
   MTRR_SETTINGS      *Mtrrs;
-  UINTN              Index;
+  RETURN_STATUS      Status;
   UINTN              RangeCount;
-  UINT64             MtrrValidBitsMask;
-  UINT64             MtrrValidAddressMask;
-  UINT32             VariableMtrrCount;
   BOOLEAN            ContainVariableMtrr;
   MTRR_MEMORY_RANGE  Ranges[
                             ARRAY_SIZE (mMtrrLibFixedMtrrTable) * sizeof 
(UINT64) + 2 * ARRAY_SIZE (Mtrrs->Variables.Mtrr) + 1
   ];
-  MTRR_MEMORY_RANGE  RawVariableRanges[ARRAY_SIZE (Mtrrs->Variables.Mtrr)];
-
-  if (!IsMtrrSupported ()) {
-    return;
-  }
-
-  VariableMtrrCount = GetVariableMtrrCountWorker ();
 
   if (MtrrSetting != NULL) {
     Mtrrs = MtrrSetting;
@@ -3094,6 +3085,13 @@ MtrrDebugPrintAllMtrrsWorker (
     Mtrrs = &LocalMtrrs;
   }
 
+  RangeCount = ARRAY_SIZE (Ranges);
+  Status     = MtrrGetMemoryAttributesInMtrrSettings (Mtrrs, Ranges, 
&RangeCount);
+  if (RETURN_ERROR (Status)) {
+    DEBUG ((DEBUG_CACHE, "MTRR is not enabled.\n"));
+    return;
+  }
+
   //
   // Dump RAW MTRR contents
   //
@@ -3105,7 +3103,7 @@ MtrrDebugPrintAllMtrrsWorker (
   }
 
   ContainVariableMtrr = FALSE;
-  for (Index = 0; Index < VariableMtrrCount; Index++) {
+  for (Index = 0; Index < ARRAY_SIZE (Mtrrs->Variables.Mtrr); Index++) {
     if ((Mtrrs->Variables.Mtrr[Index].Mask & BIT11) == 0) {
       //
       // If mask is not valid, then do not display range
@@ -3134,29 +3132,6 @@ MtrrDebugPrintAllMtrrsWorker (
   //
   DEBUG ((DEBUG_CACHE, "Memory Ranges:\n"));
   DEBUG ((DEBUG_CACHE, "====================================\n"));
-  MtrrLibInitializeMtrrMask (&MtrrValidBitsMask, &MtrrValidAddressMask);
-  Ranges[0].BaseAddress = 0;
-  Ranges[0].Length      = MtrrValidBitsMask + 1;
-  Ranges[0].Type        = MtrrGetDefaultMemoryTypeWorker (Mtrrs);
-  RangeCount            = 1;
-
-  MtrrLibGetRawVariableRanges (
-    &Mtrrs->Variables,
-    VariableMtrrCount,
-    MtrrValidBitsMask,
-    MtrrValidAddressMask,
-    RawVariableRanges
-    );
-  MtrrLibApplyVariableMtrrs (
-    RawVariableRanges,
-    VariableMtrrCount,
-    Ranges,
-    ARRAY_SIZE (Ranges),
-    &RangeCount
-    );
-
-  MtrrLibApplyFixedMtrrs (&Mtrrs->Fixed, Ranges, ARRAY_SIZE (Ranges), 
&RangeCount);
-
   for (Index = 0; Index < RangeCount; Index++) {
     DEBUG ((
       DEBUG_CACHE,
-- 
2.36.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108570): https://edk2.groups.io/g/devel/message/108570
Mute This Topic: https://groups.io/mt/101331033/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to