From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617393977; cv=none; d=zohomail.com; s=zohoarc; b=UisEwL3UVWa3q660cmvSkMtBtaAqJG+Ip8t77SGbZjwmB+Lbmkb/pKhrhJjfRGDezhGgfXg/XkQMm4dOBX/MXu+lAQoLKNQHmDUH8QXwq1j/49ePiV7r81hHnoHncqneIJI5aosAhT+wPhcfoWEwYinhI5A0cjBVeUM1VylhKGY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617393977; h=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=KizJwKzJHVRm2Pz9y4sbpSWMIv1SL9dh2eNqifhodgM=; b=WQmHZv9ntNn33W3wM0uVcKMRXqr2Z20dNysMD9k1Z6nhuMF8o2fAfNxJ81s1Q4C6EZgTZ+0F6c7nzjRT16nlUKeLDKxZ7B/0tWt56affodTTji7ZFnJP+rjVr/GrpKjUdKckhfM6cgwoMAUSzg8xy8mjgEo4ZC3CoIsLBCWnKk0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617393977276474.81037007045666; Fri, 2 Apr 2021 13:06:17 -0700 (PDT) Received: from localhost ([::1]:44092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ3b-0006JB-UR for importer@patchew.org; Fri, 02 Apr 2021 16:06:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1c-0005KY-7t; Fri, 02 Apr 2021 16:04:12 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:6345) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1X-0003EZ-L0; Fri, 02 Apr 2021 16:04:09 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:06 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:45:46 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip02.wdc.com with ESMTP; 02 Apr 2021 13:04:06 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393847; x=1648929847; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bygf+OHJhJfY5LvvCxjl/+QUgctAvU4eartH1WhfniI=; b=bwvm+juValKvMaEWvTtadcD+/Oi8SWmrEynDc/p1OjTt5BlV2lFoTOcI SRnbt0deJtVfmBsnhWdLK6cCtY1uvSXYbhY3ALMZ/oZ2SM8bzgjORgpmu 7tCP3jiyNURfoVlaTWuLDmEbOUiGuHQ14pqQBsfH9xkJFnXDwC96BE2jM U0k2DqROG82GDxYNxiqqncjFHtMllK1Ov81nxj6Hg0J3pbsloDjoSl/Wo BuywBq1L8wSjjg1Rqipp5qpmhym5FPYtDFULQeuXWgM4VUE6kl0b3oWx5 0K7feof7QhXj+W8MuI5egHAZ7y+vqkqmMZXsDVB25eNDRaOKC04z+Xwzo Q==; IronPort-SDR: +XqvMjbCa/YxldMZgVbZW12spkIqagb1e4XjYIpJ0PxY9UOqXz5B3svch6hC45Nnyp5Yl8WiV3 KdKZ+mDdKRdtHqKYNEYrkwQy2znEDlVmaUp6nF3437lcjg16Q82QN6tsYHImpbIVqY1GhotVmw ENuB230ONgFUU/FCQggV2O5BqXT+UHvV5xgIgjxnaZ9QVfY7PPccDZa+tvtgu80ZsCJfyaMmpF v2baDuysvm49VG31a5nf/kW/u/RDAJb+yybIxfU1og+Il6KCgCUsYnPEGr4WAazoXnRwq7w8CZ uvE= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="163694215" IronPort-SDR: 6WMUEecxhazucP8hcryXfeGDAyfa0RJ4YJ+EascE0epVMBiCnX+BNxj+ry86/E8pHuduclv+SE Gw0j8mBPhMockZ9AOxh2HV8qSFy7kulZp0X/uplaPg5AQoTQRJeLIiwJQNapfxR9NNiOjlrSPg 2rSMTpF0bPGFyyrMr3cw4nITAFQhwh4IZnW7B+pSILvoJ0HQ/XVt1y/LQjomFGzhwdqsWDT0ce zoScGsR8dUdnByWhdWZaNYU5SGFs6SGHFIo+VURuibi2UndjqZaEags/egbuh/E0L3HGpOo1r2 /DnO3bAqgJG4ZnHqyXQt6DAV IronPort-SDR: wCIwtsxgHxP8a3BfMwTRRZJA/1P1J+R4hpukvSRUMcB6rnAv5amWqPqUGXnBZqCocVIzwl+ZOz qxEUa2HkMFbpzeAYSRFBYWDnhBfKoErhcOwBrVXUIIrZ/MYXccuuC8jRP2w9aEqnCenZgtBKue OXl8hgC4Km5FMVeumpyoW/B5qebLSz8kYcoUpoOYJ+IjLnXNzrLdANz9sMvKt3x/Knm9ixtlqB UgZ7gNCrU1EWTlw/G+6vSHxo4ciCjwStgsP50Et6/dKDg+1OeG50krB+5hDJQcQYWaDP2jN9t6 fa0= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 1/8] target/riscv: Remove the hardcoded RVXLEN macro Date: Fri, 2 Apr 2021 16:02:15 -0400 Message-Id: <8c175fde1809d8ca97409eb86cd3e92216e115d6.1617393702.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.153.144; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa5.hgst.iphmx.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, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Richard Henderson --- target/riscv/cpu.h | 6 ------ target/riscv/cpu.c | 6 +++++- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 0a33d387ba..ef838f5fbf 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -53,12 +53,6 @@ #define RV32 ((target_ulong)1 << (TARGET_LONG_BITS - 2)) #define RV64 ((target_ulong)2 << (TARGET_LONG_BITS - 2)) =20 -#if defined(TARGET_RISCV32) -#define RVXLEN RV32 -#elif defined(TARGET_RISCV64) -#define RVXLEN RV64 -#endif - #define RV(x) ((target_ulong)1 << (x - 'A')) =20 #define RVI RV('I') diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 7d6ed80f6b..92c3195531 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -147,7 +147,11 @@ static void set_resetvec(CPURISCVState *env, int reset= vec) static void riscv_any_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; - set_misa(env, RVXLEN | RVI | RVM | RVA | RVF | RVD | RVC | RVU); +#if defined(TARGET_RISCV32) + set_misa(env, RV32 | RVI | RVM | RVA | RVF | RVD | RVC | RVU); +#elif defined(TARGET_RISCV64) + set_misa(env, RV64 | RVI | RVM | RVA | RVF | RVD | RVC | RVU); +#endif set_priv_version(env, PRIV_VERSION_1_11_0); } =20 --=20 2.31.0 From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394245; cv=none; d=zohomail.com; s=zohoarc; b=BG42cxuerhkkOlMcy6keNFX2jCRGBfANS4VIGgbHv5xsR96N6tZQmAsXJ2N2lpH88xw8mc0IK2dPMjmtcQUH4w/OIMlpXoydiVwxkfQ01NiwLaaVgxuD9APlaLLP6nBE6Md6O1wJA8tjIX/BA6eni29Eo4gdcRdwbDKeHyEGGFI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394245; h=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=NJmTBQhqSEyKodmDFfFtLE8f87wMqcOM9fJaPiTDxCs=; b=ZKD7txzfcEzI7behANE0XcyrNSBI7NNe8x00+aTclnltzLn7shrjbaVCCqfVk1Uk65v607KsQalwa9/Y7q9pJ9nRpeWpjl/SVtiU7y3vluawIPUg0Ni+gM6LySQGjLeKIgTZEniewhkLIDBG+FxNcV8iWD7fWyHsg7UmT9CH964= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394245852954.7278711010208; Fri, 2 Apr 2021 13:10:45 -0700 (PDT) Received: from localhost ([::1]:56236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ7w-0002uZ-Rb for importer@patchew.org; Fri, 02 Apr 2021 16:10:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47472) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1e-0005Kz-DT; Fri, 02 Apr 2021 16:04:14 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:6350) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1c-0003Gm-Fo; Fri, 02 Apr 2021 16:04:14 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:09 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:45:50 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip02.wdc.com with ESMTP; 02 Apr 2021 13:04:10 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393852; x=1648929852; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nnaOQM+2NcNv78g3fsut04z6oS8XvH1D2ko3Qc9EW6k=; b=JjiU6bQZOnj4L8LQwGD9fYTkMDRxrVcN3UQOY3Q1BP2s50hLv+AIlfbi zwgU9SDdy6Xy46hu+TFQR8nryu6ORVSfnHkoVaglg427E6avu/qUVvXrV xbUkVUg/Swb19gDNSNxSC9L1vOX4uoWtpFDt81otLqHtN6cRwTkrlUhyG sk6VIC2nmOYoOoIEdR1GTWIHnGEWWuP0mhSpNXIZxKqm/5OcnjCff6VVN mR7LwInyZtJ7oWOEwY618jNVFKf+mCL48Vkh+J8u5NiTw6ub8+Uqn0f+Y QtkIcxqYzWNrsFPAM+ZKEZGYdTvAEAhyWsmvkFJD9uVBkCtVl2ghbCB8M g==; IronPort-SDR: hEUza6W47xqzdGgYEhTshYgGSdyRvL3I1Jayiqrbl1DHyF/tDSo0SgmDU+GjKGHOmjRlyRfZzt LSQ7kUUgSbSqPIMUZvHIFINYLjimQ2ouzT7m9t9/ylJNZaA6v6oitYFIncyn9LQMaaOss0ZJeH LNp5kJs1Sn6MLlWT3RagmBN6J5j5G8klMWhWfNkOGIWN7aQv1RzB+rjHotdTV5tX9/2RN13I/E VELTEscQN6eZ1LVTnsCrM1ND+PSVcG/Tq8cYWg7sQQABZLjTABxU9glGyHTUyckncgegOcJdwt 2J0= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="163694224" IronPort-SDR: rS8NT4MGU+1NF6fdD0N9WEJU4MIelFx6mqgKm/m52gruni7zx4bhNp/LpLz1s4cfs3LOOFWbii ziY8RXbOh7P2X0rkgHHEnVfK2ZtNtfTr15i6/kIU/a7lsWUCD+hlYLeT9Ox3DxYU8CnRikZKPp xvSCqnX+c3R1/gtL5tlUBeMmRJV8RVXLWxJRSoeJ6xEVmEkbd3SHVQvO6OCAGg7rsa7zSGUv9t E5vv6TxqwB7fy3Rz9bXzoEt1LUdMKnUNYQhjFqTVCqB30wC7jlaU1oMkZ9U7TK7LhsqzgUaeKA UYe9wLuQJFQ3/urI+5nVtZO6 IronPort-SDR: PdYMQt0ROtMzFxgVD2xG1+dBYWE2T0xoYgQHr6whPQEt+yjzlwcE1mGIJDAjrHUnle9Nul/y/G hHAH+szafYIQjhnuet3aDrSb1KqXfGbxRRcnDmRiScNMG7LI11PMkzqgn8CW+MHWc53xA/bxfD lTDmptivkHLgdJgDrdQpFFRm8wQ06CUl7yhcKBOMg29suI4guc6JdqyZxhw4T0I0Th674C/NG7 1adzAbTCChFBcaYy31uYSq8oTgUTv1rNtgz0jyqrZF/V6W51Y3kOhDJs3AuqbQI8lCqzdZY5H1 xu8= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 2/8] target/riscv: Remove the hardcoded SSTATUS_SD macro Date: Fri, 2 Apr 2021 16:02:19 -0400 Message-Id: <4b26392f1626590ee9064d43df4aef590472b72d.1617393702.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.153.144; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa5.hgst.iphmx.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, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 6 ------ target/riscv/csr.c | 9 ++++++++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index caf4599207..969dd05eae 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -423,12 +423,6 @@ #define SSTATUS32_SD 0x80000000 #define SSTATUS64_SD 0x8000000000000000ULL =20 -#if defined(TARGET_RISCV32) -#define SSTATUS_SD SSTATUS32_SD -#elif defined(TARGET_RISCV64) -#define SSTATUS_SD SSTATUS64_SD -#endif - /* hstatus CSR bits */ #define HSTATUS_VSBE 0x00000020 #define HSTATUS_GVA 0x00000040 diff --git a/target/riscv/csr.c b/target/riscv/csr.c index d2585395bf..832c3bf7fd 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -418,7 +418,7 @@ static const target_ulong delegable_excps =3D (1ULL << (RISCV_EXCP_STORE_GUEST_AMO_ACCESS_FAULT)); static const target_ulong sstatus_v1_10_mask =3D SSTATUS_SIE | SSTATUS_SPI= E | SSTATUS_UIE | SSTATUS_UPIE | SSTATUS_SPP | SSTATUS_FS | SSTATUS_XS | - SSTATUS_SUM | SSTATUS_MXR | SSTATUS_SD; + SSTATUS_SUM | SSTATUS_MXR; static const target_ulong sip_writable_mask =3D SIP_SSIP | MIP_USIP | MIP_= UEIP; static const target_ulong hip_writable_mask =3D MIP_VSSIP; static const target_ulong hvip_writable_mask =3D MIP_VSSIP | MIP_VSTIP | M= IP_VSEIP; @@ -738,6 +738,13 @@ static int rmw_mip(CPURISCVState *env, int csrno, targ= et_ulong *ret_value, static int read_sstatus(CPURISCVState *env, int csrno, target_ulong *val) { target_ulong mask =3D (sstatus_v1_10_mask); + + if (riscv_cpu_is_32bit(env)) { + mask |=3D SSTATUS32_SD; + } else { + mask |=3D SSTATUS64_SD; + } + *val =3D env->mstatus & mask; return 0; } --=20 2.31.0 From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394334; cv=none; d=zohomail.com; s=zohoarc; b=ka87FMvEZDN7I6t2J6jBHWC+yDyckSNev1P0Dx3jUQSUBiYiyRUch3KK3nUwCIDauQtQpEnWBZMA7Q10QhBvFW0esTCJJZdaer3f/SyhazIeBIqzH6R/u+os1He3aQgzBLBrHTS/lK4gML6c5mwP0I0aMAUqU3wIgF9TjYDLcFk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394334; h=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=AMXMwXCRBk9Lpa657u2497dhwEuN7rDyoo6Gn9qyZJo=; b=EYZi4vyIZo+JHwZzc7OIUU23OSww4eCp9ZiH/YAui4gi0GCA2hkLdOSeMZWUGVsJhWNpXM+7Ynf0f/qc7Ck8jzr10UXp7C6/5Br88aE9zwISKfiQV+kKzdwoNO284LM46JpFBxI1KMaDpmPI5Vbfz8nCo6OytbVIeTy9PA+C+Mw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394334913937.8061594106231; Fri, 2 Apr 2021 13:12:14 -0700 (PDT) Received: from localhost ([::1]:32966 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ9N-00051q-9D for importer@patchew.org; Fri, 02 Apr 2021 16:12:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47530) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1q-0005TR-Kb; Fri, 02 Apr 2021 16:04:26 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:6378) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1k-0003Lx-MU; Fri, 02 Apr 2021 16:04:26 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:18 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:45:59 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip02.wdc.com with ESMTP; 02 Apr 2021 13:04:18 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393860; x=1648929860; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ESpMWahl8MjArAHmAXc2r8EVAlfKvgwoIfZGUx8aO9A=; b=FM22dV+ZQfljGSELSFtkIwpkc2Qk4Wbk2SMiSL2jCtsYNMD4AkxpkaK1 cRE15T69d8Oyp815Dyc9npn5Dx5P/1PvOuR53Xw8tlmSCIbAKGmi61XWj fU1lqbaT4wNzYEokREzSJNpnkR5FtBeyk5xRawtxN6Edj7ua54e2i/EeM d1+4QjtkCILOCa/Ge/6bsB5RUn9os4ph/rAtJiT4OJFUVM5+d2ELJyliY cepjCARHH6I+zDRtPPcW1Y8gxYfOKt2NUF4wIgTCpGxADbnn9Hf0g9Zey zss7gnQvu6x6QNimbEqKKlfCs0zpGzJYY0SsPOmKuo6x8Kr3eSWZ2Edk7 Q==; IronPort-SDR: j+WyWuoHD29Vr/XhcUXmxX4kET18yKyazzWlgZl2ByznS8SUD5zQqCq19GroPDWuOrVjJDPVXR w1Uw9e2Ckuu6EiLgDmtOuqbN7mJrxmYpZ5ExfaJ5nYoqPn02TF551AlAR+jkJyraZMy4WY5Uiv 5Ap2tk6z9neLQibaQXlpSAg2IDpSwRiqxsfxhJ2n2U0p3DcSgsK5pAmXI95V7gRGMJjV+N2VBO KUKkrHFC764ckILQPbRMJbM3zYtrVFzVuRuFMqN7shTVqfC00XxuNb4Zg6vRofM9mNcSs+9v2w soE= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="163694229" IronPort-SDR: irbnrYtoWXspzReWxR2xQW3yPBEdR85oHQe6ecrP7qantAgUjdYATLvz9qjouE0jwnyKTLZ6BE 9bES8eTnlZuYroccEMf21EI1pP1XTXew4/T6vB8kV7sYDRWrgWtiB8J9dfI0SLo3e4x3D7difC DTRoG+/BwDxsdYEiSUTdEMJLTJW9YjQ4O1BgMHp7NT6tM1qgNSxKB4rhhnAFK4DQQoDRVFPAWz ePdMo8m5gJqXvwghN7Cho6D4y7nodLY+aYfcOlRDQdbRog6z25qv+/h+Aez2CQ2nmwAju4jV9n QGd4wvf8a0JGSUKurf1p+tpw IronPort-SDR: AwXhyd9C9Sq9eKPKKHcoG/2VlmKw5uMK3M+dJ8DZal2jEBtf6Y4JJFMa6rHzV3YhlpSf2uh/XE icZ2cdpXiAZRtwK8EyBLecf/UXbghaBpVNQ0dbvx7YN0Q/gtzga4Irz/jkc8vFAOypsKu3tmTw a9oZltXB84qICh82TkoDxgHy++7Psl3fTNCL1J5q2Ly7X3q0f+vyXTzjxqxmKgItpShAUA0prm JyaHSztWREcQoYvz4nqfmPwUJIwvCNtA0+k0jZziFMslfrxhxX+m1BRjH9QhAaoPvhS4fVGXgr Lnw= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 3/8] target/riscv: Remove the hardcoded HGATP_MODE macro Date: Fri, 2 Apr 2021 16:02:22 -0400 Message-Id: <91de8cea886eaef39f8ff51d3962fc9b75ef1a0c.1617393702.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.153.144; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa5.hgst.iphmx.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, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 11 ----------- target/riscv/cpu_helper.c | 21 ++++++++++++++++----- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 969dd05eae..8caab23b62 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -207,17 +207,6 @@ #define CSR_HTIMEDELTA 0x605 #define CSR_HTIMEDELTAH 0x615 =20 -#if defined(TARGET_RISCV32) -#define HGATP_MODE SATP32_MODE -#define HGATP_VMID SATP32_ASID -#define HGATP_PPN SATP32_PPN -#endif -#if defined(TARGET_RISCV64) -#define HGATP_MODE SATP64_MODE -#define HGATP_VMID SATP64_ASID -#define HGATP_PPN SATP64_PPN -#endif - /* Virtual CSRs */ #define CSR_VSSTATUS 0x200 #define CSR_VSIE 0x204 diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 21c54ef561..6446af5de0 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -411,8 +411,13 @@ static int get_physical_address(CPURISCVState *env, hw= addr *physical, } widened =3D 0; } else { - base =3D (hwaddr)get_field(env->hgatp, HGATP_PPN) << PGSHIFT; - vm =3D get_field(env->hgatp, HGATP_MODE); + if (riscv_cpu_is_32bit(env)) { + base =3D (hwaddr)get_field(env->hgatp, SATP32_PPN) << PGSHIFT; + vm =3D get_field(env->hgatp, SATP32_MODE); + } else { + base =3D (hwaddr)get_field(env->hgatp, SATP64_PPN) << PGSHIFT; + vm =3D get_field(env->hgatp, SATP64_MODE); + } widened =3D 2; } /* status.SUM will be ignored if execute on background */ @@ -621,9 +626,15 @@ static void raise_mmu_exception(CPURISCVState *env, ta= rget_ulong address, get_field(env->satp, SATP_MODE) !=3D VM_1_10_MBARE && !pmp_violation; } else { - page_fault_exceptions =3D - get_field(env->hgatp, HGATP_MODE) !=3D VM_1_10_MBARE && - !pmp_violation; + if (riscv_cpu_is_32bit(env)) { + page_fault_exceptions =3D + get_field(env->hgatp, SATP32_MODE) !=3D VM_1_10_MBARE && + !pmp_violation; + } else { + page_fault_exceptions =3D + get_field(env->hgatp, SATP64_MODE) !=3D VM_1_10_MBARE && + !pmp_violation; + } } switch (access_type) { case MMU_INST_FETCH: --=20 2.31.0 From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394434; cv=none; d=zohomail.com; s=zohoarc; b=i+eksokoJsDpeVRLr0rLl0huNClhWrqsMKnIqf541UU6VC6RcdT8UnUBknKFCJeczODZ2CoZOA/OvrnsWmXK22k0kV5VdUdHYs0XWerUiLrN2lGDSF6hGblYtrF1ZCBAZbjPljRlB4K2+nurD4D03Le2VYyScQIhMx/nN0ylLCw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394434; h=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=oiTOfVLQUaMnrjHkyDVQ+tp2RFlonnsGMC1fWUdA2Zs=; b=PHuW09FQmog3/zTjLjRixs0kZN02fTgoOAkcSUV6qivDboUbG4EaBGuDaPsNTVxh1dhvFn84aj75EZrMDDiVwHTsJ4LmisUmhRMgS3jakRaZAh1cfKL6t6sT2ZGQzwS3jzefxsFkzpbtX4Khdq1qDZ4mC/PCXmCUJrZjuNvjUG8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394434517724.8399178339672; Fri, 2 Apr 2021 13:13:54 -0700 (PDT) Received: from localhost ([::1]:37466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQAz-0006rD-Ic for importer@patchew.org; Fri, 02 Apr 2021 16:13:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47548) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1v-0005YK-R6; Fri, 02 Apr 2021 16:04:31 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:49476) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ1t-0003OI-Uq; Fri, 02 Apr 2021 16:04:31 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:27 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:46:08 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip01.wdc.com with ESMTP; 02 Apr 2021 13:04:27 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393869; x=1648929869; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=kLrMTEgcRfPaVkkRYDE5ayo5vm3gKUAnMaJCQNv4XDo=; b=iBbMkjaMI/Y5sFuswWeyVHTVPYtOgMa98Q0n8f3Pu37moysqM7wxAtTq nD5EptdBahKJ8I9OZlw6eGwmLUSgSJbtUtrLvfnWOrnka0eVVsDpnw9bB 5oqexCRfTlh+C40iCZO2HqXew0gjbEZ+Mysgo2wVVRJqg1HTP+G5U9h2m AAmn0NMwLHQ2vyMjWYn9I3az7iXyw3n0Q8TVpMZpQZ4kX3pPlXDunoHlQ rUNHhDnw8n30r2f7Bj0r3q1zH5KHTL+jQJW8gatveSPpyly+OvFolE/Kh G3y2GfmTM4Bslq69nja66JP9FYOMzz5sbK9YaPeWm7eP7DjzEX9xngwpR g==; IronPort-SDR: O0GhO9fsYkijN83blKkE3zgietYsRExKWyX04Ysa+tfFjgWtTTxlNJCBayoQGUdpWNkNuKC3SX B9cyBZn8bNoluxQMgb60241Rrl9wKm0Qt+7LWQ9dGYkwarkeWEWy/t60xpNnpND7UiMSmai/DW QG3yCRd3gWRu325LzDa7AYZ7mtYiDfauYTLlT2hnfNh2otXOftWe9KOij4bP4JVVMgUEMNM9ev uo8r94524BSGJUnVcN2WWcK/LjORLTj3NME9GfmHj6SoJHZfo1V0JdEtOSZU7snwbt8zbFs8OK L+g= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="274524876" IronPort-SDR: njnxs7lnOwvAkwr++xeBry8XDvrHPy1DgG8S+Kiuf3XT3B+gL0n/aAHB5Yn7VkM/3vFE9KnhAp 0y9Ytl8rVfFBZoq1P8xx3tS+Q2nQGzzowPc/k2xwSGWcDO6sp2hkdAGk+G0z0Qdudp3Jrqd01M iRI66V6DBumhSyNtEJORgD9j1dMyxT4w+Bh/v9KhQJeLaacxsyKUUUamiGjJb/zJg52+FIyyJU 9OxWBElzvp4YTYgmdeEuTSnskNO+0ZbhldQE/gr7tLqQEFb4Q1EULusPvIcd1wywja1FuiNhFA Dl1yHyjUzPPjTDqNl5WUnaBQ IronPort-SDR: AqewZ1lxBTY2q0v+2gT34fml1KEPq4ZLAfA1VHmsa5m9VRMluMB7wcgMrxhBx5Lw24LwgJMexm mw4fiJhM8rAR/arINfh4CBI8jKig8dBFiz2B63OwwVf6aJFKMN1P7BS3EyuzyE4HjF2uEqYW6B No60qpxdqwSsUHp8tS9RzwylEH/GcW32IX5P8JzhcuCB6njKNYs+IpG2rZ3aIBar2YlAmNTTI0 wbkjbuDAiw6yJVti9KrXbwDjF2DiIBJzcj2ciyF9eKlV0mCd/FuhXjZYjITXWjWjZ4F9vuXVK3 Q1s= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 4/8] target/riscv: Remove the hardcoded MSTATUS_SD macro Date: Fri, 2 Apr 2021 16:02:31 -0400 Message-Id: <7efb55362999a5b709ea8e7fa0ea188e740d9c67.1617393702.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=68.232.141.245; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa1.hgst.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/cpu_bits.h | 10 ---------- target/riscv/csr.c | 12 ++++++++++-- target/riscv/translate.c | 19 +++++++++++++++++-- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 8caab23b62..dd643d0f63 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -387,16 +387,6 @@ #define MXL_RV64 2 #define MXL_RV128 3 =20 -#if defined(TARGET_RISCV32) -#define MSTATUS_SD MSTATUS32_SD -#define MISA_MXL MISA32_MXL -#define MXL_VAL MXL_RV32 -#elif defined(TARGET_RISCV64) -#define MSTATUS_SD MSTATUS64_SD -#define MISA_MXL MISA64_MXL -#define MXL_VAL MXL_RV64 -#endif - /* sstatus CSR bits */ #define SSTATUS_UIE 0x00000001 #define SSTATUS_SIE 0x00000002 diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 832c3bf7fd..6052b2d6e9 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -492,7 +492,11 @@ static int write_mstatus(CPURISCVState *env, int csrno= , target_ulong val) =20 dirty =3D ((mstatus & MSTATUS_FS) =3D=3D MSTATUS_FS) | ((mstatus & MSTATUS_XS) =3D=3D MSTATUS_XS); - mstatus =3D set_field(mstatus, MSTATUS_SD, dirty); + if (riscv_cpu_is_32bit(env)) { + mstatus =3D set_field(mstatus, MSTATUS32_SD, dirty); + } else { + mstatus =3D set_field(mstatus, MSTATUS64_SD, dirty); + } env->mstatus =3D mstatus; =20 return 0; @@ -564,7 +568,11 @@ static int write_misa(CPURISCVState *env, int csrno, t= arget_ulong val) } =20 /* misa.MXL writes are not supported by QEMU */ - val =3D (env->misa & MISA_MXL) | (val & ~MISA_MXL); + if (riscv_cpu_is_32bit(env)) { + val =3D (env->misa & MISA32_MXL) | (val & ~MISA32_MXL); + } else { + val =3D (env->misa & MISA64_MXL) | (val & ~MISA64_MXL); + } =20 /* flush translation cache */ if (val !=3D env->misa) { diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 2f9f5ccc62..9c6d998efa 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -369,6 +369,9 @@ static void gen_jal(DisasContext *ctx, int rd, target_u= long imm) static void mark_fs_dirty(DisasContext *ctx) { TCGv tmp; + CPUState *cpu =3D ctx->cs; + CPURISCVState *env =3D cpu->env_ptr; + if (ctx->mstatus_fs =3D=3D MSTATUS_FS) { return; } @@ -377,12 +380,24 @@ static void mark_fs_dirty(DisasContext *ctx) =20 tmp =3D tcg_temp_new(); tcg_gen_ld_tl(tmp, cpu_env, offsetof(CPURISCVState, mstatus)); - tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS_SD); + if (riscv_cpu_is_32bit(env)) { + tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS32_SD); + } else { +#if defined(TARGET_RISCV64) + tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS64_SD); +#endif + } tcg_gen_st_tl(tmp, cpu_env, offsetof(CPURISCVState, mstatus)); =20 if (ctx->virt_enabled) { tcg_gen_ld_tl(tmp, cpu_env, offsetof(CPURISCVState, mstatus_hs)); - tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS_SD); + if (riscv_cpu_is_32bit(env)) { + tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS32_SD); + } else { +#if defined(TARGET_RISCV64) + tcg_gen_ori_tl(tmp, tmp, MSTATUS_FS | MSTATUS64_SD); +#endif + } tcg_gen_st_tl(tmp, cpu_env, offsetof(CPURISCVState, mstatus_hs)); } tcg_temp_free(tmp); --=20 2.31.0 From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394007; cv=none; d=zohomail.com; s=zohoarc; b=GJ1QS5dlT0YiwnLQIMaHRQwfA+dAgZduCMRt1uow8iplSkm2BhQr44vv9Y6QK7s3rSmj0BHfqgpU+ZwBYvQuZbSRo9s6oBuTNbx2H9pVBDMq2Bg0avhJNs0HgvubzzhmAuAMahXeDmhyP97Lrfo4KAGroqWkcIoZsbvZzWzQHGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394007; h=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=YqEBaBOAAoPgzNXR+ZtGqJRB040HfIfJEOj3LKMgz1g=; b=cRaD8KGpTlRPrQKDdRxHydYNn9KdmAuXuQvsw3xCSiq8mwzVzkZQWc40Spi0bCoWNdji1XBfly9soet4Z761/q4pUVrnSZjZOitFjNbrbNVuz/ZuV8iKNxKHS5ux+7PJxclzAIQCcUfTdcrgKUuA+XX6iCnAyjvqmQV37jHTs4c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394007384822.3319302262653; Fri, 2 Apr 2021 13:06:47 -0700 (PDT) Received: from localhost ([::1]:44978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ46-0006k1-BP for importer@patchew.org; Fri, 02 Apr 2021 16:06:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ25-0005fN-R8; Fri, 02 Apr 2021 16:04:41 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:3905) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ22-0003Sb-GY; Fri, 02 Apr 2021 16:04:41 -0400 Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:36 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:46:16 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip01.wdc.com with ESMTP; 02 Apr 2021 13:04:35 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393878; x=1648929878; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EFExi6aUTtKZ4PTrlDdT+lSkosA+eReHet69P4R+W/4=; b=JNf/w64kE5IyS1EAKJvnInzNO86rHmEUDGlEGxdS672Ur6yTDEodYKd7 N8uXbLXT+Dc1zmFlCdouLTS0pzrYWFBuEiEHaE/50DwF5xH+SQ5yYmM/D aa/9riXvX1YrrssNSlNSwkTcbU1rdeZetYSsqcCpQ+2ANdoFxiRr+HUDr 3pTAh+SCiTxSgTl6iTkfkyQWdil8mApXgDuyF58yhVT5NB5f2c/7iPyYp 9AaLWP24ozJ5nXD/Z0qJa4CRn2IK7WAapxJPNWpzQCn52I/6KJHmIeRc0 fKo0Npu36V0wPuCxNtcaJPQr/LJarYVHFMhtuaZhuNQhAWklTJEm0r80+ Q==; IronPort-SDR: 008hFMgMIf2kAN/8JIxT9aQ83gAIygh9TmzoAXIYwuKwf+pKMeLvHeriJsxMit9VsCMHMms28N erupZOJWRGbL5gjIXSw/+4mWb80Hg8BnFH4w6tlPpzqfGQWyidVn0d50YFWHrQnvo8+Qv1MbAl 4GoD5FBrHZf/hcdvNRpvgQHL8Zai8QkcpBP6rHGJlBIDG0UPQaHn4itP2761jO+Si2bvxOT6+z pE7Rwd0qmoC0u4MbY21AyF+RvHRVEkgXDznkvZltX3/1MOJ0Fu5cA+nsNiSo/3werZhBcS01kD maE= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="168175379" IronPort-SDR: HL6HH8zOIbHTkovU3gkhVkzKAZByPM9y7ZYwZJl0gwGwKZ5Zazr4rirCpAlHnXaWShg2/td8J2 7FtISGAWw+FPx1SrZmdBFxgLcCGI2kyYbLLVJUBYO3jsEk24jRv3w3HAxrQlbMYN4jJaK0wFI8 SlSXb3KCuqAKiRA3mQZQXGl11n0eZndsLN1MidZYvOmqKhrbB7bDQzkw4xuxZkzzuiZWR4VNuV hzgDnqrnyylOQxFQYMF/cFbsITq/iM2jASBlyT9DT+ff7p4XdnVRPD3AgrQqiG7cQkwpyzYppy Ej9Y0Q6coJUlXnSm8T4nIxL7 IronPort-SDR: sfsmzfWzFrxF6GuNsUiNABR2jwpkcKqW0bXp9fypVDbWP1mHcBUeFKPXFyyaSJCzNWFH985cWa h2UM/31SQ3yR6DsTHB4R71/xOO7bjs+QHlICOjbNwkc5sPzI8Zdpda/01pTS/xeHcYt5N4Rm90 9HWWZ8TmamyvRHqIMgHO4N1Uf8cNjL1vgyJN1oIj66LtpjwNxO2SaZVYGaTK7Hmx81ImVTHoa8 zkkGVL4QNtx62tLvqkx3nbO7dvKSe6OLMovryFdED0gemtaS9ZDHHYefQiOkl7Z2KDFMF3L7lS bIw= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 5/8] target/riscv: Remove the hardcoded SATP_MODE macro Date: Fri, 2 Apr 2021 16:02:40 -0400 Message-Id: X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.153.141; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa3.hgst.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/cpu_bits.h | 11 ----------- target/riscv/cpu_helper.c | 30 +++++++++++++++++++++++------- target/riscv/csr.c | 33 ++++++++++++++++++++++++--------- target/riscv/monitor.c | 22 +++++++++++++++++----- 4 files changed, 64 insertions(+), 32 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index dd643d0f63..6a816ce9c2 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -452,17 +452,6 @@ #define SATP64_ASID 0x0FFFF00000000000ULL #define SATP64_PPN 0x00000FFFFFFFFFFFULL =20 -#if defined(TARGET_RISCV32) -#define SATP_MODE SATP32_MODE -#define SATP_ASID SATP32_ASID -#define SATP_PPN SATP32_PPN -#endif -#if defined(TARGET_RISCV64) -#define SATP_MODE SATP64_MODE -#define SATP_ASID SATP64_ASID -#define SATP_PPN SATP64_PPN -#endif - /* VM modes (mstatus.vm) privileged ISA 1.9.1 */ #define VM_1_09_MBARE 0 #define VM_1_09_MBB 1 diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 6446af5de0..7ae9352d80 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -403,11 +403,21 @@ static int get_physical_address(CPURISCVState *env, h= waddr *physical, =20 if (first_stage =3D=3D true) { if (use_background) { - base =3D (hwaddr)get_field(env->vsatp, SATP_PPN) << PGSHIFT; - vm =3D get_field(env->vsatp, SATP_MODE); + if (riscv_cpu_is_32bit(env)) { + base =3D (hwaddr)get_field(env->vsatp, SATP32_PPN) << PGSH= IFT; + vm =3D get_field(env->vsatp, SATP32_MODE); + } else { + base =3D (hwaddr)get_field(env->vsatp, SATP64_PPN) << PGSH= IFT; + vm =3D get_field(env->vsatp, SATP64_MODE); + } } else { - base =3D (hwaddr)get_field(env->satp, SATP_PPN) << PGSHIFT; - vm =3D get_field(env->satp, SATP_MODE); + if (riscv_cpu_is_32bit(env)) { + base =3D (hwaddr)get_field(env->satp, SATP32_PPN) << PGSHI= FT; + vm =3D get_field(env->satp, SATP32_MODE); + } else { + base =3D (hwaddr)get_field(env->satp, SATP64_PPN) << PGSHI= FT; + vm =3D get_field(env->satp, SATP64_MODE); + } } widened =3D 0; } else { @@ -622,9 +632,15 @@ static void raise_mmu_exception(CPURISCVState *env, ta= rget_ulong address, CPUState *cs =3D env_cpu(env); int page_fault_exceptions; if (first_stage) { - page_fault_exceptions =3D - get_field(env->satp, SATP_MODE) !=3D VM_1_10_MBARE && - !pmp_violation; + if (riscv_cpu_is_32bit(env)) { + page_fault_exceptions =3D + get_field(env->satp, SATP32_MODE) !=3D VM_1_10_MBARE && + !pmp_violation; + } else { + page_fault_exceptions =3D + get_field(env->satp, SATP64_MODE) !=3D VM_1_10_MBARE && + !pmp_violation; + } } else { if (riscv_cpu_is_32bit(env)) { page_fault_exceptions =3D diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 6052b2d6e9..b0ebaa029e 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -930,16 +930,31 @@ static int write_satp(CPURISCVState *env, int csrno, = target_ulong val) if (!riscv_feature(env, RISCV_FEATURE_MMU)) { return 0; } - if (validate_vm(env, get_field(val, SATP_MODE)) && - ((val ^ env->satp) & (SATP_MODE | SATP_ASID | SATP_PPN))) - { - if (env->priv =3D=3D PRV_S && get_field(env->mstatus, MSTATUS_TVM)= ) { - return -RISCV_EXCP_ILLEGAL_INST; - } else { - if ((val ^ env->satp) & SATP_ASID) { - tlb_flush(env_cpu(env)); + if (riscv_cpu_is_32bit(env)) { + if (validate_vm(env, get_field(val, SATP32_MODE)) && + ((val ^ env->satp) & (SATP32_MODE | SATP32_ASID | SATP32_PPN))) + { + if (env->priv =3D=3D PRV_S && get_field(env->mstatus, MSTATUS_= TVM)) { + return -RISCV_EXCP_ILLEGAL_INST; + } else { + if ((val ^ env->satp) & SATP32_ASID) { + tlb_flush(env_cpu(env)); + } + env->satp =3D val; + } + } + } else { + if (validate_vm(env, get_field(val, SATP64_MODE)) && + ((val ^ env->satp) & (SATP64_MODE | SATP64_ASID | SATP64_PPN))) + { + if (env->priv =3D=3D PRV_S && get_field(env->mstatus, MSTATUS_= TVM)) { + return -RISCV_EXCP_ILLEGAL_INST; + } else { + if ((val ^ env->satp) & SATP64_ASID) { + tlb_flush(env_cpu(env)); + } + env->satp =3D val; } - env->satp =3D val; } } return 0; diff --git a/target/riscv/monitor.c b/target/riscv/monitor.c index e51188f919..f7e6ea72b3 100644 --- a/target/riscv/monitor.c +++ b/target/riscv/monitor.c @@ -150,9 +150,14 @@ static void mem_info_svxx(Monitor *mon, CPUArchState *= env) target_ulong last_size; int last_attr; =20 - base =3D (hwaddr)get_field(env->satp, SATP_PPN) << PGSHIFT; + if (riscv_cpu_is_32bit(env)) { + base =3D (hwaddr)get_field(env->satp, SATP32_PPN) << PGSHIFT; + vm =3D get_field(env->satp, SATP32_MODE); + } else { + base =3D (hwaddr)get_field(env->satp, SATP64_PPN) << PGSHIFT; + vm =3D get_field(env->satp, SATP64_MODE); + } =20 - vm =3D get_field(env->satp, SATP_MODE); switch (vm) { case VM_1_10_SV32: levels =3D 2; @@ -215,9 +220,16 @@ void hmp_info_mem(Monitor *mon, const QDict *qdict) return; } =20 - if (!(env->satp & SATP_MODE)) { - monitor_printf(mon, "No translation or protection\n"); - return; + if (riscv_cpu_is_32bit(env)) { + if (!(env->satp & SATP32_MODE)) { + monitor_printf(mon, "No translation or protection\n"); + return; + } + } else { + if (!(env->satp & SATP64_MODE)) { + monitor_printf(mon, "No translation or protection\n"); + return; + } } =20 mem_info_svxx(mon, env); --=20 2.31.0 From nobody Mon May 6 17:43:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394277; cv=none; d=zohomail.com; s=zohoarc; b=RjHFL2jBxvXMfJ8a2jK+hDivSdI3otiLL6WA5rywgYzN/quy4fmbhhRH0hKoqyHJyqzF7/++ah1p6KBZOL+hj1x9fGx6yfhFvPdkkWPfwTA039sml/2M7izs33qz9DkUglFQ/vAedI+iIZlpQ8nqxmQsrzSvhQe5ZOMZ/u85Jms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394277; h=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=Btvh3jCRDDy4H1CnztBBSvmb+GRuBbdVnNvtNhxFljY=; b=PmwwKo58GNZ4HMNGH3P+EZ8qXtImrE0pBIQRqZZ6yomtb5GaUvJ6DhAuKXdsk6SWSP7ef0sw8HAmC/YEVdZ1dsvXzVszyLlOvTSWcYOf2f1AZtKV5hrPX95tNiv26KT3ktmphTM6h3GtUJeL2t4uDBxDTfHxUd7SBcMEYclwLJk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394277427484.233966639307; Fri, 2 Apr 2021 13:11:17 -0700 (PDT) Received: from localhost ([::1]:58352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ8S-0003sB-Dd for importer@patchew.org; Fri, 02 Apr 2021 16:11:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2Z-0005sO-Am; Fri, 02 Apr 2021 16:05:11 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:1508) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2W-0003dA-Um; Fri, 02 Apr 2021 16:05:11 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:52 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:46:25 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip01.wdc.com with ESMTP; 02 Apr 2021 13:04:44 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393908; x=1648929908; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WhT0DK0GNcAbbPFdD4caMB0KYD7yQ2fmMS8Nuohy/es=; b=UvGZxHvc8iCla8Zl/ng1xZnbQfuu+ZJgqMEny8hbOS8GD7MaZPQAH+6Y i5+ApyjFiXUPhs23DlkkrH4c+VmWnS8w5Kp+I6uFZH9r2+KGkWdftb/Le /64JG8L9uJOKXAD08GB1UyBOgENsjE4vWRkDR26wO7kYkVsItDhQOuIM2 pA6pAGXnV3kgFtvsVYj0wSCJgG35hljLFi3+XHPHE5rWOaMTcEd/VEm8E 7pgrzTd19/0Oxy16Ukr0QDCeW7+e2g/HjoNTzVr1r8uimJR9yi9aFGRF9 o+0jUZ91T5PPNwybZiWHUXIU/ml0S3HKGQPA0nnVA4DAvg+/+uO3pjCeq g==; IronPort-SDR: x6w6V3h2b5g366K0/b0YvBOHPBy1pox69qVR8LCgQzOpRh0v6Cn18lJkAnDJPD0EaaWdy6WDSA 7DF5awm8sG0dZWukFU633PHyV+O3TSRCtxjzya2Y1HLDUdg56DubRhRcaBDjRHXd9SclIUB03h Ylx70NewH/hjbls6Dq6kmu/0noVTFh4dWJVtP3mNOVnOYOFdxEMOjAnrQ7v6ADk1R8xFOWlhCC tXiXOWs0wPn4T2PCYCsgU+oDZRpRv9OutCPK1VOi1yu9BHgh1Eh/ZbsB2shUtrPcU5dvvCN9Iw XHs= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="163541904" IronPort-SDR: EBbV8LUALEbMNLx2w5pfFCBhCsmbA5rwYA2hJUndTR/4/hxxSxDTxyp2C0JYT5O6MC/ny+9bGI OmiB9muzQW8rjZUZVMR8J9XqAkBD3KIFxAu6BfseVFjKiImIthhuamgRGkAhyq0zw6EwqUugF8 ZF4V6lWaV8liC/8Znq0nUyrIZzYyvLwERPhYOpbw77fTBYBTSrZs5YxYd+t6o9ktdxBi72eRW/ HYzJmcECTfyO63EgDPrS0gEzTuWJZmb1OdZ+PDKCkC1ST9ISwS+AyO71qdPC7C7ucy9IidC2ui gJvzplf9J+chccCT9y52jFwh IronPort-SDR: wS9V65jRbcXfl1kNmR/bqoeQr3BVa+xVfhioR6CCU+P/i6XcvEAGHVaceVDM52yE72tbFbJGKX NZmYjEXcgcddf+EJWRklEe94BC6lBGUrboG4okha8d2SHzkbHo2wsH4EBMPdi4WCd+vIEy6WHP VoIyFrBZQPqiWtOJuIijdbuC77bLb+88EG3WkcEdOMIIMk4F3UPVHM9SnqHm0DjkggKgUm00Uf fqMM2hzCEAEU8pKcSvG+nxHpgCl4pZrK5O95S05nFjCjPeptIDXsJXJ7SveiuExPS7mVhRFVPn UUs= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 6/8] target/riscv: Remove the unused HSTATUS_WPRI macro Date: Fri, 2 Apr 2021 16:02:49 -0400 Message-Id: X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.154.42; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa4.hgst.iphmx.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 6a816ce9c2..9f6fbe3dc5 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -416,12 +416,6 @@ #define HSTATUS32_WPRI 0xFF8FF87E #define HSTATUS64_WPRI 0xFFFFFFFFFF8FF87EULL =20 -#if defined(TARGET_RISCV32) -#define HSTATUS_WPRI HSTATUS32_WPRI -#elif defined(TARGET_RISCV64) -#define HSTATUS_WPRI HSTATUS64_WPRI -#endif - #define HCOUNTEREN_CY (1 << 0) #define HCOUNTEREN_TM (1 << 1) #define HCOUNTEREN_IR (1 << 2) --=20 2.31.0 From nobody Mon May 6 17:43:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394146; cv=none; d=zohomail.com; s=zohoarc; b=G5PGpdaODaVwi9TAYdjvjx2BSyuwRHoqpdQB+NSl6qHieIsoVu7eHvh8VVTKDFfXK3BXrjIJBamyNo3k9b0BKRbyC17wdS98zeKmy5Bo6Ddi3h4qCmhCX5+mmCN3qDgkKhxFacePxgWfa8pkLaP5BRg8jofow1jU4y6kKhqFiY8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394146; h=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=xkxDMTHUm2gsTBv2ircrxXQX/tAjQLkN63A2yQeJdV4=; b=TlfuC0r9pC5McJ7UZaav8EF78ud/xCjFVI2FGeFgsC+sKE2nJq29wrMvGIDGnHrattP4mth56B9shFjvNNNtVXT34y2+9gq8s/hjO9hjIt5M9KiI/154C4FO7F01y8/cMFgexj+EqSN7P1NdRI+/MMcV1UC/1cQ21KPJRaWvEbw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394146332102.3456547565537; Fri, 2 Apr 2021 13:09:06 -0700 (PDT) Received: from localhost ([::1]:51912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ6L-0001Ao-7j for importer@patchew.org; Fri, 02 Apr 2021 16:09:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2R-0005mq-3A; Fri, 02 Apr 2021 16:05:03 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:3920) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2K-0003aA-7L; Fri, 02 Apr 2021 16:05:02 -0400 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:04:54 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:44:59 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip01.wdc.com with ESMTP; 02 Apr 2021 13:04:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393896; x=1648929896; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=buI41Hrhk6Exmbz/ytWjjy8Bk4gHnHPmmc6o+SvFVJ8=; b=ZlsXqJxyLt1p+q5kOeWbaMjI6+OzoY9/5DSVeO7XTLEa7o+JassE1a9I pY3rnoslG/GFbyRE5FsQW/mG84dpa2ZrwHupudHxQqnSHrg9A8SyVJIsG TQEBHli6PR+7MK1uukny3buf/Xh9xh5f5eoLUk8uPYITiVJRIuGIPoYId uaJNgVbqCjZJ20tTTSDTErNiHHdeCufsWonE4I9fL5YA4X1TbayGpgrIY CFzAVsEXkrohqZ+UO10PPwbGfoLFgUuZASouXaV55Y8Qf4GZhQIas2tIn jw2uO/aKGLpSLc75BuPAssXYfcbZ9cFRZvBUR/dvwPjHaZal3qrYGQN0U g==; IronPort-SDR: hGOs5rjdaTbVu4JFyEcl/cIzt5f3oXgywwQdHwF8QIfXfkLgCj883bNTvqAtHmVmBimkOJtefo ybr9HZvRkj58zBxpOxqj7mVAUXYqg+KzWi8xj3rpcJVQP8P2ZoChJ6U2zuA5FEdq08UG/aDvto Dltb/FvSuYEREGWAo/hENXJ7Rtn3N10HlO7YjMdbm/WM4JbazdSlrX5vF/V1LhJJhnwGN7ah27 Cy8psq04tp0U3gKExJjnF3m5LdFhGx60i3t8Q0qgUgttYIm8LANkNjpxlaYMu4lCLNEvwp+KgP hJ8= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="168175395" IronPort-SDR: vQVN3wDA02MVS/VCCsD01/bMYqO4Ju2bm9ep+q5iR39IEhlqOlPcWgHJLiaPtNH7oyY4+kHMVR Nn6JqZxTsWnX+mqVdvSfZDE8DcvTLihUMvmlRvKc4aCdbv2s3s6JFZ5UD7xWagZK+PZkNpDBOO 0OfXF5U3NqqrVAudpeXA0Tx+n89+LPbptCnnYyIoxH2udp84J47csxMbMfsu4s6DZOYnPONGde ovmMnMqjni4lxjxch9qT/a9UGxFTPSgox2ACmYxI+TQX+yXEP/TT7VWHKVXARzi8eenM74lP3A i9r8W6Ndid/Jtq9jzGe2G/tW IronPort-SDR: Cs/mM9NPcxZF+w+pVKpmD5Bon0ZHmWDNE/BApkoZW4xl97wwnrlh9CVVwuuLw8neCW2sTDE+2g 9/HOuANizWgHjueyk9MLRWffwuTDVMK5rrvxhNYdOyMdGAo+Iy03CoFiQ8jiAEyh/Op10vDl2z 9M30xnJyQA1sISgr0IcyqIA3Zdsjh839Bun3Lu4zZAZrpDdSjUT9q7YPCC6nrGSIM14XwF8VRY MI2uMOut4Z6k6rNckVC8lR6/CEOT0MaRcTkS73hlALHdGrKZ2WRTqlKkPYttUwkPoxgQP8MZkt ois= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 7/8] target/riscv: Remove an unused CASE_OP_32_64 macro Date: Fri, 2 Apr 2021 16:02:58 -0400 Message-Id: X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.153.141; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa3.hgst.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Richard Henderson --- target/riscv/translate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 9c6d998efa..4af55deaea 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -67,12 +67,6 @@ typedef struct DisasContext { CPUState *cs; } DisasContext; =20 -#ifdef TARGET_RISCV64 -#define CASE_OP_32_64(X) case X: case glue(X, W) -#else -#define CASE_OP_32_64(X) case X -#endif - static inline bool has_ext(DisasContext *ctx, uint32_t ext) { return ctx->misa & ext; --=20 2.31.0 From nobody Mon May 6 17:43:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1617394144; cv=none; d=zohomail.com; s=zohoarc; b=EWdwFaDY+GFplVwJdDlqlyrtMakOo59l1JD84oaQs01cXTWdCBLrd1k4rlZvmMy2NNEVUn0COvZ+JOVGJSX/dQvSz3u3QE8hDG3elAhKS/E//Y0Xn2kw+UQ1BjsfQKKEXHRrQZ6T57PWz7xHgq8DqvQA2c6Wo5qzBdheHQLdSN4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617394144; h=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=wjsT1ZqxZI4UZpHUFNvIB6iVARy5mLIC/+1cDk/T2Mw=; b=f7N8IeNPERNOh8PjjTAiCgaMsbr4gR8O8V+T/yguNVtl0vbDvIOCruVETj3BohwIGMM8A69KbEMvjNOuk5Vh6xkguFvyWlwafE38X5eZafzELjlYyBrOC9msmZ0/iIA5FhbSXVUzQ++Y9DH0LqGGPYdszjDRP8PfmOBfFhtSidk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1617394144239922.9365070894195; Fri, 2 Apr 2021 13:09:04 -0700 (PDT) Received: from localhost ([::1]:51714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSQ6J-00015z-6k for importer@patchew.org; Fri, 02 Apr 2021 16:09:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47788) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2u-00063l-Hq; Fri, 02 Apr 2021 16:05:34 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:1528) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lSQ2o-0003oA-VE; Fri, 02 Apr 2021 16:05:32 -0400 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 03 Apr 2021 04:05:10 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2021 12:46:43 -0700 Received: from unknown (HELO alistair-risc6-laptop.wdc.com) ([10.225.167.80]) by uls-op-cesaip02.wdc.com with ESMTP; 02 Apr 2021 13:05:03 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1617393926; x=1648929926; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MUm7inRKj+7G1rTvuCFJJ80cTV26/SwUHAm1uIyaze8=; b=rYIT/WEEyjoxBH8Jw2HtdCZo3O0xAO0Qs9ytFGYbcXeBC1EdQfF3M7PU kBoJmAlI8FDfQz1GUN7CixZX+tX+9lkUB0QK2Zj66iv1IaDdYxOVjf3Sd 8Pi0r/L9JMopDDAi2hwJVmtBRW8uwj9Xx1EIPvYJlqfYGnwOhkxY0CSqd as+eCfw1JP0U4NdPchJPOtx6MY6QpbLYt4tDvRwZjlfXJhSku73J7myVJ tVnrKtxGgds+3BLs6JS/3CglwuGMUrsSJlco1EjqgfV/1+MALYUpkw0gS 7tSMaFaHxK5swsbJcEirFhS7YsR9YnfYUFlst9+SxgnnvyKCOlX46sfnm A==; IronPort-SDR: 6xjkHUNGfgsusHRI1eqL8AXj1Uva/YlHHRrOyQf7VKkvN+DX3psxIapD8kigYztoHP1FOkYYG8 KIoVrsb8s4m6h9YIl+neSM5tL3zYek0ikt6TVjve7bX4j2a9cLep0ZizapS7fOCOwFaPZ3oij6 g7b8WpQQoYA8loZyYKMDxS1KbX5fH9GoGOWwXzYln3QN8aWSCBlbcUbVvjHmWk0G4DmxT/Dl4k yBWZSMxkf+iZGvT7Q5TktlUJYD50SoPuJE0YFPdVFRpfAxSUc1z4Ar000TohmwhWxDRASkEye1 yIo= X-IronPort-AV: E=Sophos;i="5.81,300,1610380800"; d="scan'208";a="163541917" IronPort-SDR: TcU/1Nzfi8AS99To7wCaB168YjL5Puym9cSjOKUAAbuPbfrfdASyhT9lcJAG2rYazUGA4rQ7eg qwElTYkZ7ptUOFCWSCVX3uIrvDwQYW1igRiq2CFpL7qdf/oGBEvruvFuja1HlVTyTRlUZKPjyZ 4mobkUnTQrKP7lNG7KXMfcgX5yDuk5Dk++7VtWDRLXCmcVQRZ+TxRPV/jdU3e4pR/aHvZk7yC9 CQFsc2eIgxFnr+aXUHh+q94Uq8/WWeOJnVuICPktrlKeck+lthBBr1YqOpNMxnr60aXh/tUE8p La3qCGFwtyWnnzeUIL1Rgpz8 IronPort-SDR: FlQr1toDWzxNX8lxN+ysvbz8dhZpVHunGSGTOYwKkJk/v82Bbayrjbq3+sEOtnLmIJdWM9O0dZ Cm3EyP/8YolgN80loKz8nCsi0f5sKy+F77my/wOcGv7s4LfgqmfBQqmHz4newQIYc6KxgyV5cE n8N2wdTPVLoq/4vJqLbGrnycpYd6omBgjwgkSQ+dA4leaPmsF5Yu7CrdJcWt4BzYTJ4kuj7niC d5da6NFl2C2yaSBaF9bSUTubFWCoghM0fB1BOE6v69weWrOHjmgFbe8ma1EQD/VDchZd8CEDUX wqw= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v1 8/8] target/riscv: Include RV32 instructions in RV64 build Date: Fri, 2 Apr 2021 16:03:07 -0400 Message-Id: <1c19d0112fae5ec6087cfc415f0d6cc56495220b.1617393702.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=216.71.154.42; envelope-from=prvs=7197bd837=alistair.francis@wdc.com; helo=esa4.hgst.iphmx.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/insn16-32.decode | 24 ++++++++++++++++++++++++ target/riscv/insn16-64.decode | 31 +++++++++++++++++++++++++++++++ target/riscv/translate.c | 18 +++++++++++++++++- target/riscv/meson.build | 7 +++++-- 4 files changed, 77 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn16-32.decode b/target/riscv/insn16-32.decode index 0819b17028..f83f43e955 100644 --- a/target/riscv/insn16-32.decode +++ b/target/riscv/insn16-32.decode @@ -16,6 +16,30 @@ # You should have received a copy of the GNU General Public License along = with # this program. If not, see . =20 +# Fields imported from insn16.decode: +%rd 7:5 +%rs1_3 7:3 !function=3Dex_rvc_register +%rs2_3 2:3 !function=3Dex_rvc_register +%rs2_5 2:5 + +# Immediates imported from insn16.decode: +%uimm_cl_w 5:1 10:3 6:1 !function=3Dex_shift_2 +%uimm_6bit_lw 2:2 12:1 4:3 !function=3Dex_shift_2 +%uimm_6bit_sw 7:2 9:4 !function=3Dex_shift_2 +%imm_cj 12:s1 8:1 9:2 6:1 7:1 2:1 11:1 3:3 !function=3Dex_shift_1 + +# Argument sets imported from insn16.decode: +&j imm rd !extern +&i imm rs1 rd !extern +&s imm rs1 rs2 !extern + +# Formats 16 imported from insn16.decode: +@cl_w ... ... ... .. ... .. &i imm=3D%uimm_cl_w rs1=3D%rs1_3 = rd=3D%rs2_3 +@cj ... ........... .. &j imm=3D%imm_cj +@c_lwsp ... . ..... ..... .. &i imm=3D%uimm_6bit_lw rs1=3D2 %rd +@c_swsp ... . ..... ..... .. &s imm=3D%uimm_6bit_sw rs1=3D2 rs2= =3D%rs2_5 +@cs_w ... ... ... .. ... .. &s imm=3D%uimm_cl_w rs1=3D%rs1_3 = rs2=3D%rs2_3 + # *** RV32C Standard Extension (Quadrant 0) *** flw 011 ... ... .. ... 00 @cl_w fsw 111 ... ... .. ... 00 @cs_w diff --git a/target/riscv/insn16-64.decode b/target/riscv/insn16-64.decode index 672e1e916f..dbef1e5365 100644 --- a/target/riscv/insn16-64.decode +++ b/target/riscv/insn16-64.decode @@ -16,6 +16,37 @@ # You should have received a copy of the GNU General Public License along = with # this program. If not, see . =20 +# Fields imported from insn16.decode: +%rd 7:5 +%rs1_3 7:3 !function=3Dex_rvc_register +%rs2_3 2:3 !function=3Dex_rvc_register +%rs2_5 2:5 + +# Immediates imported from insn16.decode: +%imm_ci 12:s1 2:5 +%uimm_cl_d 5:2 10:3 !function=3Dex_shift_3 +%uimm_6bit_ld 2:3 12:1 5:2 !function=3Dex_shift_3 +%uimm_6bit_lw 2:2 12:1 4:3 !function=3Dex_shift_2 +%uimm_6bit_sd 7:3 10:3 !function=3Dex_shift_3 + +# Argument sets imported from insn16.decode: +&empty !extern +&r rd rs1 rs2 !extern +&i imm rs1 rd !extern +&s imm rs1 rs2 !extern +&j imm rd !extern +&b imm rs2 rs1 !extern +&u imm rd !extern +&shift shamt rs1 rd !extern + +# Formats 16 imported from insn16.decode: +@ci ... . ..... ..... .. &i imm=3D%imm_ci rs1=3D%rd = %rd +@cl_d ... ... ... .. ... .. &i imm=3D%uimm_cl_d rs1=3D%rs1_3 = rd=3D%rs2_3 +@cs_d ... ... ... .. ... .. &s imm=3D%uimm_cl_d rs1=3D%rs1_3 = rs2=3D%rs2_3 +@cs_2 ... ... ... .. ... .. &r rs2=3D%rs2_3 rs1=3D%rs1_3 = rd=3D%rs1_3 +@c_ldsp ... . ..... ..... .. &i imm=3D%uimm_6bit_ld rs1=3D2 %rd +@c_sdsp ... . ..... ..... .. &s imm=3D%uimm_6bit_sd rs1=3D2 rs2= =3D%rs2_5 + # *** RV64C Standard Extension (Quadrant 0) *** ld 011 ... ... .. ... 00 @cl_d sd 111 ... ... .. ... 00 @cs_d diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 4af55deaea..9a93c77fd6 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -602,6 +602,10 @@ static uint32_t opcode_at(DisasContextBase *dcbase, ta= rget_ulong pc) =20 /* Include the auto-generated decoder for 16 bit insn */ #include "decode-insn16.c.inc" +#include "decode-insn16-32.c.inc" +#ifdef TARGET_RISCV64 +# include "decode-insn16-64.c.inc" +#endif =20 static void decode_opc(CPURISCVState *env, DisasContext *ctx, uint16_t opc= ode) { @@ -612,7 +616,19 @@ static void decode_opc(CPURISCVState *env, DisasContex= t *ctx, uint16_t opcode) } else { ctx->pc_succ_insn =3D ctx->base.pc_next + 2; if (!decode_insn16(ctx, opcode)) { - gen_exception_illegal(ctx); + if (riscv_cpu_is_32bit(env)) { + if (!decode_insn16_32(ctx, opcode)) { + gen_exception_illegal(ctx); + } + } else { +#ifdef TARGET_RISCV64 + if (!decode_insn16_64(ctx, opcode)) { + gen_exception_illegal(ctx); + } +#else + gen_exception_illegal(ctx); +#endif + } } } } else { diff --git a/target/riscv/meson.build b/target/riscv/meson.build index 88ab850682..d17b478120 100644 --- a/target/riscv/meson.build +++ b/target/riscv/meson.build @@ -1,12 +1,15 @@ # FIXME extra_args should accept files() dir =3D meson.current_source_dir() gen32 =3D [ - decodetree.process('insn16.decode', extra_args: [dir / 'insn16-32.decode= ', '--static-decode=3Ddecode_insn16', '--insnwidth=3D16']), + decodetree.process('insn16.decode', extra_args: ['--static-decode=3Ddeco= de_insn16', '--insnwidth=3D16']), + decodetree.process('insn16-32.decode', extra_args: ['--static-decode=3Dd= ecode_insn16_32', '--insnwidth=3D16']), decodetree.process('insn32.decode', extra_args: '--static-decode=3Ddecod= e_insn32'), ] =20 gen64 =3D [ - decodetree.process('insn16.decode', extra_args: [dir / 'insn16-64.decode= ', '--static-decode=3Ddecode_insn16', '--insnwidth=3D16']), + decodetree.process('insn16.decode', extra_args: ['--static-decode=3Ddeco= de_insn16', '--insnwidth=3D16']), + decodetree.process('insn16-32.decode', extra_args: ['--static-decode=3Dd= ecode_insn16_32', '--insnwidth=3D16']), + decodetree.process('insn16-64.decode', extra_args: ['--static-decode=3Dd= ecode_insn16_64', '--insnwidth=3D16']), decodetree.process('insn32.decode', extra_args: [dir / 'insn32-64.decode= ', '--static-decode=3Ddecode_insn32']), ] =20 --=20 2.31.0