From nobody Sun May 19 15:29:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); dmarc=pass(p=none dis=none) header.from=hotmail.com ARC-Seal: i=2; a=rsa-sha256; t=1684533372; cv=pass; d=zohomail.com; s=zohoarc; b=CdGbu76cKtmXSaD5b5BuM1eLwPxYFXmXKhbsBXItARyAvGYZD031+ZJ6s670nK5EBUD2K5cNknBVvIGkEqqQRa9Denw0x/XH3C1yOrfoPQOlsJRZFdx4ATW3J/QuXbeD6XDwiXh8CkmAxcrHijQYnfZ5wcqLhHPeAwPPPx11qhE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684533372; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=AVhbSTn1f9xXwvJ+hF0swcFm8FM4hyHM9DIsrQ1twmY=; b=U0QeoRFmHaYNDlsWHPNjoDVrVF1BgZOfF7x1D1WFrd4wdKFXSw1R3GXHcuXPbc6wApSedVx0jiUv576HJEqf+omp8uLVSxvA+QkViiU9ZI6Hu6BzBjHFAqyT1UHCPeZCltit5PEBbgBrrK7Qdhg1r8Uj2ujYEgmbv/4/MuKfJo8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684533372447718.0322791588864; Fri, 19 May 2023 14:56:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q084B-00056i-Rz; Fri, 19 May 2023 17:55:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q0849-00056S-2g; Fri, 19 May 2023 17:55:13 -0400 Received: from mail-mw2nam10olkn20829.outbound.protection.outlook.com ([2a01:111:f400:7e89::829] helo=NAM10-MW2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q0847-0003zG-DD; Fri, 19 May 2023 17:55:12 -0400 Received: from DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) by SJ2PR12MB8111.namprd12.prod.outlook.com (2603:10b6:a03:4fe::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.29; Fri, 19 May 2023 21:55:07 +0000 Received: from DS7PR12MB6309.namprd12.prod.outlook.com ([fe80::bf6e:1dc2:10ea:cc04]) by DS7PR12MB6309.namprd12.prod.outlook.com ([fe80::bf6e:1dc2:10ea:cc04%3]) with mapi id 15.20.6387.033; Fri, 19 May 2023 21:55:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jcN1WiE1aVJ15+bVqX4pmJ2zEwwG00XlCIxUpsFGUui2SPlu+XQW5SMzKeGfH31BB03iZCjTnk12ALQNkwRlSmhnoyyqzwGDkf4AbMmHpQmDHmoOKiAzRck0hHU3SSgnFcObfcU19Vcb6gw2sDIl3PVAG0TTsXz1U6pZSO93JDEfwoeohkCgaDZX7DwnHxgr7Bn/ZpWF4y415haFLxj0ehoxa1d7x2InWzU0/1ZA3o9aYY5WSA26T9HM3LqMVZoVYi3AEoQ8qKTGETiRBKwi2Fxp0eIzuJAVOb5orDTrsv5PEwGpgAEuBFE6KJvyrO0odHmw6XCe+cFMTxbjnfbSCw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AVhbSTn1f9xXwvJ+hF0swcFm8FM4hyHM9DIsrQ1twmY=; b=K2yf9jr27z0chLeN5TlVcIBq5qM2AR8Kk5VrCLayg7h5sEYzc1q5p2difw5+XW+Q01KKqsFmvGok5LFzmgzyAvrPIvH7aIcWq1mDCsTrF6ZaBLwjAKLhsPfJmTMVOjwJhbQD0DzMQRzA8xcPQ4NZWNitbMYPrKE+ppo8+exD7aK7X4/rTeTApnDGCqHnaqqSZZq4vyX5YJx1SowZSwDYYTXSJE6Lr14Lj/w1YVrawjrlzf7bpwi2fCiBSNZWy/ewSqrRFrKMIuVY7GkxEo0eLCR9RO02BQC8BMaaNa+5p2JVJ3VMVWOoWISn6UCWI5tlmsI7O0260oIOuKMDAAI18A== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AVhbSTn1f9xXwvJ+hF0swcFm8FM4hyHM9DIsrQ1twmY=; b=qW4fdhKLhDRrvqGrhkl1GZcXY45X8Cg3LDfZjWWCaK8iE0hcoCUuZABWw+yxsex5dnvmdi5O/Y/Yczg4gWIjxpc0tMuSJ1HslnvKNXttoDsn48GsxNtUUrImrMLpXr3UYUcnqBEHLDmHwa4Jk0ronfIdme+jz/yiI21XsmsGeP9m5jQnOMs9qjfwJeqI3V8c6GCuAuUGWT9vW0MVT1E7mfrGeq8xrnsnYNUWdj2h/bE+DIpHmBmHbEGbxjD0HBiOY3JAkKHTA6zph/F5MyyYTEjCJfPPT7fxhZwu8sRv8IXEA/nUL1Yrd/3+WVl12+hQsrRsa7TVkah71piwVsMHdg== From: Zhuojia Shen To: qemu-devel@nongnu.org Cc: Peter Maydell , Richard Henderson , qemu-arm@nongnu.org, Zhuojia Shen Subject: [PATCH v3 1/2] target/arm: allow DC CVA[D]P in user mode emulation Date: Fri, 19 May 2023 14:38:44 -0700 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-TMN: [iyi6Rs91/BFUron5LzA8Y9aDwGCNAQ0g] X-ClientProxiedBy: SJ0PR03CA0343.namprd03.prod.outlook.com (2603:10b6:a03:39c::18) To DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) X-Microsoft-Original-Message-ID: <20230519213845.283679-1-chaosdefinition@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB6309:EE_|SJ2PR12MB8111:EE_ X-MS-Office365-Filtering-Correlation-Id: a8b3e449-ebfa-4675-b92e-08db58b3b548 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nvAoS/oQTVQZ1S7Y8lGJvUp6lYURevRgkpBqiNUxyv9+UqC1zRKn73j9KUsBQBKQEAkXugecF27P+pOQs1t+rqcXYXCODn7USF10zT9b66mgwsvsRREKRv7RuEXBDjMCNxfxcx4VFb0WawRyIIxkeHQaLwszC3ow683vQ8gxWhr7IHt6WuCfVKwKRLhqW2ydXvURvCatFBOtC+P1Kq+/PMDI4I922ICmMSMWaf5W8AJvYn1CUdlEfVny5JzA73sTWHh6tmrb5uAn5hg1bqOX1HxLodHT7CiXLAjtzKp4gGPVP2qbfFlJYF+pfs1xw4VWgBHt8zO9KMwCfmdE0YIiO+E32n15KwBt2nWJDHulrkx5DaefJg5mr8WOoH3F7BvI/h5bMrjtbRxErUYxphJRt74LLD8VVAmYZaTwtH/C/KzgIjCOT6p79BmKAQRiQ/TBIRI1ChH2IJUdWMif5/02CkWmhX7LXeLGsIgS7ZvXJZgThpG+X3+UOJHxeka3cmLfssasbSZSqS/VDUojreUnGBWLreyLI7BwCpwJwvpZwnZjGJ0uot3GyppfB3e0pdZrz0jGXHWFgRsImi7GtCdnCa3ycmaIGJ+xrCMT+a68KqxgiDkvTXOQDeZS0Xof0KCVQbCD6a03MYw35kGH9i9F/q3gjraPML6GWjCokVEJMiExgWUp4iyeGgSImDugohmGG2T0DJXzIrzZJZje6P3pvvRQmnHm1a3cn0x+xuU8FJ1xZBfsHoGwe9XBZCQsJ+a2nQRjMBIuEzeNqN7WYxO7UN X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UOiIS367X1FSj/YXm4d1kN7hgmeHrGrSW2geT1f261QgoxWXNVpSv7lNoexRyjMXvMSEvmTJ0rbhFng6mIO5d6IqbgDDSYEVkpJqoOxCR0eRcEbykqX3lfGMEzhQsYAhFYiQjijwvyzLC3Uv93gsGyK2ZqdeHHp/26rEH9qxGYtDFqgdmd594vJhjrBEIv/rFbQZGlHtj5hY23l962CRl8RSM12ty+N6lSqVc4xMg75mYiN+f78sze44QANw4sdM2si/si3fANEbD0uwOBDzo/EvyBicLQxbPxbGHdEULrXtVEmnrB4LkqPHwAOOBKBG8Vv0F40U9avabdasfGNrD/gsHh6mjzUa1M2Qek0QXcLMAg4dhLgFvulV6v0Rt5pXBYNXTbLeb5ABqrQGbTtA2QcNSaR8+ltdFsZf/YKEu/9qSRHqRavMTHajgQBh+WCaLFnkMD2NR7ZxIpUG87lFSDc4LYosM0QFb12DqdaNwiHG3YmQC5wdVFcwwkVCxj8usivlv3nxDSguRTx+Z82hRVnCu+T//WoEtEV3VRFjoP3RHTmy/ZCc2wAViFX8mwoAXF+5u8cFnicmwQExhECRT+fynyvUyLRRmwqMwMbDlwISMzc9mgOnjarNLEUAofx+ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?i6yU7gNHm+h3X7MUfR8CddmLqctuL5MFd2FK1bMyC8BubNcJxMPYy+8HYIB1?= =?us-ascii?Q?7FZRUh6W85cO0hDQk2/fjnXG57mQAzab3x8e+hBtqxJpbbf5IkyVCkXrqzFz?= =?us-ascii?Q?0/K4prTkdQJnbF8HP7iq29MrZ4Q16kjeJTsXh/XhYN7yx5vCmkoS498KGKVk?= =?us-ascii?Q?j+Lt41B6r3nIwWHkv9dftSgedJkU/TRDbzDwXP9n85UoeDx880AEy1Stp7Ei?= =?us-ascii?Q?OGOSw6/822aBhQu4kNxgKLAvA1yzFvDBuh7Br1vpM8tY3qsC2YOnmjsPeWSl?= =?us-ascii?Q?meV2D6MV0Ua1/DTJx6rp6o2tY0loWdWEb0T08mLX9PzskpuT9YlKmWBSyZl6?= =?us-ascii?Q?bNY7Vppf/Y96OG+jGNFi8NP7abY9EBdqJBJl89VZPNXWrsVkshZ42Z25HZlc?= =?us-ascii?Q?GynB68qiHuaxk0wS++y0qqWyHQ+t91SxtZ03uj0UZf0cP8jonDPeaWewqsuu?= =?us-ascii?Q?NqchKfadqw9lSO7f0Gd7NTWuxdvMtRnBUpnbnRnekFBxNC5OTmnfys/wFIrC?= =?us-ascii?Q?7FVUnfyKZa9pv9aMKK2o4vGqPVI/kL2iTvctIsaYSawOH+FJYiDr8t6gXrio?= =?us-ascii?Q?gzHaJhBPJNx9c3208z1+F7xmtG20UqbpqujCgDwFKPijqnk8PA0p9nhqCk/S?= =?us-ascii?Q?wprpP3sWXdubPJO7FKTJCYj8xFrzjuCLPCPQI16mYwefg3IspGm/8CHduoUd?= =?us-ascii?Q?3bpAOh3fEhA0sIqMAAO3N4q/MjK/mUte4OnOowVJdaH3jAMlF88D5GRz0vGG?= =?us-ascii?Q?xSXUCImKJ6x8mn05TGPVqX8j1eCNX3wxFosvRbI1ddoC2WzZmRYH/Im0l6VC?= =?us-ascii?Q?zhCeRxJq8pNE0jjQMEbYZ9OAmIFjrYRUelyB/ZLmdq4bE9LuUW/YwkkcHct4?= =?us-ascii?Q?62zLjmSP1gpQogJIU4cqB/8dFV9AyezW1F1pDoi6S7WKmKI9BMnnbyAJCTld?= =?us-ascii?Q?iFsKh+j5u9mEqTW0X7k4w/nVpxMmEIyGYNZSaVC50a9Q43nyeHY/nshhmv/l?= =?us-ascii?Q?gWPRoF9dTNhe0ndbQmHq0geb5aYD9tUuEdEeyeg8B1UHjceFS69v3BhoQCch?= =?us-ascii?Q?qOfp+jMnZbLuqubBz43RuissDp4j3X5aRWrL2oDN6NfvvacqlCTzQ44srd6B?= =?us-ascii?Q?500nIMrMPplmP+GxkFo84/x7Ta0pqxvTCm7cY9Gq6HqBOSj3bBxUhi42WNa/?= =?us-ascii?Q?H/VXyR1qw+btQ2yBErZsa0pUZNUFvxjiFKF1faW3EC/0+1mdwOpMTarcSC4?= =?us-ascii?Q?=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-71ea3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a8b3e449-ebfa-4675-b92e-08db58b3b548 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB6309.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2023 21:55:07.1114 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8111 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7e89::829; envelope-from=chaosdefinition@hotmail.com; helo=NAM10-MW2-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @hotmail.com) X-ZM-MESSAGEID: 1684533374155100003 Content-Type: text/plain; charset="utf-8" DC CVAP and DC CVADP instructions can be executed in EL0 on Linux, either directly when SCTLR_EL1.UCI =3D=3D 1 or emulated by the kernel (see user_cache_maint_handler() in arch/arm64/kernel/traps.c). This patch enables execution of the two instructions in user mode emulation. Signed-off-by: Zhuojia Shen Reviewed-by: Peter Maydell --- target/arm/helper.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 0b7fd2e7e6..d4bee43bd0 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -7405,7 +7405,6 @@ static const ARMCPRegInfo rndr_reginfo[] =3D { .access =3D PL0_R, .readfn =3D rndr_readfn }, }; =20 -#ifndef CONFIG_USER_ONLY static void dccvap_writefn(CPUARMState *env, const ARMCPRegInfo *opaque, uint64_t value) { @@ -7420,6 +7419,7 @@ static void dccvap_writefn(CPUARMState *env, const AR= MCPRegInfo *opaque, /* This won't be crossing page boundaries */ haddr =3D probe_read(env, vaddr, dline_size, mem_idx, GETPC()); if (haddr) { +#ifndef CONFIG_USER_ONLY =20 ram_addr_t offset; MemoryRegion *mr; @@ -7430,6 +7430,7 @@ static void dccvap_writefn(CPUARMState *env, const AR= MCPRegInfo *opaque, if (mr) { memory_region_writeback(mr, offset, dline_size); } +#endif /*CONFIG_USER_ONLY*/ } } =20 @@ -7448,7 +7449,6 @@ static const ARMCPRegInfo dcpodp_reg[] =3D { .fgt =3D FGT_DCCVADP, .accessfn =3D aa64_cacheop_poc_access, .writefn =3D dccvap_writefn }, }; -#endif /*CONFIG_USER_ONLY*/ =20 static CPAccessResult access_aa64_tid5(CPUARMState *env, const ARMCPRegInf= o *ri, bool isread) @@ -9092,7 +9092,6 @@ void register_cp_regs_for_features(ARMCPU *cpu) if (cpu_isar_feature(aa64_tlbios, cpu)) { define_arm_cp_regs(cpu, tlbios_reginfo); } -#ifndef CONFIG_USER_ONLY /* Data Cache clean instructions up to PoP */ if (cpu_isar_feature(aa64_dcpop, cpu)) { define_one_arm_cp_reg(cpu, dcpop_reg); @@ -9101,7 +9100,6 @@ void register_cp_regs_for_features(ARMCPU *cpu) define_one_arm_cp_reg(cpu, dcpodp_reg); } } -#endif /*CONFIG_USER_ONLY*/ =20 /* * If full MTE is enabled, add all of the system registers. --=20 2.40.1 From nobody Sun May 19 15:29:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); dmarc=pass(p=none dis=none) header.from=hotmail.com ARC-Seal: i=2; a=rsa-sha256; t=1684534425; cv=pass; d=zohomail.com; s=zohoarc; b=gVCimpmVBdY980JW7l3z4WSFerVO2KL0ujqsqQqM7FY9M2PqerBYbvKLDikSRTervOXnG8zvCsDEzg3rD2mTltqu0cMAvtTPoDUbS6C0kgKSTnErf5jS2JYUB9UVVAMX3gSKng9esz0fOBii5EdJVYmV5Cu/v/BThclcOlcsuNI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1684534425; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=D4cpWkpMAOUupRGcXH2m+HZJHqWYl+KQBW/iqmATjOU=; b=Ns++mHIQpFIaZ70bHzD/Yr4qiD87IpYmTbIEvD1g+/gpLi5cttXJxUqtaz8MlyFtTqGC3S9IKGvcVxIkEiifal+Vo758cphiBz1XGcTWAyXMlxqDm9YA64rPoPc57/G3Bibj96V161jsNEt/eV6QAz32WmmgMZVnAe5gzvP3sNE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=hotmail.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1684534425221812.6006833902118; Fri, 19 May 2023 15:13:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q08LK-0003I4-30; Fri, 19 May 2023 18:12:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q08LF-0003Gs-By; Fri, 19 May 2023 18:12:54 -0400 Received: from mail-mw2nam12acsn20808.outbound.protection.outlook.com ([2a01:111:f400:fe5a::808] helo=NAM12-MW2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q08LD-0007c0-LE; Fri, 19 May 2023 18:12:53 -0400 Received: from DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) by BL1PR12MB5756.namprd12.prod.outlook.com (2603:10b6:208:393::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.24; Fri, 19 May 2023 22:12:46 +0000 Received: from DS7PR12MB6309.namprd12.prod.outlook.com ([fe80::bf6e:1dc2:10ea:cc04]) by DS7PR12MB6309.namprd12.prod.outlook.com ([fe80::bf6e:1dc2:10ea:cc04%3]) with mapi id 15.20.6387.033; Fri, 19 May 2023 22:12:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TsWURHX3AaqM+l1UmVzQuHR6SyINeQd/PuWqGUWNzclxzWbmIFX9gsT8jGai8oSEWLYYvnG0V/UZ8FYY2pss4urs1j9wYQHU+4E4rqDUxYWGfDVdZKCy7822BGixdDDvqb0SQ+oKuaM32frmjTMaufoImlseE/pdRMMxbMojmx5K4U2frsFRl68z5uNrLqicDrfpDCMK9RsieW4byhEHp8Mj2v4XPnGcfkIv19zm3nh2cNynMeQ1IMBJYV4+rEbI8Z3QjxTsHu7EDclH+OCuCBUqtaXdJsEifQgou6PFp42kFRQ2SboQA5XZ3gmDCTdktadkCysEsuVyTEUiZLDTYA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=D4cpWkpMAOUupRGcXH2m+HZJHqWYl+KQBW/iqmATjOU=; b=g9s+VzYDnqXKC47RKV4ReDIo+03oGSkYorpEB+kL5k4r6jgjRT008VrLeN35Zna9CAuWRyzRiONy/wLN8AmRJr+R/akdSH4R4mHcS/APip3Ud50i7yj48NGiKOMbFQMyJNApQ8lf9NSoPsdgPJSr8NGFHKaxao90msawwqyLQRX38QWwqmBhIoIwqx914Uh9RMUO4hvxedHMgqkkjV5FGE8zgwXsovDtcAKFaBAgfsGcib9DCgl8w4wk21iJNpg96NOKVqwJnJ+DOxQVyl2AYectweV6xlqBDkal+cqxTTW0iuyeC7itwT04ySXAHVZC1w3KXtH7oDJUkXhXcRxIjg== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D4cpWkpMAOUupRGcXH2m+HZJHqWYl+KQBW/iqmATjOU=; b=dWGgTY4WnDrba4Cyjj1F6YgIOgh50bMrccxQ5F9BypK/lsoLdL2o+Oo/Hi/ZaLZxP78z83JBdW8ex/1CZ1AXONgvGYQMh7n8O32dpGiqNL9MeHoYitAnOnYcpwFo1dHSBJPUfu/LQA6NFCUGAGHAECmpmjAOzgnXkgT507TvhGEpNTUIySLmmmxbCSPoxuBhcFkXEnf+WP5Tty159ioyRQoFNE92rxSyOyJejMvTBgVcnmGRJBhwgiiqt+JBr7/0rfL8DMGNy9rgNU9pGcvB869b2m77J7YMmy9VYbQPp7tBbYnZGCDeQfayikfzrlzKsw/ocAbccACMqjWVKxj55A== From: Zhuojia Shen To: qemu-devel@nongnu.org Cc: Peter Maydell , Richard Henderson , qemu-arm@nongnu.org, Zhuojia Shen Subject: [PATCH v3 2/2] tests/tcg/aarch64: add DC CVA[D]P tests Date: Fri, 19 May 2023 14:56:23 -0700 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-TMN: [w1wkcrrvUE5FB+1Prpq3fzIDLdsUAUhw] X-ClientProxiedBy: BY5PR04CA0011.namprd04.prod.outlook.com (2603:10b6:a03:1d0::21) To DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) X-Microsoft-Original-Message-ID: <20230519215623.283899-1-chaosdefinition@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB6309:EE_|BL1PR12MB5756:EE_ X-MS-Office365-Filtering-Correlation-Id: ddfdd4ea-dbfe-4c6d-15d7-08db58b62cf7 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nvAoS/oQTVQZ1S7Y8lGJvUWSC1Z4WfQFRwDUWz7rXlWQckZQbP4iDgCDt1is1V71A1/hL720/2e2ntFk9hg2/jCTgyiSCjq6phg0+IKw85YJwFaeL6t/nTx8RilFAknG7X61X/mg4JNyFhu+mhNldWxpOe1O76P65p04Hh/nOln0m6SpLTdC144+K5Vqt7wBZFiPq1KqOumAk7NoSTIzspFkQbprvPMb9nKjt6QAIMfzaMv1lwuqwwkEjisUXtzOprfv6Qy0B38HwhgSX1jUfZ+PVnkaVRo7dGh0iNPmM69BDZbimzGe0ydjy4kcGHrMW5mAhGow3/IdqqbvHqGIeofwnsPRbX63t2Qp0U//sH5CVEq1L4xkokeMm03CIKzCrymu/IiXNtCDKdOYOvpsH01VHCRrkVGBoSHfU/JjAJaSJO91SB/45hqp3F8XWBYExsQRHYNt1ISBQtVgxPTtoebdicKPh//OU/4vbEogjnnFlKKe0N1yk5xU61n/nKDb6nxyzjTwyRzDKm1//+cLO1P5SCdVUYq98Acv6cRAISyIExfSMJDSvIFpmyZdc/RJo8RZi2c2tfi6htyj/Ghtw4chb7tztjcNuKQY4Ua5jVraa8j7pFBIV5N8NnFAA/oqznSbVDxq+EuCU2jnXm5TiJXmzszWMbYI7KfodjuVRg7+RVhoDCwuTeRGTvHOPeXpkg7BefJ8scz2vZTf4nutkgPxft6o5j0XU5ckbhWB8AsILKO00x2mZ1/fOn7mzhmnibnkOFikm+lSQEoRF8/qqL X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C/L/G5UGhPuKc3xd+RFNVzSJsE9x5u0Z1qdm2YokYAAZUIPq8QkvHOcCuUa+nLcYXplR+bz5vZ5JiGLIhyVHGn2zM2KDLUQ5oZzPtdnhGbNTfwycLyNriCBI4wrz8+Eq2JnDKXt3RWj9POx8muBSvf/YXFGRcA5tUq1WO7k1iYl6Ygkr8NDP+er9epMq4uz6+Y4W9hfia7L79uGBpkAEWbZc7A6gIRwdzd3LZVK9jOM20etsdWbnzHI5Jsnw5dwkgxAMbp56xMRzlIshAAdEfCYkSkjMD3mWNocYnOA6E498kItj21sF8Hy4BFEzV7HBSeIJX/6kmI0dleKg5ynzTBtR7WvLTEftgmvLF9IRwqhl95t2FlCMv4wv37eltEKD6IvAP/CvQgd10MDbjB0x3EQXEF6laqWqxdDkY4AkhVOSr1/m/esjZn830lLJc0EDNrWy2U18MnLVUBgdabohP8lGe7nBkbOP8cSMVDLhrbtvtqsNiewf5eoFwnteOvKvYQw59UiQETe/Lg/dnkJupfkbUCkte0XywejQYlWGaKNFETjNVxgJfWbNkOCRNh08dwZq2sDMF8Xmom+Oo/cjnP5POlH149Y1jr9sdwe5kjB/qq+CxHbz8eMaEbMmTbow X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JStSlVIbnwe8XEs+jUTm1mdxJF6GfT8wWEXzjYZmPgunahjiu1aQJL/mej0P?= =?us-ascii?Q?6OwGw/GiDwKGoSI2kCQAdzCcHCoGN48sPTFhyAxGRO4fvxxLtFd4RdfjuhwJ?= =?us-ascii?Q?6Ep9AInMggKP9HUYDC19TfZl6U2w6B0NIs30hZakA1hUFJywpb9+i/9+Sllk?= =?us-ascii?Q?E9a57AFhJooX3M3YtkGTsHCnVO/K+mI2/Focy5jPXyKFuXneZZH+h28bN8hf?= =?us-ascii?Q?3enzAXiVFk6dYl9Hw/Cj4OQhZLNGnAizr+UEbYEPFOjZmQwkPAX2++DMBwE+?= =?us-ascii?Q?opZhsJFA5wyrRdKoNfxkl/RzaPvypP9nATRz9a5upnWSSrq7tF3H9syQyBd1?= =?us-ascii?Q?CrUTyDsD7eR3uIbK+73wnsANjL3hxgsi1BpN+JbXzpP/G/2zip+L5KCKmKuN?= =?us-ascii?Q?hMzlg22WmnIXXDPj5VExUG6fRW/o01EySsKl30vMH2pQw0cVtYih52IIKexg?= =?us-ascii?Q?gs1sbp5ALi4VreqTknO2NczOy+perWlWgPZfbDtEbNKvRI9pHoE9dS4olqRp?= =?us-ascii?Q?ZebynVxB5wAvbfpQUoAxPCGiGmASO/rksru09qv2Sbbw465cxHLr/35LeHhd?= =?us-ascii?Q?Ub7/zcwoR/JuBN8ochIEpUl2NrjMG0BbfnRVnDtjyPXMZIAlByPio6wsG5L0?= =?us-ascii?Q?nh5aFvrmGTvkxXA2shEtElI0ZfzbA/3MK+4cZwoWD1/KeVYsETH9hj6HqPPv?= =?us-ascii?Q?0tVqmkqlO+9cX4KRdEr6f4FnrjyOWAn2SxedBNB6N76NE7ztEX7A+oCKFCb/?= =?us-ascii?Q?CpiVcpMP+CTnR8q74WRftKZ0odTEgfbWkt2CPL1tfRA7Jn4tdVNktN2uvvJN?= =?us-ascii?Q?VTR6VikUuR3Y3t4QbxpydJM7FsnKH6XaYiTe9gFrvNwJBVBexNFwlrAY2Sp4?= =?us-ascii?Q?tW2G/nhqU08d0KA5ly68QajUJjJtr4CHRfOV0FodbYvAJxKbY1RXUETLWLMt?= =?us-ascii?Q?pBnudJDFSH4YQpkXclg3kAU0GzXWOa4y4w4iN6rcX4CTd3NgX7DUP1JEEv8L?= =?us-ascii?Q?ASf2j5Y1SrYtYncHOUewC38QfQjdb0DEkrE3HaFGL2zJO77BzpEgQVqdsXHe?= =?us-ascii?Q?TS/l/5wUF09xqJyEk6VXoOcJQwpmsgvOmO4Rq8DkbZwNvtiu6pWoOE8KqI+2?= =?us-ascii?Q?teEjnz4smBAGYlA8lD6m5j3ZS+xaCYlzdzgEa09a30yoIveniU4Acjp3C8Bl?= =?us-ascii?Q?EMDi5CFW/RtflK2I+dzsjy5oIkq9J4MxjifzrQYGF/0JzleMZH2tuY2fh+I?= =?us-ascii?Q?=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-71ea3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: ddfdd4ea-dbfe-4c6d-15d7-08db58b62cf7 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB6309.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2023 22:12:46.8459 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5756 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe5a::808; envelope-from=chaosdefinition@hotmail.com; helo=NAM12-MW2-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @hotmail.com) X-ZM-MESSAGEID: 1684534426238100001 Content-Type: text/plain; charset="utf-8" Test execution of DC CVAP and DC CVADP instructions under user mode emulation. Signed-off-by: Zhuojia Shen Reviewed-by: Peter Maydell --- tests/tcg/aarch64/Makefile.target | 11 ++++++ tests/tcg/aarch64/dcpodp.c | 58 +++++++++++++++++++++++++++++++ tests/tcg/aarch64/dcpop.c | 58 +++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 tests/tcg/aarch64/dcpodp.c create mode 100644 tests/tcg/aarch64/dcpop.c diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile= .target index 0315795487..3430fd3cd8 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -21,12 +21,23 @@ config-cc.mak: Makefile $(quiet-@)( \ $(call cc-option,-march=3Darmv8.1-a+sve, CROSS_CC_HAS_SVE); \ $(call cc-option,-march=3Darmv8.1-a+sve2, CROSS_CC_HAS_SVE2);= \ + $(call cc-option,-march=3Darmv8.2-a, CROSS_CC_HAS_ARMV8_= 2); \ $(call cc-option,-march=3Darmv8.3-a, CROSS_CC_HAS_ARMV8_= 3); \ + $(call cc-option,-march=3Darmv8.5-a, CROSS_CC_HAS_ARMV8_= 5); \ $(call cc-option,-mbranch-protection=3Dstandard, CROSS_CC_HAS_ARMV8_= BTI); \ $(call cc-option,-march=3Darmv8.5-a+memtag, CROSS_CC_HAS_ARMV8_= MTE); \ $(call cc-option,-march=3Darmv9-a+sme, CROSS_CC_HAS_ARMV9_= SME)) 3> config-cc.mak -include config-cc.mak =20 +ifneq ($(CROSS_CC_HAS_ARMV8_2),) +AARCH64_TESTS +=3D dcpop +dcpop: CFLAGS +=3D -march=3Darmv8.2-a +endif +ifneq ($(CROSS_CC_HAS_ARMV8_5),) +AARCH64_TESTS +=3D dcpodp +dcpodp: CFLAGS +=3D -march=3Darmv8.5-a +endif + # Pauth Tests ifneq ($(CROSS_CC_HAS_ARMV8_3),) AARCH64_TESTS +=3D pauth-1 pauth-2 pauth-4 pauth-5 diff --git a/tests/tcg/aarch64/dcpodp.c b/tests/tcg/aarch64/dcpodp.c new file mode 100644 index 0000000000..6f6301ac86 --- /dev/null +++ b/tests/tcg/aarch64/dcpodp.c @@ -0,0 +1,58 @@ +/* Test execution of DC CVADP instruction */ + +#include +#include + +#include +#include +#include +#include + +#ifndef HWCAP2_DCPODP +#define HWCAP2_DCPODP (1 << 0) +#endif + +bool should_fail =3D false; + +static void signal_handler(int sig, siginfo_t *si, void *data) +{ + ucontext_t *uc =3D (ucontext_t *)data; + + if (should_fail) { + uc->uc_mcontext.pc +=3D 4; + } else { + exit(EXIT_FAILURE); + } +} + +static int do_dc_cvadp(void) +{ + struct sigaction sa =3D { + .sa_flags =3D SA_SIGINFO, + .sa_sigaction =3D signal_handler, + }; + + sigemptyset(&sa.sa_mask); + if (sigaction(SIGSEGV, &sa, NULL) < 0) { + perror("sigaction"); + return EXIT_FAILURE; + } + + asm volatile("dc cvadp, %0\n\t" :: "r"(&sa)); + + should_fail =3D true; + asm volatile("dc cvadp, %0\n\t" :: "r"(NULL)); + should_fail =3D false; + + return EXIT_SUCCESS; +} + +int main(void) +{ + if (getauxval(AT_HWCAP2) & HWCAP2_DCPODP) { + return do_dc_cvadp(); + } else { + printf("SKIP: no HWCAP2_DCPODP on this system\n"); + return EXIT_SUCCESS; + } +} diff --git a/tests/tcg/aarch64/dcpop.c b/tests/tcg/aarch64/dcpop.c new file mode 100644 index 0000000000..0c4d32cfe7 --- /dev/null +++ b/tests/tcg/aarch64/dcpop.c @@ -0,0 +1,58 @@ +/* Test execution of DC CVAP instruction */ + +#include +#include + +#include +#include +#include +#include + +#ifndef HWCAP_DCPOP +#define HWCAP_DCPOP (1 << 16) +#endif + +bool should_fail =3D false; + +static void signal_handler(int sig, siginfo_t *si, void *data) +{ + ucontext_t *uc =3D (ucontext_t *)data; + + if (should_fail) { + uc->uc_mcontext.pc +=3D 4; + } else { + exit(EXIT_FAILURE); + } +} + +static int do_dc_cvap(void) +{ + struct sigaction sa =3D { + .sa_flags =3D SA_SIGINFO, + .sa_sigaction =3D signal_handler, + }; + + sigemptyset(&sa.sa_mask); + if (sigaction(SIGSEGV, &sa, NULL) < 0) { + perror("sigaction"); + return EXIT_FAILURE; + } + + asm volatile("dc cvap, %0\n\t" :: "r"(&sa)); + + should_fail =3D true; + asm volatile("dc cvap, %0\n\t" :: "r"(NULL)); + should_fail =3D false; + + return EXIT_SUCCESS; +} + +int main(void) +{ + if (getauxval(AT_HWCAP) & HWCAP_DCPOP) { + return do_dc_cvap(); + } else { + printf("SKIP: no HWCAP_DCPOP on this system\n"); + return EXIT_SUCCESS; + } +} --=20 2.40.1