From nobody Sun Feb 8 12:38:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+45123+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+45123+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1565244894; cv=none; d=zoho.com; s=zohoarc; b=UVKcIppgce60MOAtzS+k2CauxUsYmg+iqC1l5h+vdhOICBX4jn/S/X9FICl98wCZogHew1zjfCioRzqd99DN6xO4p/StyoQD3ZkZe7aaYUj1kSP5e8JStCQ53sppp0ZmmQT1frf1b4MQUHYDa981SDXHULNfROrMCB05SwHy1lI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1565244894; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=yFllEV3uheEopeKG0Eg08fiwXJSUB1uRQSEYZZLqO8E=; b=ZI5RjMX7NfILxI7BTz5oIqTyWIGSJG3WHEiiOQw6MeX7LEuFFQRO9ZJkQb5mZMmkjLkkkaGsPBdEpBkEpBC8bYBJaii1HGYxTUE3t5NQgXzAr6NQKdeIAsqeIl9QNPU51OTz7kYPU0KPTETZCWvZvuHUoGN74Dm0nj2GnKDluAs= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+45123+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1565244894880859.4661254987409; Wed, 7 Aug 2019 23:14:54 -0700 (PDT) Return-Path: X-Received: from mga14.intel.com (mga14.intel.com []) by groups.io with SMTP; Wed, 07 Aug 2019 23:14:54 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Aug 2019 23:14:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,360,1559545200"; d="scan'208";a="198921251" X-Received: from ydong10-win10.ccr.corp.intel.com ([10.239.158.133]) by fmsmga004.fm.intel.com with ESMTP; 07 Aug 2019 23:14:52 -0700 From: "Dong, Eric" To: devel@edk2.groups.io Cc: "Ni, Ray" , Jiewen Yao , Laszlo Ersek Subject: [edk2-devel] [Patch v5 3/9] UefiCpuPkg/CpuDxe: Remove unnecessary macros Date: Thu, 8 Aug 2019 14:14:42 +0800 Message-Id: <20190808061448.14684-4-eric.dong@intel.com> In-Reply-To: <20190808061448.14684-1-eric.dong@intel.com> References: <20190808061448.14684-1-eric.dong@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: 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,eric.dong@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1565244894; bh=DPWaqoTMFUnx1PS+AWRvlu8hwT9gOPbl03LFDjEMtvE=; h=Cc:Date:From:Reply-To:Subject:To; b=qkh3kFOFSzX+TeDoeDK+drmtO2jZNwMYXzNSqNDv0QaBJbDuQLnO/mSJWg6qANVix5J 5CyMzA0d6oKB07eRrVN6MBwBtFQMIpXtjZqpqdkPHvbGvaaD5Ji/1eifcghj+PurJb78E IftSJ+gN1pkOw/2Gf32zyCv38hvZSSEKBFA= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: "Ni, Ray" Today's code defines macros like CR0_PG, CR0_WP, CR4_PSE, CR4_PAE when checking whether individual bits are set in CR0 or CR4 register. The patch changes the code to use IA32_CR0 and IA32_CR4 structure defined in MdePkg/Include/Library/BaseLib.h so that the module local macros can be removed. There is no functionality impact to this change. Signed-off-by: Ray Ni Cc: Jiewen Yao Reviewed-by: Eric Dong Regression-tested-by: Laszlo Ersek Signed-off-by: Eric Dong --- UefiCpuPkg/CpuDxe/CpuPageTable.c | 43 ++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/UefiCpuPkg/CpuDxe/CpuPageTable.c b/UefiCpuPkg/CpuDxe/CpuPageTa= ble.c index c369b44f12..16a2528b55 100644 --- a/UefiCpuPkg/CpuDxe/CpuPageTable.c +++ b/UefiCpuPkg/CpuDxe/CpuPageTable.c @@ -1,7 +1,7 @@ /** @file Page table management support. =20 - Copyright (c) 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
Copyright (c) 2017, AMD Incorporated. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent @@ -21,14 +21,6 @@ #include "CpuDxe.h" #include "CpuPageTable.h" =20 -/// -/// Paging registers -/// -#define CR0_WP BIT16 -#define CR0_PG BIT31 -#define CR4_PSE BIT4 -#define CR4_PAE BIT5 - /// /// Page Table Entry /// @@ -161,6 +153,8 @@ GetCurrentPagingContext ( UINT32 RegEax; CPUID_EXTENDED_CPU_SIG_EDX RegEdx; MSR_IA32_EFER_REGISTER MsrEfer; + IA32_CR4 Cr4; + IA32_CR0 Cr0; =20 // // Don't retrieve current paging context from processor if in SMM mode. @@ -172,21 +166,24 @@ GetCurrentPagingContext ( } else { mPagingContext.MachineType =3D IMAGE_FILE_MACHINE_I386; } - if ((AsmReadCr0 () & CR0_PG) !=3D 0) { + + Cr0.UintN =3D AsmReadCr0 (); + Cr4.UintN =3D AsmReadCr4 (); + + if (Cr0.Bits.PG !=3D 0) { mPagingContext.ContextData.X64.PageTableBase =3D (AsmReadCr3 () & PA= GING_4K_ADDRESS_MASK_64); } else { mPagingContext.ContextData.X64.PageTableBase =3D 0; } - - if ((AsmReadCr4 () & CR4_PSE) !=3D 0) { + if (Cr0.Bits.WP !=3D 0) { + mPagingContext.ContextData.Ia32.Attributes |=3D PAGE_TABLE_LIB_PAGIN= G_CONTEXT_IA32_X64_ATTRIBUTES_WP_ENABLE; + } + if (Cr4.Bits.PSE !=3D 0) { mPagingContext.ContextData.Ia32.Attributes |=3D PAGE_TABLE_LIB_PAGIN= G_CONTEXT_IA32_X64_ATTRIBUTES_PSE; } - if ((AsmReadCr4 () & CR4_PAE) !=3D 0) { + if (Cr4.Bits.PAE !=3D 0) { mPagingContext.ContextData.Ia32.Attributes |=3D PAGE_TABLE_LIB_PAGIN= G_CONTEXT_IA32_X64_ATTRIBUTES_PAE; } - if ((AsmReadCr0 () & CR0_WP) !=3D 0) { - mPagingContext.ContextData.Ia32.Attributes |=3D PAGE_TABLE_LIB_PAGIN= G_CONTEXT_IA32_X64_ATTRIBUTES_WP_ENABLE; - } =20 AsmCpuid (CPUID_EXTENDED_FUNCTION, &RegEax, NULL, NULL, NULL); if (RegEax >=3D CPUID_EXTENDED_CPU_SIG) { @@ -581,12 +578,14 @@ IsReadOnlyPageWriteProtected ( VOID ) { + IA32_CR0 Cr0; // // To avoid unforseen consequences, don't touch paging settings in SMM m= ode // in this driver. // if (!IsInSmm ()) { - return ((AsmReadCr0 () & CR0_WP) !=3D 0); + Cr0.UintN =3D AsmReadCr0 (); + return (BOOLEAN) (Cr0.Bits.WP !=3D 0); } return FALSE; } @@ -599,12 +598,15 @@ DisableReadOnlyPageWriteProtect ( VOID ) { + IA32_CR0 Cr0; // // To avoid unforseen consequences, don't touch paging settings in SMM m= ode // in this driver. // if (!IsInSmm ()) { - AsmWriteCr0 (AsmReadCr0 () & ~CR0_WP); + Cr0.UintN =3D AsmReadCr0 (); + Cr0.Bits.WP =3D 0; + AsmWriteCr0 (Cr0.UintN); } } =20 @@ -616,12 +618,15 @@ EnableReadOnlyPageWriteProtect ( VOID ) { + IA32_CR0 Cr0; // // To avoid unforseen consequences, don't touch paging settings in SMM m= ode // in this driver. // if (!IsInSmm ()) { - AsmWriteCr0 (AsmReadCr0 () | CR0_WP); + Cr0.UintN =3D AsmReadCr0 (); + Cr0.Bits.WP =3D 1; + AsmWriteCr0 (Cr0.UintN); } } =20 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#45123): https://edk2.groups.io/g/devel/message/45123 Mute This Topic: https://groups.io/mt/32796006/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-