From nobody Wed May 14 13:05:36 2025 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1733952093; cv=pass; d=zohomail.com; s=zohoarc; b=MdO+GCX3EE05rKEuDeY/7nn0Fi+UKVRP9Ax+UPjI9NuCc0L0BN+1BEugINoKkLjY1mDQ4p/VNebH/ldZups+s6pux/xOwuq8IQWkbVounmdn//T+rrPxH0xADJNHXH+QR7LI3QTK8zaQqw4y9NNBq3hWsX2IEcyIws/DKqOmM0w= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1733952093; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MFfVfuEbS53ZsmtkqBIgnSIACUThQbtV5T06M7f+tvk=; b=VCl/zJgbJv4+fd9aNZVA09nPRmJVUbktV3zYJFtpoBX/nW7tqojo8vWL0RtWyXmIMowuV9/mNAxDaWXVV/m1GwPg482Zw8HimKek2ozD68QqYfHQQNVTDxpZIFeJsDAgVQyNpyIyklj24X49m8Oga3neIJyLYCSDixdd4kNbplg= 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=amd.com); dmarc=pass header.from=<fkonrad@amd.com> (p=quarantine dis=none) Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1733952093531476.9028760353914; Wed, 11 Dec 2024 13:21:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1tLU8M-0006rN-Bw; Wed, 11 Dec 2024 16:20:38 -0500 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 <Frederic.Konrad@amd.com>) id 1tLU8G-0006pR-21; Wed, 11 Dec 2024 16:20:32 -0500 Received: from mail-bn8nam11on2060e.outbound.protection.outlook.com ([2a01:111:f403:2414::60e] helo=NAM11-BN8-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 <Frederic.Konrad@amd.com>) id 1tLU8D-0003nY-BU; Wed, 11 Dec 2024 16:20:31 -0500 Received: from BN1PR10CA0014.namprd10.prod.outlook.com (2603:10b6:408:e0::19) by PH7PR12MB6538.namprd12.prod.outlook.com (2603:10b6:510:1f1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.15; Wed, 11 Dec 2024 21:20:23 +0000 Received: from BN3PEPF0000B06C.namprd21.prod.outlook.com (2603:10b6:408:e0:cafe::d6) by BN1PR10CA0014.outlook.office365.com (2603:10b6:408:e0::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8251.14 via Frontend Transport; Wed, 11 Dec 2024 21:20:23 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BN3PEPF0000B06C.mail.protection.outlook.com (10.167.243.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8272.0 via Frontend Transport; Wed, 11 Dec 2024 21:20:23 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Dec 2024 15:20:22 -0600 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Dec 2024 15:20:22 -0600 Received: from xfr-fkonrad-l1.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 11 Dec 2024 15:20:20 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bbumle3mnarAw5HA6IoS0sTdLGhBF+nFPFz6y+QPMuP3VwEjJQoSDrBdwyum172rgnRz/QiYsNcuKyxKI7bk58khoIfnMIJJ7veo+8xANlMJmbgGawJy3UyE1ZA92UShA4QXioGTxSW1FlnI9gGidHhO/sWAm5bHhXHuh5VQXY8/EEJTeO4hDqxqHFQQ98Or1eB0yX7BCy9Iye4frCXjvE/hu9tUBHpE72GPBC4Pnp6upUmPLLi6HmlSe8miLnV00L4uVRn/gFpI7GyCNiQ1c4xaVYIc335OaTbzmGSlsfvWFgc1CIRN4gRlV30Y/yrZcyFPFOk1JwybUz6y3Xj+0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=MFfVfuEbS53ZsmtkqBIgnSIACUThQbtV5T06M7f+tvk=; b=dD+2cuMsaeWEENYx0eJ57KrzVUNPo52h43byEQe1bQlSoZFPpxpi12Z6XtO95txGHnZJZfIBk53OKtJLjybDL4bB1LKeZSfy+qpw70WxZ1TDjFKqc3AGgmAG8qtauKvtHirzWS3j/uL2WAY6JliowLoHn7KxbrYn3IG2eDgKaad5JP1VPDK7Gh76Wwq6vCUNpMGgb8ndr9/UdXnE5Do7jmMXTliEUTT1bvAN9Cg5UNWqS5zNTVQjJ3HjnjCXyil4DPOdhHIm0vjzT1sDcChUXDUHY8yPLlBt5V6W9ZO9gc4CvOVLstaZXBY1ewskpgjSZHa1EZUcR70d/zrUF6Qatw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MFfVfuEbS53ZsmtkqBIgnSIACUThQbtV5T06M7f+tvk=; b=etb/TsA9apU7BlaVQ+q1BWclOUFX44A9Jne88gDjfkI601t7x8MUyEYTscBGKGmaNi3a9lqWG6JYziKHz41kLf9P0A2lUxlFAoUJJbTA1xpWWl5uV4JNULgHDJtkQrlSqH4uXW3R3aH9xJW/YgRwBUPjNd9rLrjcBSj2Xawvl5Q= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Frederic Konrad <fkonrad@amd.com> To: <qemu-riscv@nongnu.org> CC: <palmer@dabbelt.com>, <alistair.francis@wdc.com>, <bmeng.cn@gmail.com>, <liwei1518@gmail.com>, <dbarboza@ventanamicro.com>, <zhiwei_liu@linux.alibaba.com>, <qemu-devel@nongnu.org>, <francisco.iglesias@amd.com>, <Luc.Michel@amd.com>, Frederic Konrad <fkonrad@amd.com> Subject: [PATCH 1/3] target/riscv: add a trap-misaligned-access property Date: Wed, 11 Dec 2024 22:19:31 +0100 Message-ID: <20241211211933.198792-2-fkonrad@amd.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20241211211933.198792-1-fkonrad@amd.com> References: <20241211211933.198792-1-fkonrad@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB05.amd.com: fkonrad@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B06C:EE_|PH7PR12MB6538:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d587469-8d12-4685-c6bd-08dd1a299fb5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?umf5xu8fPjbPy5cZ8GgflQrAnNIZY21qdRmZmcHfyaCoaEsxNlgUKqxtVJQC?= =?us-ascii?Q?QKkWHMBmTEbk+XX677FJNW7gr6QZGXk6CxzPc25sZLMWeX4AbQA6QwJQXX/t?= =?us-ascii?Q?1WLtyp0+h8ZK55BSeBuJgw4RGjuvkLV9E2UP33bq7xE6qT13qdu1JlroHRnR?= =?us-ascii?Q?xqRukaSXtVdWG5NVfzr6ZZKDjF5QJvVga1M9yNZuik6B/23G+scvk/rdE+Yq?= =?us-ascii?Q?ISgJoqFXZQF7evudBmQCRNzx710wP/PyFyywIjKuT0Vb2XwJXE/8zJXC6+R0?= =?us-ascii?Q?o/f0WhAg5DvjvcJa0klVZiIEwKqc99LDWE97uRUcxUFbWPy9U1PJKVFr+k/i?= =?us-ascii?Q?R4zLO3Me3eiZhlD/5iP5E8gpDdYoHUL4g44eiM4nL8gNq1l0T7RQk6g6HBih?= =?us-ascii?Q?iUEhFyRZT3EWiTgS55s0n2TP8PdYJEllafk0GBkYC58JSIyaCrsiS7DBQ0fq?= =?us-ascii?Q?TuvwDmcO4r+k8rUYBVpg2QHiEKXzUxxJi/575IOFoOOK0CFM0wAPgmIE6dhV?= =?us-ascii?Q?RrQr5GCXfy1y7WVP9dZNDONa4vlRN4YuMsp5ksCllla8GvgBZLbOUP4MBMKF?= =?us-ascii?Q?80tj3k4EG/f1gpPCgTxdrTcVn8x9veEJBEUXtcyQFtfgZiLFRXjXIRVc9KVB?= =?us-ascii?Q?ZFXC7Nwn2MlyAQe0NJdVfu0tfVbFIFehjw1R5O+V0wVQs26OEMkT/M6mefWw?= =?us-ascii?Q?I33zLzNIlTBvcDonmajH3usOqzaMvJspQjFyQ/k+ds0GJkT7KSZAiYrsz9EW?= =?us-ascii?Q?K1umFZjZYj1autpe+3ODdoRn9VEvZyfqffH0JxgIbSJYm4AOE+KbEnM8XTNX?= =?us-ascii?Q?MUeYx12DQHu9VgC5/WqCPCG6n8jXGhTOphkBoDfc2J7cQP14xlktuF4uNZU6?= =?us-ascii?Q?lryBTd3OjPiF7F9H9uTJcHahh5IbJ4uIyybyYOi2h4cQq+NTbo1IsQA5x1TM?= =?us-ascii?Q?B6jP2gEWyR+JLiGtTg/fJT6GUFaGaxfOoUc4CMRfgWPLg2oslifMjxUjtnZD?= =?us-ascii?Q?b07CprYDlaXPY5e1LkgZUBjiHXz4TNvpq1nJh0EtYjd2BVqVgnKbQYqUaklx?= =?us-ascii?Q?obrw1kj2dCIH6+UhcxSl/1tJfcsP8hUXVb77vuCW3fPNuunVUcotN83BWcf/?= =?us-ascii?Q?H4Ij028mShdcKFlMUXIb2q9aRld7rSrPtT8XmmYUcxzw+9Q08YfG9JuZSvvv?= =?us-ascii?Q?2qV0B5mUQ4REeKRJzpHNV1e9jLfqr1AEqoDllsTqwNLW2WU5LhbydklQSJLV?= =?us-ascii?Q?KQMyVnMU1m1QNEv1+NSvC1MZvNzwJ4XyRaSy6wIYWb5z89kynS6Ki2gc/P49?= =?us-ascii?Q?4IW74dauRRGhuflmeQjfeyBhjHW4nQAVQrcSP5dRuyMjUjdPkARnDQ6Fvs2F?= =?us-ascii?Q?xtLZO1cO4b9Nnx7mMhhd52uIsIR/Yq0CmYqLORSxwOm93O42mHfVSqJyFFWk?= =?us-ascii?Q?r4aG5V7/FxJHo983PHhBSLSixChhnAOT?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB03.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2024 21:20:23.1168 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8d587469-8d12-4685-c6bd-08dd1a299fb5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF0000B06C.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6538 Received-SPF: permerror client-ip=2a01:111:f403:2414::60e; envelope-from=Frederic.Konrad@amd.com; helo=NAM11-BN8-obe.outbound.protection.outlook.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.472, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=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 @amd.com) X-ZM-MESSAGEID: 1733952094846116600 Content-Type: text/plain; charset="utf-8" On riscv target, misaligned accesses are either authorized and implemented = in hardware, or unimplemented and generate a trap to be implemented in softwar= e. At the moment misaligned accesses for rvi just succeed, the intention of th= is new property is to let the user choose to have a trap when a misaligned acc= ess happens. Signed-off-by: Frederic Konrad <fkonrad@amd.com> --- target/riscv/cpu.c | 5 +++++ target/riscv/cpu_cfg.h | 1 + 2 files changed, 6 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index f219f0c3b5..1696d3db2a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2697,6 +2697,11 @@ static Property riscv_cpu_properties[] =3D { * it with -x and default to 'false'. */ DEFINE_PROP_BOOL("x-misa-w", RISCVCPU, cfg.misa_w, false), + /* + * when set, misaligned accesses will generate a trap. + */ + DEFINE_PROP_BOOL("trap-misaligned-access", RISCVCPU, + cfg.trap_misaligned_access, false), DEFINE_PROP_END_OF_LIST(), }; =20 diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h index 59d6fc445d..cc560371a1 100644 --- a/target/riscv/cpu_cfg.h +++ b/target/riscv/cpu_cfg.h @@ -173,6 +173,7 @@ struct RISCVCPUConfig { bool pmp; bool debug; bool misa_w; + bool trap_misaligned_access; =20 bool short_isa_string; =20 --=20 2.43.5 From nobody Wed May 14 13:05:36 2025 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1733952093; cv=pass; d=zohomail.com; s=zohoarc; b=QTqwhbtchYRnKP914y6nLD5W4lZlHMXIdbPbKXHov1TEbfW4HFcdIGhhXDDg8bs8LMp6f0t3PzWHpiDZ7tdp04nSg98R6qxV7gJTgyyh05uihNCerV8mvtmGsN/eljSGvzWSjwFJChFAsz6+HICTIRy/mk5l1UfbksHxj7g47jU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1733952093; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4jlOtH5K/+On6zKCmG2lOMZt1X/u9RImAghe+h5nwXQ=; b=JJzVucVbgj1kuTBzbtbE+ItWuqRh86rJc0ED+VYYDm9u8+8zAYA6F3ASbWzttF460Azcv3ADIldIjewD/pzbva1pMZLywUolhQg93KWo6K+0I1BVHFYjIwLtO1INR14ErVSMUm6jt1ICFhUxNy9e1cNGNbT4cGdu5HxiPfWKX2o= 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=amd.com); dmarc=pass header.from=<fkonrad@amd.com> (p=quarantine dis=none) Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1733952093315506.1206473285845; Wed, 11 Dec 2024 13:21:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1tLU8V-0006sn-Sn; Wed, 11 Dec 2024 16:20:47 -0500 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 <Frederic.Konrad@amd.com>) id 1tLU8O-0006rh-D5; Wed, 11 Dec 2024 16:20:41 -0500 Received: from mail-dm3nam02on20623.outbound.protection.outlook.com ([2a01:111:f403:2405::623] helo=NAM02-DM3-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 <Frederic.Konrad@amd.com>) id 1tLU8M-0003ov-Ip; Wed, 11 Dec 2024 16:20:40 -0500 Received: from SJ0PR13CA0096.namprd13.prod.outlook.com (2603:10b6:a03:2c5::11) by DS0PR12MB8070.namprd12.prod.outlook.com (2603:10b6:8:dc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.12; Wed, 11 Dec 2024 21:20:31 +0000 Received: from SJ1PEPF000023D9.namprd21.prod.outlook.com (2603:10b6:a03:2c5:cafe::b) by SJ0PR13CA0096.outlook.office365.com (2603:10b6:a03:2c5::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8251.14 via Frontend Transport; Wed, 11 Dec 2024 21:20:30 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF000023D9.mail.protection.outlook.com (10.167.244.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8272.0 via Frontend Transport; Wed, 11 Dec 2024 21:20:30 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Dec 2024 15:20:29 -0600 Received: from xfr-fkonrad-l1.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 11 Dec 2024 15:20:27 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=b22NniYzQeuNsMsN8LogO/oJul5eaGOTEUHEC1lb3RSnbjmDsNF4j5csjDZurr9Y24qNXl4dsKCee2djTbKIs7Dj2P07QeXY21Nv7coAB25ik5ywavZ8UJwbdyOjuYlg1lmj1+LPS2Myfp4xzDNE68O5rIw+nlsdNCCD51hdOlLuUjjULcpZzU6IUfyYrxtSqX+r8Zq0/4MLHcw0FBcygLHYosb7nY58MPVVAqySIog4SHpmgTgxwqfzNjUJbGF7KpF84gmpctlvqiA8/5BrSkN04X//r2A6r7qzZ+8UVCuis5U6YXiYpJe3qVwgzD2T1oAx6WrHZN6tHP9XhOkgAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4jlOtH5K/+On6zKCmG2lOMZt1X/u9RImAghe+h5nwXQ=; b=FgoSCiQA89z8dgVDvH6FnETsd4f7O+ElHWGHaLIaDVq5UujcGWr9vDtIZltPjhm6gRxb8BFWfv6zbG60V8SqTCdBuEdxr6h5HMOvxH/qTEWMb/j51+28O8y4vEfwJrhBXnjKSaU8uuvkOXFrdMJbIys3dsaTHy8nk6mgXmVCTNEzIWYc/115+HfbxI/cu9ivWhnOLTYIgE5HHiNXdU/gfxgB44vcPsCnB9bX8aIQM8/ZPfbfJA+HToW3oeaknGnv0f6GfNAtBsdKcaOmo+4+iA4/k0LifRLuDXUMB3U1VNKk5y9pO89SguUZMpmhKj9/68tUp/XhwPjboyRlbZgcmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4jlOtH5K/+On6zKCmG2lOMZt1X/u9RImAghe+h5nwXQ=; b=OxwtZ8S/7fQVzafpsogyrBXZnIB2rymr0oCq7iGb2YdpzWuDJNnLXgnXf8QKqhFgSbaAf6nT8KP2DiEX/C4PwI7NuyF+lkojNnK95gbfgcLjnA3XXIE3MYfStT7YWbY0IaI2J6D/zRQtyGLHao1CAmyXpAfeqc7Mw63pW0OrNnA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C From: Frederic Konrad <fkonrad@amd.com> To: <qemu-riscv@nongnu.org> CC: <palmer@dabbelt.com>, <alistair.francis@wdc.com>, <bmeng.cn@gmail.com>, <liwei1518@gmail.com>, <dbarboza@ventanamicro.com>, <zhiwei_liu@linux.alibaba.com>, <qemu-devel@nongnu.org>, <francisco.iglesias@amd.com>, <Luc.Michel@amd.com>, Frederic Konrad <fkonrad@amd.com> Subject: [PATCH 2/3] target/riscv: generate misaligned access trap for rvi insn Date: Wed, 11 Dec 2024 22:19:32 +0100 Message-ID: <20241211211933.198792-3-fkonrad@amd.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20241211211933.198792-1-fkonrad@amd.com> References: <20241211211933.198792-1-fkonrad@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB04.amd.com: fkonrad@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D9:EE_|DS0PR12MB8070:EE_ X-MS-Office365-Filtering-Correlation-Id: fe6f7896-283e-4855-5ee7-08dd1a29a408 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UbUmKHDiqhfRK9qXkMiPl2UI9+lsXG17Pu6u1uiu4qXhWj89rTcrujFTwoE7?= =?us-ascii?Q?OiEMIDcKGUg/NB/aE3n9Nud2P5g2cfyBoPU2CGQozS4rDez85PHZHMoYHxVc?= =?us-ascii?Q?0ZP9BJpuuvY6mJORW9amBcPr+S65QkcLpKpHCeCry9emiA7e2+VAVClkmZvS?= =?us-ascii?Q?Qd3QM8FXtlsYdL2DpEjd1uYyAzv6RaG4L35j1yr4rUzl1YzVPPkunG3D3WqI?= =?us-ascii?Q?VDExz0A5qt0BannnrAuWtZyM4fCXtiOb/mesyvxJxYYgG4hfd5Z3EUuRcBvq?= =?us-ascii?Q?vw5c6qfZfkp9Ylw+lcVp7NC30ueMyRQIvzgB1a7EgbYRw6zlql0BmFz5O9N+?= =?us-ascii?Q?U3/rReNK1568Ackq3oU/fkivek3aZrWjZ69Y/W6BujNajBkq8sVeClFUAINX?= =?us-ascii?Q?xezUrIUxzyduJ4o1D5YhLL5F4vUjslD0MxGi3rwjSMwRdrBtUkCmAinFduQ7?= =?us-ascii?Q?z7w6IM+NA2nsTYnoXnZ3AMAoAS9Uzf1Ud0+yRmDpjf+Bv1T1TT2VXUBHtR4X?= =?us-ascii?Q?NiAnWL9T3mPPjhOjYE4gElGidemGERoa6xjglUuYRg+dPtRVKNpDMqjaTBiU?= =?us-ascii?Q?8IPTsIPiXBHkkywhpbb+7z0muzaoQXeC6jsMYkbFqRXUqty9zmDZMYq1wYR6?= =?us-ascii?Q?iIRdjD7YYRB5cIevPOLUG811jiF+GdWP+GlP9EBjj7QgbRU1JRzY/SKprgQk?= =?us-ascii?Q?lGjomwQ836e9wSPReq2xArs3dJbrn1Ojn7MdX9BAXpAsPUL2KR+Ix12GXw7y?= =?us-ascii?Q?G/HBCf3/f9cXKqiMDMp20VPCUpKZmAbZepKp71PzyGet27eUQRI6xOxzOFKd?= =?us-ascii?Q?ZWBq10RT6Kvys3E7WtyORzCDHoBYe2dsfb+s+c9I5VDJzx3mibUILnvNmJL4?= =?us-ascii?Q?tBNX4MmIdya5FE95o37WTnJy0pBBsCasC/hDJO/I4cKHC+zXxItF7mUzsUJ4?= =?us-ascii?Q?/NcfdHa7iQD4/gg2zLesV27AZ7EdXC811r3Fnhm8NOllan56Nf70qHl9AFMV?= =?us-ascii?Q?9iAoxVGR9XIs/g2QDoRFExYtZLOw3JUBy7rLbuLQJKREebXuYDvvlIk2n7mn?= =?us-ascii?Q?Yy3eeZ5Zn+/gea/rHBIE5MUk8udNzNkFHQiOq3UVA+SAT5MPJGx/DHHLucXK?= =?us-ascii?Q?O5N+Ig4KTwOp+DSwXgRPan7fDo/HHK3CCJxVyZCtEm07TaihvBgZ9FqxDG3Z?= =?us-ascii?Q?XsmutkM9QF9GcQSjmgq89qILDAONQN93jdyPziDuay//qfuyamrzO2R3RkIf?= =?us-ascii?Q?Hc9h1IMlTdlLMKjYb6J+QyYZBvFqA6YLWpRgRtSzlk+7WxoWvDmok5FaxnV4?= =?us-ascii?Q?Bq85llo+jQ4+dHzIOpzesDAWbsqibua0krAw3HhKyYN//7150eTbALplgunT?= =?us-ascii?Q?otXAOiDXp+t3vJqqxGtN66FSgHC5sPrMblJoiR7byzw15HMRhPd3aQ761S8q?= =?us-ascii?Q?xfFVQU2V0pYTCj/nyGvILWL/7qdonhSL?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2024 21:20:30.2909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fe6f7896-283e-4855-5ee7-08dd1a29a408 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000023D9.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8070 Received-SPF: permerror client-ip=2a01:111:f403:2405::623; envelope-from=Frederic.Konrad@amd.com; helo=NAM02-DM3-obe.outbound.protection.outlook.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.472, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=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 @amd.com) X-ZM-MESSAGEID: 1733952094835116600 Content-Type: text/plain; charset="utf-8" Now there is an option to enable misaligned accesses traps, check the align= ment during load and store for the RVI instructions. Do not generate them if the zama16b extension is there. Signed-off-by: Frederic Konrad <fkonrad@amd.com> --- target/riscv/insn_trans/trans_rvi.c.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_tr= ans/trans_rvi.c.inc index 96c218a9d7..1283207fc7 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -323,6 +323,10 @@ static bool gen_load(DisasContext *ctx, arg_lb *a, Mem= Op memop) { bool out; =20 + if (ctx->cfg_ptr->trap_misaligned_access && !ctx->cfg_ptr->ext_zama16b= ) { + memop |=3D MO_ALIGN; + } + if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } @@ -424,6 +428,9 @@ static bool gen_store_i128(DisasContext *ctx, arg_sb *a= , MemOp memop) =20 static bool gen_store(DisasContext *ctx, arg_sb *a, MemOp memop) { + if (ctx->cfg_ptr->trap_misaligned_access && !ctx->cfg_ptr->ext_zama16b= ) { + memop |=3D MO_ALIGN; + } if (ctx->cfg_ptr->ext_zama16b) { memop |=3D MO_ATOM_WITHIN16; } --=20 2.43.5 From nobody Wed May 14 13:05:36 2025 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1733952105; cv=pass; d=zohomail.com; s=zohoarc; b=Qhj+O7vDHg66is7SaMt9b4XoxEsN/E/hteLTPmHVv2+B0JDxETdcucf87o5lru4sa41CsCcWQGWYKXu2psemaj0ydlMiMOzXueLgb4ZPDVkA+YSynI51CmXmZChZFNIA6X6oK9S21ct9pZvdTN9382vcbpSiITeaXmyxzTPUMfs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1733952105; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xaAaRTi3NLHrA0ohGquj1DuS8rBISR27gG/q9lxfWLc=; b=MHryrRKwkaZ0pgZXyBabmwPbL09OaFqgO1C9/t7fVug88EiH5jTPv4SWNDinZkUJS7G1kEXVoswhfsIIe/FeG4qhnBWH1l0j6YJihoBaKEhQsAMi8Rhh0MX5rhJv7qzDQQmFZmNmQPMb4Bho0KMOv8HcueUfbF6gWBTs+c0Vjz8= 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=amd.com); dmarc=pass header.from=<fkonrad@amd.com> (p=quarantine dis=none) Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1733952105197857.2166495473882; Wed, 11 Dec 2024 13:21:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1tLU8Y-0006tY-3x; Wed, 11 Dec 2024 16:20:50 -0500 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 <Frederic.Konrad@amd.com>) id 1tLU8W-0006so-64; Wed, 11 Dec 2024 16:20:48 -0500 Received: from mail-bn8nam12on20631.outbound.protection.outlook.com ([2a01:111:f403:2418::631] helo=NAM12-BN8-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 <Frederic.Konrad@amd.com>) id 1tLU8U-0003pi-CC; Wed, 11 Dec 2024 16:20:47 -0500 Received: from BN0PR03CA0028.namprd03.prod.outlook.com (2603:10b6:408:e6::33) by DM4PR12MB6614.namprd12.prod.outlook.com (2603:10b6:8:bb::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.18; Wed, 11 Dec 2024 21:20:38 +0000 Received: from BN3PEPF0000B06A.namprd21.prod.outlook.com (2603:10b6:408:e6:cafe::1e) by BN0PR03CA0028.outlook.office365.com (2603:10b6:408:e6::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.15 via Frontend Transport; Wed, 11 Dec 2024 21:20:38 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by BN3PEPF0000B06A.mail.protection.outlook.com (10.167.243.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8272.0 via Frontend Transport; Wed, 11 Dec 2024 21:20:37 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Dec 2024 15:20:35 -0600 Received: from xfr-fkonrad-l1.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 11 Dec 2024 15:20:33 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yDKXePh+Mr0DrnlTLEtJd9ikSpFLKRU3OnQqza40H+B/bcGk62wQwlHAJ2CWrxDWuoilFrFrGCBh7OBzCt8sTFUGzgKqmj5bpACbIOQ/HuEm2wjGfV0ymcr7vr5TURXw8rjkRGmZWUfYZ+/N9Ma/ognrc40MD+1ECZ70X5wwA4STYVEZwV4nOJYoTq3jIgobkxYBzklj/fS9XfumuKtMpwGhO8Ye8Nb3AjvFhnJySnekFJ+4HdWCQoPAL1TUJAzpzHMg0OVfYPq/6exJBjh1k9JzTXiYRi2dBsAtiIWjO3liOdZyfZMGHINNcHmqy2eR6y2pCP4aotS8XOFspE+9Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=xaAaRTi3NLHrA0ohGquj1DuS8rBISR27gG/q9lxfWLc=; b=auUyWGroqOYhpRcJB1KrvOggP4llbGBDq6wyuXiq6fjwAZxAC6aYcEx+hteQB3Gx9ng1NZUoaDGneCYxFTkxolXsL3Gd1jcrZlHG9vT/q6xOGOJiGU5K9owgroJ1fhd52ohQg1+n+sjZVdInX7bcrckyeTIgVinVNoK/IlfI//Vaw3upQX92j7U8SG0IkDSOjnYwA3Bc0jOqRCt72Go2fIYAmxL+mM3Vqus8kdAVxZkZ30u+KlPiUlb09fiQ5x2KbsRRmom9tgGTA7wC8a3EsI+rxI+NbDqwvnRk+g6KxQ58FgY3IFrMZNkn5qx+66RI7iftwZAK/qIDWh9U+PxYDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xaAaRTi3NLHrA0ohGquj1DuS8rBISR27gG/q9lxfWLc=; b=xgVpWTis7Msw1eNjWM0BTrej9n7167ih31451iYt9koKRR2F9jXN6Wl0buH+EtnwfnvCcMF1ITWcxSjgJNgmchKmoYlmNmJV4iBvO70cqZdnubfiFiB7QSRxxjQ1n9vxnxHmNY2oZ5Z8o+celJYgjtn++Hq6AOr1kLFzo0pnfRA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Frederic Konrad <fkonrad@amd.com> To: <qemu-riscv@nongnu.org> CC: <palmer@dabbelt.com>, <alistair.francis@wdc.com>, <bmeng.cn@gmail.com>, <liwei1518@gmail.com>, <dbarboza@ventanamicro.com>, <zhiwei_liu@linux.alibaba.com>, <qemu-devel@nongnu.org>, <francisco.iglesias@amd.com>, <Luc.Michel@amd.com>, Frederic Konrad <fkonrad@amd.com> Subject: [PATCH 3/3] target/riscv: fix the trap generation for conditional store Date: Wed, 11 Dec 2024 22:19:33 +0100 Message-ID: <20241211211933.198792-4-fkonrad@amd.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20241211211933.198792-1-fkonrad@amd.com> References: <20241211211933.198792-1-fkonrad@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB03.amd.com: fkonrad@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B06A:EE_|DM4PR12MB6614:EE_ X-MS-Office365-Filtering-Correlation-Id: bc21a525-fb35-48c4-6851-08dd1a29a88d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JMLHe6A9iGBANo0UsVxynjXJYj7vYJegRw1zEb6NSMGdV9VwySxVpknUgZkJ?= =?us-ascii?Q?H9kaLbD4Y91iWvl8yb4afCQLj/lzQgi3RKjstCt9VLc6x72CayUsMj2+AKaU?= =?us-ascii?Q?+yM4XEOTzbxK1KzdPCQNREvx9RY+45N3vJEFazR3JmTeLD1L3NF32EqFAuvU?= =?us-ascii?Q?bS1X/VxA2KcVFn3+FQQorm5iOXurt6er3OCMNa5aT0rxWdm41iQiq8RzjU9G?= =?us-ascii?Q?ld3TpG/OLR9GyJp6K5yYFLeXmW74dVK41shSLOLi3hSeb8/zBTn8t0Bo3KBE?= =?us-ascii?Q?FxidkbxVbYVQqP8HR8ILZoQvmHdjdbXP8x1Ae7bg7w9ybQ8l9TdD80sZrDAd?= =?us-ascii?Q?mryHbzv+ixzuQnR24hAKmomupiF7MQyhg0OvvaO9AsnHFiUdGDCTmoHd1q9m?= =?us-ascii?Q?g0pyBYifp9S/aegYRbrOI1lwRun8bzCk5FI34qMc9so2zYbwOFITlV2rlnIt?= =?us-ascii?Q?HYbkPqszYC7xeST+BZgb7h99fQM5rPZkNFlN2lMBAI3Tp5UJpIFnAOI3U3MO?= =?us-ascii?Q?R2xNqmxrd2lVSGZKsINyhBvA6yGEPoQ1BBKy92uBY36Ep2Fqhcleb133MrDy?= =?us-ascii?Q?BukCwVZOIwcLY4AN5dCYYIyGpNd0eQNtXoNY/lk1/52JxvsU7yEhAIeHOiNV?= =?us-ascii?Q?WGCHpWd6rc3QdZLbPNCT8FlIznIdJdkYeydrq/96vIURPU6XMbWRcREBAV1C?= =?us-ascii?Q?TdWBndeyvk5HMaUEoSDMuItFmQAIXiZooatSasGvBwpxyGM4uVyMh5QjYs8A?= =?us-ascii?Q?eewEKpiGs7SLwvLN6lZv7fZ6w+lIPteP4Wb+LwxVZQ6Ix1WuVGVIGZnHXvg0?= =?us-ascii?Q?qqf0lAFIsbwcX9AI5Rb1PTnDxZiPMqjm2iLy8tDhHX/wMpFl+Ezt6LZhBaor?= =?us-ascii?Q?AihwdZ0bv3R0LC+zw4wTjAUt/Okb/U2/lypL+Y7FvDYGqoriLoIaL1+SUrx1?= =?us-ascii?Q?2ZtF4Dol7M5Hy3lltwpYsDb93cDtm9ofTx1w/WyCLox5C/ZHRT2THvRq029d?= =?us-ascii?Q?QbTAu8gOzCUOWqBd3iTz0pnvcbiUIwsjRKJ7Jcu3e8KoQB1lRzDSZDoqurjH?= =?us-ascii?Q?CMvgPaFPb+mxes1zTz3Kkc9q/Ll9KWoKx13ygVn5m/5y57GX/NX5TIrRbVJ6?= =?us-ascii?Q?8V9S79/W7d5aygQIN3ULA8oE15Y88Z8BQ4OmYKYc2TovUCa2FVwTy/734nAW?= =?us-ascii?Q?UJKUj4I1k18Ewb6Vu4S7VSaCjmgeZg9ihUNRrHDAor5jmno3YnrkiLIJh5Cb?= =?us-ascii?Q?Cya6nwRVrA4TpEQ7I5bbtb48vGmBdKtTuh7ogDV4/oOkXZZNLylf4N2LlLdZ?= =?us-ascii?Q?NOkNBjGEp84bhH+IJy92vGYVQpaP4kWxL3SDPG2Nm0/kib7GtpotWmg6jMv1?= =?us-ascii?Q?XYb7GA5f3MVsYtUwamjrnnEBK4CsgQmW+60bJNAL4hXSvUrszX9mbunuohvl?= =?us-ascii?Q?eibZhKF/fX9IxZ3rCZ3lvbUnSkcTvJph?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB03.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2024 21:20:37.9674 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc21a525-fb35-48c4-6851-08dd1a29a88d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF0000B06A.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6614 Received-SPF: permerror client-ip=2a01:111:f403:2418::631; envelope-from=Frederic.Konrad@amd.com; helo=NAM12-BN8-obe.outbound.protection.outlook.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.472, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=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 @amd.com) X-ZM-MESSAGEID: 1733952106747116600 Content-Type: text/plain; charset="utf-8" From Unpriviledged ISA manual: "For LR and SC, the Zalrsc extension requires that the address held in rs1 = be naturally aligned to the size of the operand (i.e., eight-byte aligned for doublewords and four-byte aligned for words). If the address is not natural= ly aligned, an address-misaligned exception or an access-fault exception will = be generated. The access-fault exception can be generated for a memory access = that would otherwise be able to complete except for the misalignment, if the misaligned access should not be emulated." Here nothing checks that the address is naturally aligned, so this fixes th= at wrong behavior by raising address-misaligned exception if the address in rs1 is not naturally aligned. Signed-off-by: Frederic Konrad <fkonrad@amd.com> --- target/riscv/insn_trans/trans_rva.c.inc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/target/riscv/insn_trans/trans_rva.c.inc b/target/riscv/insn_tr= ans/trans_rva.c.inc index 9cf3ae8019..30a047164c 100644 --- a/target/riscv/insn_trans/trans_rva.c.inc +++ b/target/riscv/insn_trans/trans_rva.c.inc @@ -58,11 +58,30 @@ static bool gen_lr(DisasContext *ctx, arg_atomic *a, Me= mOp mop) static bool gen_sc(DisasContext *ctx, arg_atomic *a, MemOp mop) { TCGv dest, src1, src2; + TCGv tmp =3D tcg_temp_new(); + TCGLabel *l3 =3D gen_new_label(); TCGLabel *l1 =3D gen_new_label(); TCGLabel *l2 =3D gen_new_label(); =20 decode_save_opc(ctx, 0); src1 =3D get_address(ctx, a->rs1, 0); + /* + * A misaligned store trap should be triggered even if the store should + * fail due to the reservation. + */ + tcg_gen_andi_tl(tmp, src1, ~((uint64_t)0) << memop_alignment_bits(mop)= ); + tcg_gen_brcond_tl(TCG_COND_EQ, tmp, src1, l3); + + /* + * Store the faulty address, and the actual PC. Then generate the + * exception. + */ + tcg_gen_st_tl(src1, tcg_env, offsetof(CPURISCVState, badaddr)); + gen_pc_plus_diff(cpu_pc, ctx, 0); + gen_helper_raise_exception(tcg_env, + tcg_constant_i32(RISCV_EXCP_STORE_AMO_ADDR_= MIS)); + + gen_set_label(l3); tcg_gen_brcond_tl(TCG_COND_NE, load_res, src1, l1); =20 /* --=20 2.43.5