From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id F22C5D80041 for ; Wed, 13 Sep 2023 04:27:34 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=3VRBjlc4aGrAvetSOVqcgh/Ki4dS7+N2Mnv7/UC7hpg=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1694579253; v=1; b=PyGdzvQanfOpcJTqTsXH7xyxX8ooQN6wZz9A3nbeKwmEkXezFBKQ4Gk+YPPyGv2/ZdOV0spL N+7F2dvBNBVTNGHw6Mn8ZwvbucxCTK8kaIbQcRuAi5j/a6jegSEfEegiueOudr9iN6XrIrpwYcB 9fygGi8eVUQyT+yrvMEpYb38= X-Received: by 127.0.0.2 with SMTP id amv4YY7687511xmnvyUQcwzC; Tue, 12 Sep 2023 21:27:33 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.4645.1694579216558329653 for ; Tue, 12 Sep 2023 21:27:33 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10831"; a="363595500" X-IronPort-AV: E=Sophos;i="6.02,142,1688454000"; d="scan'208";a="363595500" X-Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Sep 2023 21:27:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10831"; a="859093681" X-IronPort-AV: E=Sophos;i="6.02,142,1688454000"; d="scan'208";a="859093681" X-Received: from shwdeopenlab705.ccr.corp.intel.com ([10.239.55.100]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Sep 2023 21:27:31 -0700 From: "Yuanhao Xie" To: devel@edk2.groups.io Cc: Ray Ni , Eric Dong , Rahul Kumar , Gerd Hoffmann Subject: [edk2-devel] [PATCH 14/16] UefiCpuPkg/MtrrLib: Improve MtrrDebugPrintAllMtrrsWorker. Date: Wed, 13 Sep 2023 12:26:37 +0800 Message-Id: <20230913042639.2066-15-yuanhao.xie@intel.com> In-Reply-To: <20230913042639.2066-1-yuanhao.xie@intel.com> References: <20230913042639.2066-1-yuanhao.xie@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yuanhao.xie@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: mbdHD0K4PE1pKQwcmA9Szzmpx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=PyGdzvQa; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none) Improve MtrrDebugPrintAllMtrrsWorker by making use of MtrrGetMemoryAttributesInMtrrSettings. Signed-off-by: Ray Ni Cc: Eric Dong Cc: Rahul Kumar Cc: Gerd Hoffmann --- 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/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-