From nobody Fri Oct 18 08:38:31 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+101930+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+101930+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1679914911; cv=none; d=zohomail.com; s=zohoarc; b=kWtPnRuW0i+MM9U0DQBoWCn1qg00e3tt3mRo+vvCZySw55YJ7iumFHSI+wU9k4/FVG7MOSNdG/DPHkzUscStbKI/SuVzXIcyoWhag9YW8JTlSDZwJRF11T/IzevmaAblcyJ1ZU26uVTjFXAzqbQLAgDUA1dZkZrAZV0P9APoTuk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679914911; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=mc7Py0ZGyC3vl/j4H5L3hfvy+dmlUbua6WdxTB55htc=; b=K7vL1Vb0D59XYieQ1TPIjtqI62c5NlVfXXo83IETSZcB4awVIffXwnnBnHvo6gf8DkWfbV67LCnWGWgB4g2fm4h1Pq0ggsil6lom7OKdPr4LoOd0SRVAzCEMHi6v+87KU1wg4Cao3q4Yu7MFf9PJ5dX/rIMz8w573fll6jIhcUg= 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+101930+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 1679914911715243.86607274016183; Mon, 27 Mar 2023 04:01:51 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id RA2bYY1788612xkzQL4ahQIS; Mon, 27 Mar 2023 04:01:51 -0700 X-Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web10.31890.1679914910783170318 for ; Mon, 27 Mar 2023 04:01:50 -0700 X-Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4E749611B1; Mon, 27 Mar 2023 11:01:50 +0000 (UTC) X-Received: by smtp.kernel.org (Postfix) with ESMTPSA id 38D4FC433A1; Mon, 27 Mar 2023 11:01:47 +0000 (UTC) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Michael Kinney , Liming Gao , Jiewen Yao , Michael Kubacki , Sean Brogan , Rebecca Cran , Leif Lindholm , Sami Mujawar , Taylor Beebe , =?UTF-8?q?Marvin=20H=C3=A4user?= , Bob Feng Subject: [edk2-devel] [PATCH v2 06/17] MdePkg/BaseMemoryLibOptDxe AARCH64: Make asm files BTI compatible Date: Mon, 27 Mar 2023 13:01:01 +0200 Message-Id: <20230327110112.262503-7-ardb@kernel.org> In-Reply-To: <20230327110112.262503-1-ardb@kernel.org> References: <20230327110112.262503-1-ardb@kernel.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: 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,ardb@kernel.org X-Gm-Message-State: i7ymwcmAktDPh9JNAf0hU9GGx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679914911; bh=DvFJTBXb7ZOBqhhnKd3X54fNnAZlst9rNnuZRe5zFPc=; h=Cc:Date:From:Reply-To:Subject:To; b=A7B6QGlke+duL/SP9IsH5o/UJdgwEcqq6swl/BPI60PHsP9uwU06pmRziqDfSUi/5yD lIA7We/KtQ+XvJ1WGCFQxaSPFiqyvAiWxLHC7UuZsxZD/4GLXmoDBlOoDwaxXJ0JAIoT3 wWACOl/t/U6sbl7AkMRk8NGq/loEekc86zs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679914913214100017 Content-Type: text/plain; charset="utf-8" Add the BTI instructions and the associated note to make the AArch64 asm objects compatible with BTI enforcement. Signed-off-by: Ard Biesheuvel --- MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S | 1 + MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S | 1 + MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S | 1 + MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S | 1 + MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S | 5 +++++ 5 files changed, 9 insertions(+) diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S b/Mde= Pkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S index b7a566fdafacc8a6..7f058e94b3b7023a 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S @@ -8,6 +8,7 @@ .align 5 ASM_GLOBAL ASM_PFX(InternalMemCompareGuid) ASM_PFX(InternalMemCompareGuid): + AARCH64_BTI(c) mov x2, xzr ldp x3, x4, [x0] cbz x1, 0f diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S b/MdeP= kg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S index ffe4b7a0b058cc85..707e06b0505a19cd 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S @@ -32,6 +32,7 @@ .p2align 6 ASM_GLOBAL ASM_PFX(InternalMemCompareMem) ASM_PFX(InternalMemCompareMem): + AARCH64_BTI(c) eor tmp1, src1, src2 tst tmp1, #7 b.ne .Lmisaligned8 diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S b/MdePkg/= Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S index 9fad6d1f267c1bcf..59a6593d96cae907 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S @@ -178,6 +178,7 @@ L(copy_long): =20 ASM_GLOBAL ASM_PFX(InternalMemCopyMem) ASM_PFX(InternalMemCopyMem): + AARCH64_BTI(c) sub tmp2, dstin, src cmp count, 96 ccmp tmp2, count, 2, hi diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S b/MdePkg/= Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S index 8673b76eca857b8e..55aaf89f56b43fad 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S @@ -45,6 +45,7 @@ =20 ASM_GLOBAL ASM_PFX(InternalMemScanMem8) ASM_PFX(InternalMemScanMem8): + AARCH64_BTI(c) // Do not dereference srcin if no bytes to compare. cbz cntin, .Lzero_length // diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S b/MdePkg/L= ibrary/BaseMemoryLibOptDxe/AArch64/SetMem.S index f9748405592057f0..b5618bf09d8bae2f 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S @@ -29,29 +29,34 @@ =20 ASM_GLOBAL ASM_PFX(InternalMemSetMem16) ASM_PFX(InternalMemSetMem16): + AARCH64_BTI(c) dup v0.8H, valw lsl count, count, #1 b 0f =20 ASM_GLOBAL ASM_PFX(InternalMemSetMem32) ASM_PFX(InternalMemSetMem32): + AARCH64_BTI(c) dup v0.4S, valw lsl count, count, #2 b 0f =20 ASM_GLOBAL ASM_PFX(InternalMemSetMem64) ASM_PFX(InternalMemSetMem64): + AARCH64_BTI(c) dup v0.2D, val lsl count, count, #3 b 0f =20 ASM_GLOBAL ASM_PFX(InternalMemZeroMem) ASM_PFX(InternalMemZeroMem): + AARCH64_BTI(c) movi v0.16B, #0 b 0f =20 ASM_GLOBAL ASM_PFX(InternalMemSetMem) ASM_PFX(InternalMemSetMem): + AARCH64_BTI(c) dup v0.16B, valw 0: add dstend, dstin, count mov val, v0.D[0] --=20 2.39.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 (#101930): https://edk2.groups.io/g/devel/message/101930 Mute This Topic: https://groups.io/mt/97879287/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-