From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.92.23.18]) by mx.groups.io with SMTP id smtpd.web10.6906.1603145000699220263 for ; Mon, 19 Oct 2020 15:03:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@outlook.com header.s=selector1 header.b=rCdooBaQ; spf=pass (domain: outlook.com, ip: 40.92.23.18, mailfrom: michael.kubacki@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CQhBG6bXeJABsZeaVcdjEdWf0RiGs4953kj1yGeAYxIFthQ70msrZQVWbyB6yl8zCz9uiNs009skb2HS0/ceIGnJWZWl/MpVb4jE7BjFBXUbyKrXKRbSEE1wUpUjQocv48ZzUMm3iXtK/l8MvlGgh8vyCGg/yKikoQPrxN1D8qocSlV1fExz2425y5kGpwKP5Ldzp+TF8WdH5FFayUZuucW2qXd2/Z6HumELKZ4PPC1SsFJCyv4SZZCN2lmb64HCHr8/B7xkbNhQdRZInBtZBPVU+tuTjeVsNqq6bGenmKytORRp3gPvwifxjwvbJEsT9i/6JsJPNdEKuu7UINndgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Y7sglwDlniRG7Lb4irL1X0DO3LUuBEO6ePmgmSDbNs=; b=VY7mZdPfu2rPJcBthn1QK2D7HvoG2jvU2EJs9C56FuILndtYoSD587lfIfXZmClUBBBmIc8S584HiGnxmk1Z9gTeQJDQ1mPOCHhFGAopnmn5SaUqi11Hwg8hzAvtKxz9OmQysdwUrcCkKgGI5S21QA6ekOO+K/7/QvwXuBULG7ssPDUFr1Gdu+Ydrwa89BiosjckmwZ1KkSb+7lTuiVaKTIcaq4BBInaHaMT+L/BMobMUR/WsrOy3KjZ3LX+a1Uq1FmfwGrgMwTEsrKXL0S5LR/px67vdAlBDUYsrzPLdyfbY2HpHf+PNRpMp9zFdzzTM2tNWXl2/HdxKPWJf8IPQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Y7sglwDlniRG7Lb4irL1X0DO3LUuBEO6ePmgmSDbNs=; b=rCdooBaQtVgKbGLdgetepXn5Hu82KpRmAheLjM1PWNfye6ywytadKz8NJYhUFG/ImDKhEo+7SlWlxDCZjE2KWO1hM70npO/vHmT+bnMqNf+fmj/rWkea1iBzYR6ETOKQz0/MqDcdzrk6RNJxd4Uzhc9z6qtclvJ7lDiv4Wf/a6ekVeHJVGgnjlnkLw7G2HxRUcBNEJl3cJX6Su6gb4psG1/nSYtPMrtNetVIOMXS3HgZsKnOGCy2M7Ktug3LWoNQLw6WE+vQ+NJI5WKlDX3kSy9y5qAmrJg+s/+Bq8rrXWjPITq4B2B2mXwtN+feKPHf4pGiPE8Q1OtI9vuN0gnA5Q== Received: from MW2NAM12FT023.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::46) by MW2NAM12HT228.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::275) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.7; Mon, 19 Oct 2020 22:03:19 +0000 Received: from MWHPR07MB3440.namprd07.prod.outlook.com (2a01:111:e400:fc65::42) by MW2NAM12FT023.mail.protection.outlook.com (2a01:111:e400:fc65::90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.7 via Frontend Transport; Mon, 19 Oct 2020 22:03:19 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:088B259119EF10C1C1CF7A7C73923087DAF907AE0620E4D81446EEA1551A371F;UpperCasedChecksum:D883331BF60C8D8C7647343B9F54C8D7D24886312A50B0D23DFA5228DC492058;SizeAsReceived:7460;Count:45 Received: from MWHPR07MB3440.namprd07.prod.outlook.com ([fe80::858f:bd50:1b65:e803]) by MWHPR07MB3440.namprd07.prod.outlook.com ([fe80::858f:bd50:1b65:e803%7]) with mapi id 15.20.3477.028; Mon, 19 Oct 2020 22:03:19 +0000 From: "Michael Kubacki" To: devel@edk2.groups.io CC: Ard Biesheuvel , Leif Lindholm Subject: [PATCH v1 1/1] ArmPkg/ArmMmuLib: Explicitly cast UINT32 data conversions Date: Mon, 19 Oct 2020 15:02:50 -0700 Message-ID: X-Mailer: git-send-email 2.28.0.windows.1 X-TMN: [W1WHNUs8ewdZnrC3bB7x4noWcz5HWeBXeBMRg+iFSdJpMIOZPSjd/BlYFiqkN+Xt] X-ClientProxiedBy: MWHPR1201CA0007.namprd12.prod.outlook.com (2603:10b6:301:4a::17) To MWHPR07MB3440.namprd07.prod.outlook.com (2603:10b6:301:69::28) Return-Path: michael.kubacki@outlook.com X-Microsoft-Original-Message-ID: <20201019220250.1670-1-michael.kubacki@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (2001:4898:80e8:b:b44b:74c:9537:39cc) by MWHPR1201CA0007.namprd12.prod.outlook.com (2603:10b6:301:4a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.23 via Frontend Transport; Mon, 19 Oct 2020 22:03:18 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 45 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 939f7ac0-cb4b-4d9e-b784-08d8747ac98e X-MS-TrafficTypeDiagnostic: MW2NAM12HT228: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8LK42qOpulMIzhFEswnx+mrnxzaVS+Jdvubfn9XU70rLbV9V17csiRTlQa9hNP0wo/SnyqRYXlJ7FrfHyMcOfCXycDEtc+yv81zTBjyvvSuxmwpPla1hrUwouvu5C51qOOoYFFyMAybUhcakvn2oWBR8DDLU+u5hFEmAHUPp+Pqnlom1gqfretI8k+DlkIDQUVnFhRZIlc2YC4/EoJx0kQdC458E7aV+wUrVwHiBBtKAQ+TUiDYgJKvB2fHuQYMv X-MS-Exchange-AntiSpam-MessageData: FKw/kxDMc6zCiwkucV0QZC/8g3MPxx985d7XJEP3OrXgL9uQTywHgMM34iqw3jR2BGHSem+aD/iZqUfw0xYGJMfclNkEtMvxSheYXYcePezi8Sf7fhVSdww1YIHfhG5eaPuiom8Tjeb8cOkfxMLyQ2YRkAK5/gzcDDy0USsQi3i24Qeji1UA7yOUKQ5fSALA1MIsqfaBUPSIsYaZTOZ9jw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 939f7ac0-cb4b-4d9e-b784-08d8747ac98e X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2020 22:03:19.1589 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT023.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2NAM12HT228 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Michael Kubacki REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D2835 There's several occurrences of a UINT64 or an EFI_PHYSICAL_ADDRESS being assigned to a UINT32 value in ArmMmuLib. These result in warning C4244 in VS2019: warning C4244: '=3D': conversion from 'UINT64' to 'UINT32', possible loss of data warning C4244: '=3D': conversion from 'EFI_PHYSICAL_ADDRESS' to 'UINT32', possible loss of data This change explicitly casts the values to UINT32. These can be reproduced with the following build command: build -b DEBUG -a ARM -t VS2019 -p ArmPkg/ArmPkg.dsc -m ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf Cc: Ard Biesheuvel Cc: Leif Lindholm Signed-off-by: Michael Kubacki --- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 4 ++-- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c b/ArmPkg/Library/= ArmMmuLib/Arm/ArmMmuLibCore.c index 15e836e75e8e..fb40925c9a2c 100644 --- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c +++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c @@ -225,7 +225,7 @@ FillTranslationTable ( return; } =20 - PhysicalBase =3D MemoryRegion->PhysicalBase; + PhysicalBase =3D (UINT32) MemoryRegion->PhysicalBase; RemainLength =3D MIN(MemoryRegion->Length, SIZE_4GB - PhysicalBase); =20 switch (MemoryRegion->Attributes) { @@ -291,7 +291,7 @@ FillTranslationTable ( PhysicalBase +=3D TT_DESCRIPTOR_SECTION_SIZE; RemainLength -=3D TT_DESCRIPTOR_SECTION_SIZE; } else { - PageMapLength =3D MIN (RemainLength, TT_DESCRIPTOR_SECTION_SIZE - + PageMapLength =3D MIN ((UINT32) RemainLength, TT_DESCRIPTOR_SECTION_= SIZE - (PhysicalBase % TT_DESCRIPTOR_SEC= TION_SIZE)); =20 // Case: Physical address aligned on the Section Size (1MB) && the l= ength diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c b/ArmPkg/Librar= y/ArmMmuLib/Arm/ArmMmuLibUpdate.c index 1ec734deab18..45039c852585 100644 --- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c +++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c @@ -152,7 +152,7 @@ UpdatePageEntries ( FirstLevelTable =3D (ARM_FIRST_LEVEL_DESCRIPTOR *)ArmGetTTBR0BaseAddress= (); =20 // Calculate number of 4KB page table entries to change - NumPageEntries =3D Length / TT_DESCRIPTOR_PAGE_SIZE; + NumPageEntries =3D (UINT32) (Length / TT_DESCRIPTOR_PAGE_SIZE); =20 // Iterate for the number of 4KB pages to change Offset =3D 0; @@ -288,7 +288,7 @@ UpdateSectionEntries ( ASSERT (FirstLevelIdx < TRANSLATION_TABLE_SECTION_COUNT); =20 // calculate number of 1MB first level entries this applies to - NumSections =3D Length / TT_DESCRIPTOR_SECTION_SIZE; + NumSections =3D (UINT32) (Length / TT_DESCRIPTOR_SECTION_SIZE); =20 // iterate through each descriptor for(i=3D0; i