From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02olkn2074.outbound.protection.outlook.com [40.92.49.74]) by sourceware.org (Postfix) with ESMTPS id CB7CE3858D33 for ; Mon, 29 Apr 2024 13:28:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CB7CE3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CB7CE3858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.49.74 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714397327; cv=pass; b=uypuiOwcfMpMNCpVOIzaZXgRYX4/Y/DOlGw85LGcl9y6/H8gAkKdyMBoa6eiPxN6FtKjJi+19Y+6QdD5hjFLsKGo6vdag/bW+SKBGFml1sOCsA/Y1S28UOI8tBapBeDc4MYhgRdSrRKW1Ats3Os2vloThbKtktivb5oGqJRFKwo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714397327; c=relaxed/simple; bh=BRAMgrcXNSoscqnz/FGRVM9N78Z5w/3HNhJ9tA7FNtQ=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=Q3EEL1yIT/GFNGJmhAXsms5GBLMoZaQb9E2IfdeZuzKaNDsTgj3wM2p6+CFpvjRfXh2dTb58d5yt1f7DOoEsB4laGprJuk9I3N8ObuG6G2UwGb939CjokbfwZkgunrwEpCcsCb1dWJT8fzefpCyKUv9b5AetvDclJDZDkl/KUZc= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BQX+D2rw4/pwK/HsXznExyJFc63ypMrPGwM53Kvh7MrFsiw7N8TsmkIp7+DAc/o96ONd3ISgrortn6Cv/PGLmf0pD0jL0AopuRYvvmel+zMRJjhIEa7w/ZQwlW6VFWzEOpKtKhkMim0qf6S6qgdF0PJ5ISBk7W2TqVo2fz8hfLUou3dtnjII61R49Fwx4WLj3OiHSe9RacHQMADMtvNjJQD6qrhXQwE188ZuetN+UyqRABb0D285u80j85ORgkuYK5qiyaJrzfQr/mNYDUcqNEIJeYSkHzmHF1GINsT1cNh2Sz/NcIOY2fAIUa3JWGiE/bQRJTcP029c2BM+6o1ISg== 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=tDuKwArEvSFGD8rge2t9mmt3uA4tDtPIYnt6fUkrNRY=; b=mDStEwJ4186tLRz+k0oHwbK0S8UF3Xwf3QhbKfZHQrRroIMzgqWGW53pXGTA0+wnFgpSqSM3vVjsZiOIgG1sURgREFGiC3WMWeOUtN23GYTxhJU2/5NctPR7jHIp2QiPZEmrU08YRO2SFiSexOaFfWUetoDDEWsrUJXnKrcMWdWB1AP2NLAAckCmMqodLdrauin0/LgZZX7UyscdLMi+3eaHKzOlkJqDN4hltTcnXpthhD12ui0hSRIQISaOmKUiHAZUgyRTUdq80tHNXN7UVpfinkQ/PFYul6e6ZaQzEdOYb50blJgf12Ab49odKn9Ql9yYrHx0OhTd3X6hvJnvBQ== 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.DE; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tDuKwArEvSFGD8rge2t9mmt3uA4tDtPIYnt6fUkrNRY=; b=RGT4FRpzA4e3tAXNQgxI2JUAvAERbpmuwgAPONLr/sQiq0FMUEGKxMVYexp6j38sVtw5OBxQWkUS9BO4qJrftWkMfdoMHYBBuiR7WhBqQzI4mWGbAyCV1tqr+pefNQduB6GYvHRn6OeTR2jigSG62cWGhFdNvjpk+IWnCXEdyr9oGRjqyrPIRJPa3EJjGH0PwyDHpvTJ/nv/Xz6SttFG3yeBKY7warFdajbTyxz7zJe/nyuqRwH+1Z6qUrgLMChxLLbS1ieVYVC6T5tk84Ny3VEt1RjABzCrtIy/m4wnqV17fGmHZmZVFLya56/tS3eHpQGfJ33/PKG4GDB/iaUP2A== Received: from AS8P193MB1285.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:333::21) by AS8P193MB2142.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:44e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 13:28:44 +0000 Received: from AS8P193MB1285.EURP193.PROD.OUTLOOK.COM ([fe80::e65d:5dd2:5662:c61f]) by AS8P193MB1285.EURP193.PROD.OUTLOOK.COM ([fe80::e65d:5dd2:5662:c61f%5]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 13:28:44 +0000 Message-ID: Date: Mon, 29 Apr 2024 15:30:43 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] sim: riscv: Fix Zicsr and fence instructions To: Andrew Burgess , "gdb-patches@sourceware.org" References: <87il00pjwg.fsf@redhat.com> Content-Language: en-US From: Bernd Edlinger In-Reply-To: <87il00pjwg.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TMN: [vrEBIJg0ZqffcAVESlz3Q3zuNz9VM7Fss1J7T8T31ImIXjcDJuHTSma2YB2FI3lC] X-ClientProxiedBy: FR0P281CA0186.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ab::16) To AS8P193MB1285.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:333::21) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P193MB1285:EE_|AS8P193MB2142:EE_ X-MS-Office365-Filtering-Correlation-Id: eb66fb52-f71f-4b3a-f975-08dc68504a85 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: qGckrhtgN9TeNLgikyz9xCjeq3fnqsdC3oV1mDUu/CP7OB611L+NmC1IRvkfkMYvRGuphYqNN2vvhTxu8pzSgun6GJRsOjwjAX3xYHBf0rXD9xtHKlqhr3HwaJLnyesmARWgcSmZPWzKc3tkM8rtWLpjUu5+nQnfrr5kj/lkJaWscFq5/KK5AWl/dfUf3yRNzfd4dx49PLnn/MlbdXFrKdPhQNv1xHv5tmLESqCdNCbLxLRV8rCJTSVgJME9+sAowsqd4BIke/jIal4eNzuFh3CvFkI6rucWZeCDqdkYVuyGQ4DdgARR2JjloDLKWY0STNJCq8g8OcBb7SuEy4H5z1KpwJLdSc28fS7aJkZkwQDMbmqmCOMQXDmke+c7pUzRFnLoWJeUOZ43icxGyzXNGBkKfX9GgWsA3tk3nCOn5WS44DimULumXa6QaOQHchCYVHKoHBXd01SAi4//DktKBrpcbkEO6IvKTFlQdJCpfjflp5JPC9Ti4VxrfFCXk5UxHVNyLipWQuqgzXnVe5dD3zXjfBrAWgy+FLKzR05zAGKZVmHZ+cAyNeMsxIljnIKX X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?alFBWkdoTEo1OEh2YytieUx3ZzBvZGdWUkE5UHJwVm05YWtsc0Y3eVh0eGFr?= =?utf-8?B?cEpaSVkwQlhMd28vdjU4TjR2SFY5R0tZR1VGV1Q2UUpNSU5sSjA0OGdKVGJx?= =?utf-8?B?QzhxQW1lUFZRWXBtMjc0TGtnLy9EV3R4VnVudmdqbEFYQytoU0Y4Y3lWL2p6?= =?utf-8?B?Y0dXb1VianZqOTdQMkFMN3MzSnBIMHBMWVZieEN4UVAzNTdKNzRURGlzbnV1?= =?utf-8?B?b2F1cnJySFBXTHZhY3h6MjhWUDFtUFM5REFkTzd5c3crSXkweXRDMFoxaEpS?= =?utf-8?B?bUIxeGc5QlhGNnU5bUV0NWFpNTlkN1ZaY0Mrb3I5dEpETThYVkpwM2w2UEU3?= =?utf-8?B?aVVITkFrdEVuS1NDV0RKaUVCVmRLQXlwaEd6NEk5L3daSXNEeWh6dUNWOGIz?= =?utf-8?B?UFNnK2VONFUrUEFzdDVQaUcrZVVUQWJHSWlIanovNVhTRWlIVGpjcGgxNG1z?= =?utf-8?B?N0k1aEZQRmlTYi9WMVZuYkpHYWM1NjNMSVlJRFpsakVNNmNEb0ZkQkh3ZC9u?= =?utf-8?B?YkcvdjFoSDc1SG85d0F6RURKMnJBNDlYT3haZEtEbmxMYm5jWS9pM3ZjTzB1?= =?utf-8?B?SXQ0UEk0RjhrK2w0eVc5cmRtSHFoWjY5QWpxTTJUNVlVWXppWkFYRzJGMnFr?= =?utf-8?B?KzAwQU94UzJzL1JGVTBPT1hRcGlEOTh0ZVdPSDRLMENEalpmVldaZ3U5T01u?= =?utf-8?B?OFRUS3djRVNoZTRpbytlMERhS3ZqbEhvMzJDYWYwMXdibFdQUzRXZ1VxVkV4?= =?utf-8?B?dXo5amRuZEZHWk5KbEpaVTRkNHpGRi9qMUxSeGtsK2V4ZzJ0bXFjR04vMTdP?= =?utf-8?B?NTdDZHhQbzBuQjAvYi9Xei9vVWE5R2VqOHlpYUJWWC8xQjV0R05jdDJpZWxN?= =?utf-8?B?WE1xbTV6aTJCWHlibm1HTXBxNko3UzRXbWNCUGYzYlNDTS8wUkFxT1ErSFVw?= =?utf-8?B?b3E1ejlvQjRGWXFhOWpuM09zWnlPM3VSVlNpQWlYVEwvNWYzNUZINW1VMzJ6?= =?utf-8?B?YXdCNjRyZG1icDlid29tZW41R01uT1oybHlVWE5nWDU0SFFzMkp4ZG9zUGQy?= =?utf-8?B?UlJGOUdHQzhWRlJVVlU4WTJPekJDN1RzdlBZRjdOUGJZNlE0T0JPdTNsMy93?= =?utf-8?B?MjlBUytiZHQ4Zjk5KzRZZlAwM2wwamdCMlpncVY1TDhOdzR3WG1pWnlZblM5?= =?utf-8?B?TDRxSVFGenFuOGlJb2VpWHMwYUlhVk9RVmFubzZDY2pLa25leDRWb1RnVGJt?= =?utf-8?B?YllaWlNwMC9uZU4vSGVpK2RobWE5aTBrQXlJelV0K0VLK2ZOVi9pTHpCOFEx?= =?utf-8?B?aHAxb01Cd3FGWXhFdndTMGJlMTBYM2VwNHlpRy93ditvU3d0eTYyUlBDRWZ0?= =?utf-8?B?ajF0ZGlyM3FRWXNta3dMY0tKZkxmTWNXc0gxNlFhQ1I2V1dLaU93WHBOOUJC?= =?utf-8?B?UEp3Yytmd21BdjgxQmtzUkcxT1ppa0NoMmd1TlNveXA4bWFXWGNEcWtKcmhR?= =?utf-8?B?YldKcXN3VEdmd0RjWWZsSDUybGRHNS9KcmpNRWpteWZCWjdQTGxza3MrcTNW?= =?utf-8?B?UFB2V0JPcUxBcmNRZGduWEVTL3AveUVUSDFWZGljeGd4ZEFrVEZvanJKQ1FS?= =?utf-8?B?UjRLWDNuNU1yN1FsVnpJV2E2TUVsZU84V1VnMnZPcEYvdUw1b2taUEtUazQr?= =?utf-8?B?elV3bzZJZU9jNFNrZUt1bHh5eFByY0p5U3hzb3YveHliWTZUSjRVbDBHRU40?= =?utf-8?Q?F4f/YQCL1iBl0F+zYlwqzAaNJhqueEcbOX0zDWH?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-80ceb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: eb66fb52-f71f-4b3a-f975-08dc68504a85 X-MS-Exchange-CrossTenant-AuthSource: AS8P193MB1285.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 13:28:44.0310 (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: AS8P193MB2142 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 4/29/24 12:01, Andrew Burgess wrote: > Bernd Edlinger writes: > >> The Zicsr instructions were totally broken, and >> some instructions like fence.tso were missing. >> >> Since the test coverage is not very good, add some >> basic tests for fence and csrrw instructions. >> --- >> sim/riscv/sim-main.c | 74 ++++++++++++++++++++++++++++++++----- >> sim/testsuite/riscv/fence.s | 17 +++++++++ >> sim/testsuite/riscv/zicsr.s | 24 ++++++++++++ >> 3 files changed, 106 insertions(+), 9 deletions(-) >> create mode 100644 sim/testsuite/riscv/fence.s >> create mode 100644 sim/testsuite/riscv/zicsr.s >> >> diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c >> index 1815d7f2a6c..69007d3108e 100644 >> --- a/sim/riscv/sim-main.c >> +++ b/sim/riscv/sim-main.c >> @@ -535,37 +535,57 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) >> break; >> >> case MATCH_CSRRC: >> - TRACE_INSN (cpu, "csrrc"); >> + TRACE_INSN (cpu, "csrrc %s, %#x, %s;", >> + rd_name, csr, rs1_name); >> switch (csr) >> { >> #define DECLARE_CSR(name, num, ...) \ >> case num: \ >> - store_rd (cpu, rd, \ >> - fetch_csr (cpu, #name, num, &riscv_cpu->csr.name)); \ >> + tmp = fetch_csr (cpu, #name, num, &riscv_cpu->csr.name); \ >> store_csr (cpu, #name, num, &riscv_cpu->csr.name, \ >> - riscv_cpu->csr.name & !riscv_cpu->regs[rs1]); \ >> + riscv_cpu->csr.name & ~riscv_cpu->regs[rs1]); \ >> + store_rd (cpu, rd, tmp); \ > > I know that store_csr doesn't support many CSRs, and doesn't do any > checks for things like writing to read-only CSRs, but .... > > ... I think it might be worth adding a check here for rs1 == x0. The > docs say: > > For both CSRRS and CSRRC, if rs1=x0, then the instruction will not > write to the CSR at all, and so shall not cause any of the side > effects that might otherwise occur on a CSR write, such as raising > illegal instruction exceptions on accesses to read-only CSRs. > > Adding these checks now might mean things "just work" if we add support > for more CSRs at a later date. > Yeah, good point. will add those checks and send a v2 version. Thanks Bernd.