From nobody Sun May 12 23:14:42 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+111815+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+111815+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linux.microsoft.com ARC-Seal: i=1; a=rsa-sha256; t=1701191539; cv=none; d=zohomail.com; s=zohoarc; b=Gn/6kx5Dd3ky/mJHnOOztobcOhY5aj5c47oorFN4OB8I0htcke/nRmG8UygxluhoMUo47J8BY3mgcvNgNnKItdXhoL6/caHg0MaFREtGaCEBo9fmI1V4uM5qdkUCkdM0J/MboQzrQFbkHeM94IN0q8Y6CCOj0oSF+EWjQwJMhPk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1701191539; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=uoLW0kG2erTmMPXClhhXnN48IhstEHGcSGM+XCWHnqI=; b=MhJmkYuZlY7ICdN+lQ+W/4ljErKC57K5RyMjAaS9hsjc5msEM/d1XXdIaiWGRFq+t6RZSZkbsJ7ei/cM37/504CVBeBJGJ/41mw76S7MfejAX0phtrdat7bknMt0zyF6RGsTZMYw4oy2cU596P0/gVUksU60dSmgp4YGYgOG2X4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+111815+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1701191539378549.9921130407007; Tue, 28 Nov 2023 09:12:19 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=enaD/QV63RSkBIB6Kw39KlLp4agNixfavRg45ldcvUM=; c=relaxed/simple; d=groups.io; h=DKIM-Filter: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=1701191538; v=1; b=husmlRxhaRgFRiJQf9bNfe7TekFelyIFhLgHnhzw4SG8JqWS/QO2kichXa+FP7o4BsehGM1p 8TaXPoPI/AZw+ISo3BF+JpGZ11I+UmLJsSL5Ib/vUn0upjxzTDCduehS9EEohvlRsewv3YIDBwN Z3XFKeJVAlHerfl2TnpexxQs= X-Received: by 127.0.0.2 with SMTP id SI6oYY1788612x4cDMpF24wH; Tue, 28 Nov 2023 09:12:18 -0800 X-Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web11.39371.1701191538306934999 for ; Tue, 28 Nov 2023 09:12:18 -0800 X-Received: from localhost.localdomain (unknown [47.201.241.198]) by linux.microsoft.com (Postfix) with ESMTPSA id 529C320B74C0; Tue, 28 Nov 2023 09:12:17 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 529C320B74C0 From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sami Mujawar Subject: [edk2-devel] [PATCH v2 1/1] ArmPkg/Drivers/CpuDxe: Use lower and upper attributes Date: Tue, 28 Nov 2023 12:11:53 -0500 Message-ID: <20231128171154.1349-2-mikuback@linux.microsoft.com> In-Reply-To: <20231128171154.1349-1-mikuback@linux.microsoft.com> References: <20231128171154.1349-1-mikuback@linux.microsoft.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,mikuback@linux.microsoft.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: etXonhdoW9UxAGxF7I4vkmCWx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1701191540384000007 Content-Type: text/plain; charset="utf-8" From: Michael Kubacki GetNextEntryAttribute() is currently applying a 64-bit mask (TT_ATTRIBUTES_MASK) to a 32-bit descriptor value (EntryType). The original descriptor was 64 bits containing the upper and lower attributes which are included in TT_ATTRIBUTES_MASK. The PrevEntryAttribute parameter is also a UINT32, but passed to PageAttributeToGcdAttribute() for a UINT64 parameter where the function checks masks in the upper 32 bits of the integer value: PageAttributeToGcdAttribute (*PrevEntryAttribute) ... STATIC UINT64 PageAttributeToGcdAttribute ( IN UINT64 PageAttributes ) ... if ((PageAttributes & (TT_PXN_MASK | TT_UXN_MASK)) !=3D 0) { GcdAttributes |=3D EFI_MEMORY_XP; } ... #define TT_PXN_MASK BIT53 #define TT_UXN_MASK BIT54 // EL1&0 This change removes UINT32 intermediary values. For EntryType, eliminating an unncessary cast. For EntryAttribute, preserving the upper and lower attributes for evaluation in PageAttributeToGcdAttribute(). This also resolves the following compiler warning previously present on Visual Studio for the assignment to the previously 32-bit local variables. '=3D': conversion from 'UINT64' to 'UINT32', possible loss of data Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sami Mujawar Signed-off-by: Michael Kubacki Reviewed-by: Ard Biesheuvel --- ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c b/ArmPkg/Drivers/CpuDxe/AA= rch64/Mmu.c index e14eb47ce4c6..ff14c2f814b2 100644 --- a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c +++ b/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c @@ -13,7 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include "CpuDxe.h" =20 -#define INVALID_ENTRY ((UINT32)~0) +#define INVALID_ENTRY ((UINT64)~0) =20 #define MIN_T0SZ 16 #define BITS_PER_LEVEL 9 @@ -169,14 +169,14 @@ GetNextEntryAttribute ( IN UINTN EntryCount, IN UINTN TableLevel, IN UINT64 BaseAddress, - IN OUT UINT32 *PrevEntryAttribute, + IN OUT UINT64 *PrevEntryAttribute, IN OUT UINT64 *StartGcdRegion ) { UINTN Index; UINT64 Entry; - UINT32 EntryAttribute; - UINT32 EntryType; + UINT64 EntryAttribute; + UINT64 EntryType; EFI_STATUS Status; UINTN NumberOfDescriptors; EFI_GCD_MEMORY_SPACE_DESCRIPTOR *MemorySpaceMap; @@ -271,7 +271,7 @@ SyncCacheConfig ( ) { EFI_STATUS Status; - UINT32 PageAttribute; + UINT64 PageAttribute; UINT64 *FirstLevelTableAddress; UINTN TableLevel; UINTN TableCount; --=20 2.42.0.windows.2 -=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 (#111815): https://edk2.groups.io/g/devel/message/111815 Mute This Topic: https://groups.io/mt/102854549/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-