From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710189015230.04197933792238; Wed, 20 Feb 2019 16:49:49 -0800 (PST) Received: from localhost ([127.0.0.1]:51261 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcYd-00082R-RX for importer@patchew.org; Wed, 20 Feb 2019 19:49:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57953) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcT3-0003yJ-F2 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcT1-0002KP-6e for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:01 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:52069) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcT0-0002Hw-DP; Wed, 20 Feb 2019 19:43:58 -0500 Received: from mail-by2nam05lp2052.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.52]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:43:22 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:43:20 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:43:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709839; x=1582245839; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AOaFML7kj36rjvBCxvBKU2+Olafu8d1NMlOnDxuHXWA=; b=dbnJ4TrDKnIcvjdYK5QQPaBjxjf82Bo44t8eMmLKHhn5OfLwmFmYpUym 4D6DaYCRCt4jVdyA30cDpKJziaJL09RItlc2A3qpo9sdhJ0bR+dDB7Eq3 2VeRp1GK8NYTK1w4eORKu8F3InvRcMuPKT3OpnvOhzmCwceJYVx5PPpSD iaRnjFOQn5H/gOq2CJyxaFafPM91KlFUnG2+M7nt+lvk0t+s0IiPz2I97 MVWaYOfVqHJuvJ8SBQ2T+BH1qOXWmPIjUZpI4TyVbUaIyzGysFQqutAU7 gnSkB2MltCOX7chWr8igyXT92a7cD35+UmCJFr493COZTg/uB0FZfTbZ5 w==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="103551718" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=McK/qEiyWRH1yKxgD4bsiQmUaVqmhQgC6fbggKB8x8Y=; b=Gk050hYxGlfftfFbe3MnbAV+odcY9g4Ld82n7tbJnGmzyZcF45UKlRZscCKFt5kWJTLzQ1jZu2tuEcRGmJ9dsJkSuO54mWLnvcmhQ87+KkTtal+8gU9o2rVda0IzN7oTO3C8qJMHicGXQXCubUV/Z+0nJXcdXzfApgxPzjWzOOo= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 01/11] riscv: pmp: Log pmp access errors as guest errors Thread-Index: AQHUyX5xWOKxmYl+bUua2Zq+OVeL0A== Date: Thu, 21 Feb 2019 00:43:20 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR11CA0050.namprd11.prod.outlook.com (2603:10b6:a03:80::27) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d95cb58a-ca19-427c-d576-08d697959347 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:a/aWecqDbg+dDIuyZC78Zs5XGxIDKFRIZxdZ6Yb?= =?iso-8859-1?Q?r7/vTw/ILXo5AZt/hxxOXWP+TkAuLVe7yiKjbUjt8fm6FdW1AleAwhKIYc?= =?iso-8859-1?Q?YBca7zeTy5WqHaN2GBj/DuoG3p3ge/Xedqto0qXuYXJRMP14wyogj+/S6L?= =?iso-8859-1?Q?3DjSgkUTqrq+lLryN7cgp8AIFeBmiCWwmS+KENzXusqq6FU1CCr9kJrVr5?= =?iso-8859-1?Q?PKi5dvAVqxsEvtuseqqPlASG4QOjGDjFASxzkPnBw5k4vqLYNC+8GyoAyM?= =?iso-8859-1?Q?ndQU8siBoAI4G4746XLzcI+FKaMQSd6VSJxOd1qiGz38pxmdfXyjh0KBUS?= =?iso-8859-1?Q?tty+vQKmdRCqbOQjlVOuMxjmMj8assb7/B8VwSgryl7rksqdWH2QhEbEAM?= =?iso-8859-1?Q?E+lYkP+I5tvGKsOzMYnsVHyCRWe0sEq34gIOx0JTGmaIQ8TZdNltXEDNwF?= =?iso-8859-1?Q?f/tq5eAeIF6KBeev+pMW3DGXkxnkaGPw0fVinzyCfEtCUQouLZDRRtIiGw?= =?iso-8859-1?Q?7OqLo3/l/n/qyNd2YANtBRPdvuRE3Z4dG5GA0KmlUQYK/jGCE8bWfLpDgB?= =?iso-8859-1?Q?9oqS0QQSOwM8QbONzsO1DGJPweqLyPRCcDiegqnyEJgeAcCR7Hqn2MJoZR?= =?iso-8859-1?Q?ZNURmY6Z8i++DkkrWdpqdsBI9Utth2WjshPA6UH+TKyr2GxcCzXqloD3NE?= =?iso-8859-1?Q?2QUzMuUU5bKmwTW5TUnDhIpOWDw9ate/t/Idfa9Q+fWpF+YMV1fhiqtlcr?= =?iso-8859-1?Q?LlwiJipqQGEuJ7EtD/a1fwcqBFATUoH16U+NnIGtXPdkJ77ilrEJKQod/c?= =?iso-8859-1?Q?IkEsJyDTzfj1kDTQXq8QsXhoiKjySaxadbJODJ7QBf6ilxmxye1frfv29T?= =?iso-8859-1?Q?VJj9XiBD2nh1BuyXWqA2ow6Eix3fPJFgdetkJRJPy8e/OIjeTt3ZqbfywC?= =?iso-8859-1?Q?JXIl3xSmMnevyHDA1WbzpC9l8uR0Tw4xuRREXj+TNHCh+Yg7ew8vRgwcyQ?= =?iso-8859-1?Q?odgf/qUi7hgVJAK4gzfQcGiw6zmNj5Krg5WPOYvr2eIV8TAgoxMp+fumHd?= =?iso-8859-1?Q?yTqYQPCV8+/elIvUenn3LczUxmgHi8bCiNVMT6OCZ26mHTdUrlVvLUC+Fy?= =?iso-8859-1?Q?ORRGD58lXW1iVIfyujuAKtmKNijiCz/TciV2OZNB7wBXwhcr3rc+PU0V+3?= =?iso-8859-1?Q?AFt/Gy6SSs2OQNgc+bLQj1S8+x9a6RmFcof592+Itwkd1PM/B0O+JWDaPb?= =?iso-8859-1?Q?Ugc+MNZ7n2TeTQv4iKp34zHc5adnnVTNSI5R/0guCmCSXt1bYYZb1PzgcN?= =?iso-8859-1?Q?uZ728BAyW10BlGXWAYCBtao7qQmfjGGdIDTM699Msnq1A=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(14444005)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: xT0c5+KPX/7qJBWGapZxyup9sqsBq1rJ7XLccgRvv0bnaoVCF3p6GhhixriaZnAFoGvP1hiikqFtDGY/huozSiv77fCCin1X7zcDy9mrtIe4NPb00cfmfcVwZ8K6xE3GIH9zqElvDndf/sq4iH6B5eR4kWBLE0EVVyJ+DgRTpe0lCo9+0kwC8KFjfaLNuhrrxlicgdusYy7q5cnW4K0aO7+IbQ0G+FoFvq8AY/rjRmfLanzdr29oVvWzdvQ/7kZvEmWtlZzkAXfFNcpIuAlI0WBR7MxvQcC+N7SMAFaCw38TLJWIIf4Kiu1wxS4eSO1ICsKG6+dJO0zZHzZoavI7kuMDMVnDZ2r5lWE8LPFDfU8cR+CJQnd+Fg88OBFyLwe+ujjKiF0N/KIg/8WQVMHUzrYP2ZwdM2Y7vs4jIdWtRP4= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: d95cb58a-ca19-427c-d576-08d697959347 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:43:19.4101 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.45 Subject: [Qemu-devel] [PATCH v2 01/11] riscv: pmp: Log pmp access errors as guest errors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/pmp.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 15a5366616..b11c4ae22f 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -113,10 +113,11 @@ static void pmp_write_cfg(CPURISCVState *env, uint32_= t pmp_index, uint8_t val) env->pmp_state.pmp[pmp_index].cfg_reg =3D val; pmp_update_rule(env, pmp_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, "ignoring pmpcfg write - locked= \n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - out of bounds\n"); } } =20 @@ -249,7 +250,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulon= g addr, =20 /* partially inside */ if ((s + e) =3D=3D 1) { - PMP_DEBUG("pmp violation - access is partially inside"); + qemu_log_mask(LOG_GUEST_ERROR, + "pmp violation - access is partially inside\n"); ret =3D 0; break; } @@ -306,7 +308,8 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_= index, env->mhartid, reg_index, val); =20 if ((reg_index & 1) && (sizeof(target_ulong) =3D=3D 8)) { - PMP_DEBUG("ignoring write - incorrect address"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - incorrect address\n"); return; } =20 @@ -353,10 +356,12 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t a= ddr_index, env->pmp_state.pmp[addr_index].addr_reg =3D val; pmp_update_rule(env, addr_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - locked\n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - out of bounds\n"); } } =20 @@ -372,7 +377,8 @@ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint3= 2_t addr_index) if (addr_index < MAX_RISCV_PMPS) { return env->pmp_state.pmp[addr_index].addr_reg; } else { - PMP_DEBUG("ignoring read - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr read - out of bounds\n"); return 0; } } --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550709996808698.8294748801837; Wed, 20 Feb 2019 16:46:36 -0800 (PST) Received: from localhost ([127.0.0.1]:51229 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcVS-0005jG-6z for importer@patchew.org; Wed, 20 Feb 2019 19:46:30 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcT1-0003w7-9Z for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcT0-0002Jw-63 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:43:59 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:49054) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcSz-0002HA-2B; Wed, 20 Feb 2019 19:43:57 -0500 Received: from mail-by2nam05lp2051.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.51]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:43:31 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:43:30 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:43:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709837; x=1582245837; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=eQHutzBkg+MuK+9r7qFhvRqlUbAmjuoDuycfdsoW7JA=; b=fBu9ZnuBon4YAnSIVb3SKnusF8gmBT7gERteFmTBDa22FGL3ezTKj0x1 1mSBVvMhgj5FDjDxxc57FpLXLVrKtS+nFuR868Q9urn7N8E0H8TnSdPVw fZmcwK/B7uU1W4jf2QoSFLJYrZnFvaX1HyQq7n/YQBOZFOiUqn/2VFDhE PyFwhAPhLiR3f/vHKczl2rMswE4k8zaMG4MvINOGJhEsG3b89CqP6+Gjz VxGPLdlKmZHJMe64/OqvTwO/V0+hUNxRpzZecW3AeldL0fk2pNiSxiGon VyWF7jo0x4jAYGny+D5wZrEYHPwLjCm4Je0Rl/WGam7f9wY4Y44lyrl9b g==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="106761233" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fV5SB8InIRHifiGcqdZUxttnMmEUfryYqpgS4uJJi9k=; b=GS94ENokFZVnnKKSPrAwhuM7o8X3nzvpxU5r8HqIT5nM+4uq2Xdano6ArQK/n0TfJcm/M2IJOa/H4Ch9qwdRA8s+8fCuuXS4p7rzKo3Z6w7EyNAiEwIxCa6+S28/Pp7haysUrCOB6i/6EWar9kVbksVdu+qfjA2s4WiTOrBVwRk= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 02/11] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC Thread-Index: AQHUyX53n5462cHbPEe84Svb7aBSjA== Date: Thu, 21 Feb 2019 00:43:30 +0000 Message-ID: <821f677eb0606393f2c624f262469036c79b0d64.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0060.prod.exchangelabs.com (2603:10b6:a03:94::37) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cd22b73d-a831-4f7b-aff8-08d697959950 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:gDAbmejgC4TTZeeuy+/k6/4OhZjpIr28E8wGrga?= =?iso-8859-1?Q?tYXSM1+Q9TsWOTBac1Wb1YIj+InJBX8LM7nQAfxWS/P044k2gAVoRmGbNr?= =?iso-8859-1?Q?LqBP971JBeRQqk3fxFUxxPpV8FfazunefDNOE04hEwaMCaRFVv1NAktCZW?= =?iso-8859-1?Q?UV2zlxhUh8j2BKuJ5lpLOateyWLl7vuBs49KWTarnAXC9gsZY3iLR7CNo2?= =?iso-8859-1?Q?9BLNfsrK89am6dUGXqFG6CpFKV9rVg7GftQfAzl2cGlC8zrfIvWpBDsK7L?= =?iso-8859-1?Q?dUuPPPLwBuxgTYeCcwvmFJ6cV1LTy1VfRMp/ua3iME5NzTfJ5jZzfN585q?= =?iso-8859-1?Q?kbbjvjNhyr5KTTp4Rc1Ks1wZY6TANQix69TEJDLL7EckKAMlBHXDi3xskO?= =?iso-8859-1?Q?gR9h87eBwroQwiBD1D9IB2OGB8u0berNs1M+wyyW8uj7JhKHcDSqYGJAc4?= =?iso-8859-1?Q?QAIhZVt4hv6SbrSqaDaxMM5+EFpi+inw7R1CeOcYnDnkHkmqkvEpb61J1B?= =?iso-8859-1?Q?dq1P4caJ5DU4PkhsCkbWrJxmMDlaKvfl6ozwSVsZTfeZnOuKKPhybeW+fc?= =?iso-8859-1?Q?qdQVURNqZ7gurwQsHARjrsm12F79rPH7EolBvhnbJuhV34Y3aTAr8clDTx?= =?iso-8859-1?Q?dlhSH6LW1tqz4kDgfAj0Izaw7ceP5kkdWCYJi+zurmCD/2jiVHzT3NyGVU?= =?iso-8859-1?Q?ybwhuL9uZDjlHU2CuGNF1UbTDWgBYpOnXjBUvtN87azfwoplGOFsTdC6Zg?= =?iso-8859-1?Q?i3HuZVArWnn0KY+gQ6PPWwLveAveucWf9ASv9CUbQMapt8emJpMRaF3PPa?= =?iso-8859-1?Q?vSnaDz+jY2/VA7dD2VbuLGpacI1vrHxbmGP1lA5LDKn6LL2ddG3MQr5o0y?= =?iso-8859-1?Q?vR8sH1ccvDZWG1GLMYC6E3dHYoufDX343DlWLg/YuKJ+xyayeyrUoErSbM?= =?iso-8859-1?Q?AA7W5GffX3/9G1ZWACaJBMI67NAMU7jEYiDzS2bLUHGptMzWKSF6dosOSi?= =?iso-8859-1?Q?zbGxrBJlBQYrmsYv8Kg8cZ/DtbBj5OoL9u6ElPy9vp34PvOLwVX0FCfU+J?= =?iso-8859-1?Q?1Nbp08+pJVDYsnVGN985OZj+amuY8dbvczA6VmshZmEkCQqmMhxBOcBZf/?= =?iso-8859-1?Q?LpZNpnGDMNMctLQl8Fa9oCuI4Pxu2FOLpRJ7/4mcvkBt3k8Ad2AYZVXO3M?= =?iso-8859-1?Q?YcbHe+i/GsGhAGrf/a8RDn++VM4cTIV9wEytqz50UQPFrxMDu5sBW5YD6E?= =?iso-8859-1?Q?VJyWitV/jFB9Kde9nfVhmrS9mNgAb+E0DFDndO2f1/PfMh9vxSU78daLg9?= =?iso-8859-1?Q?gmRP8/xm0DlnIEX2mZWXwFJSlmWFd1dzUCZaqpcH4a2Gw=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(8936002)(50226002)(66066001)(4744005)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: wZiAxtY1QGYAr39bsmS5s6EbA1MLagTKxHp0Jteo6V3d04cfXzvocOdDsJ9GApnXFV6zzg4+c2eGxmCzhxYXiMJddoYSyx9xBWHOIx3pe82NZaru/G+XsTtr5Z2lq94ejn5jj6x4db4QtMYP1DITUcUCAbIlpmD2R9spb1RxGzyG2H51lcUuz5qAlN9NLi4X6i3H0BcYjZYf//6MiWufy5OxNSMc1NrQQVQPZ2zyWF8LH5ZXzv7Pvhs2WHs4HK1Ge9Eydd3Xueky4H7QR+IBILMB8hEX8s0gdzWWJuzqbA/sq/AvGoa8qlz6QO6pbrva19e3MRX6kl6Uuh7Lwcxa/xcdu6SrOLZG9Xit9R91z8NTrjDE0/m6RSJ113o5ckVSC3DNCMS/boaG3rWBQ2A8xyThZdaUdurj23Ibi1kxHb4= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd22b73d-a831-4f7b-aff8-08d697959950 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:43:29.5325 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PATCH v2 02/11] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index d12ec3fc9a..b859f919a7 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) p =3D plic->hart_config; while ((c =3D *p++)) { if (c =3D=3D ',') { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); modes =3D 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); } hartid++; =20 --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710198763363.9172631382413; Wed, 20 Feb 2019 16:49:58 -0800 (PST) Received: from localhost ([127.0.0.1]:51263 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcYn-0008Dc-Jl for importer@patchew.org; Wed, 20 Feb 2019 19:49:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57979) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcT5-000439-F7 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcT3-0002Lv-HI for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:03 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:49054) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcT1-0002HA-EV; Wed, 20 Feb 2019 19:44:01 -0500 Received: from mail-by2nam05lp2056.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.56]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:43:41 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:43:39 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:43:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709840; x=1582245840; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/ZV95K4nHrfbwHh0leF2LpjeFJuS8bDij/lV00ecMwo=; b=rT1cDBHhrPfwbGtlMYjJCbzyNlyFnBbELrzux8fOCwyF9x67fZi3b5/r eMgw5snVdtLi5Kmf8Z/MZKChthk82qOOHE4KcOYiW3/bINDps+m0nPq5F 9b9GHzl6Cgq2GZRExBVPrzHnZjjHmq6/cVO8ZzU9AtDFPCWs2kLetkoVi DN0EMuIYwfscgJp2NZqtr00ZvvIMd9QcrgMnfryVoSbjO1o2P6jWperzv 1yr54Ubdz+JsDwMQIeukAtvbF3FT5RsOBiPujGhzPLSZA5ltRBbySJjyy b2gnyaj5qGK4p4hOiozL2mZze1g9QWOzpIuIWB2zwLR9oHaPLJK6GJlIm A==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="106761240" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Oe/7r60kvHELNwLMSbBVf7H3g89G2/NlpqkIMvcRAH0=; b=Qbfn8r3djCFlBoqY5EjThoWlL8/tqXCKKWzm2IyesN4EPXEZ/iPfmjOaxkVBdQOilO+yz55ah1FvxNl7uepweyI6oVkGEYcHnKEUav50rA+SqVrX5NcAht4Xh0AgNK9ULeXiLPcbHW0SYzdKR3c2h5/b+Ty1uI19/DHa2IJAhHg= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 03/11] RISC-V: Allow interrupt controllers to claim interrupts Thread-Index: AQHUyX58klKGwelybEih6gRuuWGrKw== Date: Thu, 21 Feb 2019 00:43:39 +0000 Message-ID: <7835d3381c5acb91cbb7d8cc947d3df0e3a2c74f.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0064.prod.exchangelabs.com (2603:10b6:a03:94::41) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a3a95b1a-2cba-4b5e-f6a2-08d697959f2a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:rh1UDDKFqQVjsT1B/+LfqVX/ZrEEGQRmVhf62IY?= =?iso-8859-1?Q?DUfnNaADtVHq7xExuuQ2KXtEHye8+xcvEY5acejaS8xSASZ3Vt/voo4jyq?= =?iso-8859-1?Q?z8Z2sbzdsuGwW5JsmSuncBAXRrtKLYkVELQJ2eKCzmH0mK4n495Ah+PgbA?= =?iso-8859-1?Q?holJRXWOQod1xvz3fLknELXdXec3+x3Hz/toNGfTYlSmdxmDdskipXvyGV?= =?iso-8859-1?Q?40pLMwotFDqKdFtMIuzLrUyfxV1F+m5bbNU8GHbkybALpzq72U+823dlXh?= =?iso-8859-1?Q?Gr7oL0lWaNrZvkZN1Dbr339oaI7PfewmoGgpy803dMGh8QuODkBEgpMHvZ?= =?iso-8859-1?Q?Hev5Zne8qjWLt/0MTndH/5BWzZm/LsXLsqYxtVXwr6Z6QoOwIfGKRdO0qZ?= =?iso-8859-1?Q?NAPHdv3F2B74C6aSWQ/KUu12zakJLOC0lx8NauIdRWqMvX33NtYbgujQb5?= =?iso-8859-1?Q?XRs1VAlvjIUn1ChGcVAkJtHG4cuYkVqW9X+K06XFLQ9TkV+x8rKuFB5V2l?= =?iso-8859-1?Q?h9rZyCwQ9kUU1NSvel6VcH+1iEhCwnQqmcjRuT5DBGk1sGWg189yYgmKSV?= =?iso-8859-1?Q?S9GyflSiEOB5nrPSKYOi3Qt6etyXRebycuHWB2xP/dQPWPR9FPfo7Ob0h0?= =?iso-8859-1?Q?Ia4lw3geNZYTXxffDJ5z2nK9IHhtYprDVyHMTG8ZXhiyJlDI5PcwwxY+PI?= =?iso-8859-1?Q?3KgV1dLb0+cueB80WtCrCCLH65yLSnF2/Wwggt+H/rYYaOYr24BvoA1RNT?= =?iso-8859-1?Q?AIIJVEtcm4fXzRclTxzOGTViSs/QhEbYy5D4Mvn0bu80D7vtBgiNRwHCsQ?= =?iso-8859-1?Q?FL1KIyZPt9lUjF3nw0rVJOGIi+1d9aV45eg7q8/Lj618MTra7vddY6Mmxy?= =?iso-8859-1?Q?mITGNQo/ExmRu/Vc7pkTjyJjqEQuuPE2fBRfNclP+eR+DJuwTb4mNt/NFe?= =?iso-8859-1?Q?9WrFRVWdw2XX9kZTtldBfXysNgovSkzoXwU3A84B6vLz43Wm7niDvIlZT6?= =?iso-8859-1?Q?2RyR2J85krTPg0KEf36gxvpFDQV+phAprf2bop+Q+vDbflD6lIhPjUdNrc?= =?iso-8859-1?Q?+eysO2Aj9goeOe7MD8abZWK1UeszKaemSvyy/TD3iZ/raMJADAE+G48BZN?= =?iso-8859-1?Q?u+NjX1AeZ0NPHeg1r+a4KfB2K2GGQwAM/+zqoJkxm8wKgCMnmHdPKooI0Y?= =?iso-8859-1?Q?lFiu6Fdlh3gpkhGbUzMtnf9vIj1e2bCJq9BzRtEAS1JvoaJROcP8CZwrM2?= =?iso-8859-1?Q?o1wZPsO7n546wg5xAFIqabTI9peSZmABRds+hQjmV+w4YfTsN/E8SyktuO?= =?iso-8859-1?Q?SEgNNzVbay3Hu6Bpmod6qbvUrjzeKvg3ilIb6PsPlnj4GF5GoUAafWiOiB?= =?iso-8859-1?Q?cgxuZVVA=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(14444005)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002)(5024004); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: bxU4jxZL6PaN3nun/et6XeKvE003GZOV7QKLAzYzk6B3K8IFYbNcG9DbE2sIJEzAG0hD4+xCAyQqsBzm8Uo+cWbPt2N/Sc3VRAfTNgbajYfEukMd7cjHygbUUWuVOHcED7lmoJ+etCWVAwS8Qvxn33hDa5NtsIlkBWE4LNEIVqiyIMgvDOhmjrLbgIg6izsUut8/vM0A1GpJ8tDoepYfTebSWCzgzMZUxfdfzdDOLUGAuEJIWOs0YjBHUPSTHqw5gn4tv+RBcJXxFilshX7aN2x3J4FPHy5zWsREsKLpC1Mth+Hw6cBW+YdC4BwmmIDimyJEbJWOf9oj3Wnyi+FDenAVGPMesKJybKsIQxbiNOlbaIv/c2SyndKAtTye1yC8rRimcXnnOmrVXEks69VlkKM7+xvL/nyKb4X/lhE3Z80= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: a3a95b1a-2cba-4b5e-f6a2-08d697959f2a X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:43:39.3526 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PATCH v2 03/11] RISC-V: Allow interrupt controllers to claim interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark We can't allow the supervisor to control SEIP as this would allow the supervisor to clear a pending external interrupt which will result in lost a interrupt in the case a PLIC is attached. The SEIP bit must be hardware controlled when a PLIC is attached. This logic was previously hard-coded so SEIP was always masked even if no PLIC was attached. This patch adds riscv_cpu_claim_interrupts so that the PLIC can register control of SEIP. In the case of models without a PLIC (spike), the SEIP bit remains software controlled. This interface allows for hardware control of supervisor timer and software interrupts by other interrupt controller models. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 15 +++++++++++++++ target/riscv/cpu.h | 2 ++ target/riscv/cpu_helper.c | 11 +++++++++++ target/riscv/csr.c | 10 ++-------- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index b859f919a7..1c703e1a37 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -23,6 +23,7 @@ #include "qemu/error-report.h" #include "hw/sysbus.h" #include "target/riscv/cpu.h" +#include "sysemu/sysemu.h" #include "hw/riscv/sifive_plic.h" =20 #define RISCV_DEBUG_PLIC 0 @@ -431,6 +432,7 @@ static void sifive_plic_irq_request(void *opaque, int i= rq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic =3D SIFIVE_PLIC(dev); + int i; =20 memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -443,6 +445,19 @@ static void sifive_plic_realize(DeviceState *dev, Erro= r **errp) plic->enable =3D g_new0(uint32_t, plic->bitfield_words * plic->num_add= rs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); + + /* We can't allow the supervisor to control SEIP as this would allow t= he + * supervisor to clear a pending external interrupt which will result = in + * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be + * hardware controlled when a PLIC is attached. + */ + for (i =3D 0; i < smp_cpus; i++) { + RISCVCPU *cpu =3D RISCV_CPU(qemu_get_cpu(i)); + if (riscv_cpu_claim_interrupts(cpu, MIP_SEIP) < 0) { + error_report("SEIP already claimed"); + exit(1); + } + } } =20 static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 5c2aebf132..a0b3c22dec 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -140,6 +140,7 @@ struct CPURISCVState { * mip is 32-bits to allow atomic_read on 32-bit hosts. */ uint32_t mip; + uint32_t miclaim; =20 target_ulong mie; target_ulong mideleg; @@ -263,6 +264,7 @@ void riscv_cpu_list(FILE *f, fprintf_function cpu_fprin= tf); #define cpu_mmu_index riscv_cpu_mmu_index =20 #ifndef CONFIG_USER_ONLY +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts); uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value= ); #define BOOL_TO_MASK(x) (-!!(x)) /* helper for riscv_cpu_update_mip value = */ #endif diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index f49e98ed59..555756d40c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -72,6 +72,17 @@ bool riscv_cpu_exec_interrupt(CPUState *cs, int interrup= t_request) =20 #if !defined(CONFIG_USER_ONLY) =20 +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts) +{ + CPURISCVState *env =3D &cpu->env; + if (env->miclaim & interrupts) { + return -1; + } else { + env->miclaim |=3D interrupts; + return 0; + } +} + /* iothread_mutex must be held */ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value) { diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 960d2b0aa9..938c10897c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -550,16 +550,10 @@ static int rmw_mip(CPURISCVState *env, int csrno, tar= get_ulong *ret_value, target_ulong new_value, target_ulong write_mask) { RISCVCPU *cpu =3D riscv_env_get_cpu(env); - target_ulong mask =3D write_mask & delegable_ints; + /* Allow software control of delegable interrupts not claimed by hardw= are */ + target_ulong mask =3D write_mask & delegable_ints & ~env->miclaim; uint32_t old_mip; =20 - /* We can't allow the supervisor to control SEIP as this would allow t= he - * supervisor to clear a pending external interrupt which will result = in - * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be - * hardware controlled when a PLIC is attached. This should be an opti= on - * for CPUs with software-delegated Supervisor External Interrupts. */ - mask &=3D ~MIP_SEIP; - if (mask) { qemu_mutex_lock_iothread(); old_mip =3D riscv_cpu_update_mip(cpu, mask, (new_value & mask)); --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550709997596228.18793530968696; Wed, 20 Feb 2019 16:46:37 -0800 (PST) Received: from localhost ([127.0.0.1]:51231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcVW-0005lx-DB for importer@patchew.org; Wed, 20 Feb 2019 19:46:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57954) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcT3-0003yK-F3 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcT1-0002KU-6u for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:01 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:52014) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcT0-0002AP-Cz; Wed, 20 Feb 2019 19:43:58 -0500 Received: from mail-sn1nam04lp2052.outbound.protection.outlook.com (HELO NAM04-SN1-obe.outbound.protection.outlook.com) ([104.47.44.52]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:43:51 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:43:49 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:43:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709839; x=1582245839; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=S6Y3NDTcZRwin8Bpei8FNMZBOIhbNRFJWIOwEvW4088=; b=RnRLaKFrB5usMhSikAVEGzSSg6ahB2OY7fwKSxwrY5+HcatnreF/NCdl /Ikr4QDvu+fWc2jrMLY/auVfoMDlSxGo8QyIYUdTgw5unTE5Vo2IrQa1x +ksOBM0Dt/XNve+4sv2fypysXmbt0kc7x/CHNSNHdKzIkrYLri9GkQqFS 9DmqNNbR97q6O1yU0ILYN7JLjoQ/62CIbvutsMTjU8hVwmyvueKbnkNgt 6rF8mwjFJXKss8hayY20fjHZ2OofPvYSMyB908pXqxoRGS8Lq/PqFvxLI 1NuDo75vDLKYbUeRm4XylIHn0lZD5KV4vxWFEtqUOd+oinIJdXuRf0Q+O w==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="103551742" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/4eJCY3i0yvilQh83SgUwGJdWU6QwTUiY3wsGQ66N6c=; b=SvlbqMZ/DNUUEJMTRGuy54kkmlka0vrv8PsnF5cN/BgXIKi2NtZbYN2MZUTpLS0s05Ah+yKT0Qqj+d/XM6dZJeA1sPwu8L1Hq9kWh4clv/qaZVaBmRtm27iBCL5OI2TjsbYiTDncptOgKqS+1ECJQdDMV3VscHQFdFxjw0tla3E= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 04/11] RISC-V: Remove unnecessary disassembler constraints Thread-Index: AQHUyX6CrMu4NMZBdEaacTSPjtBXHA== Date: Thu, 21 Feb 2019 00:43:49 +0000 Message-ID: <4522706192fc368d68cca4d61028741f4806070a.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0064.prod.exchangelabs.com (2603:10b6:a03:94::41) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0058326a-3017-4391-5631-08d69795a4e3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:5N35+tYnRy//kSjnX8KVXubSEofWqRUV/g8q+Ls?= =?iso-8859-1?Q?8BkOAHLirRA6jZoeoTF31m7E9Ng3KsNhTK15WxMK6oO6L2MVbjbBMLIqnr?= =?iso-8859-1?Q?ptnCfWVCYFGzqlQ+WZji90+ncvsBR+4V3RHAPoRblWkxoNrb4dBy3QinQi?= =?iso-8859-1?Q?JyT3Vno/6NomVGxJ4SKwSLmVPPjWyILiGj9NY0gN6/UYDTftKF0S6LoGdk?= =?iso-8859-1?Q?fvki53+9BhwNYkx4DsKy5nhtqDhPe0W34ejvIOw+8QeCS9UsEwUOkNuHZU?= =?iso-8859-1?Q?3sotRw7AHZ+h8NYUr25w8DmRQY0yr/KSgp6felrTXm5hiG4OOLodMyA9uV?= =?iso-8859-1?Q?kxORXNhgnHcG74zUK15NiU4nxfgo+tNZHysiD+9QKGl30owx6CxEOzSJ6h?= =?iso-8859-1?Q?N090MWXSr/DscCWdNWZqMgBSTiUdcWbLnIz7jzJtYGzkvLsECMHgsflgDR?= =?iso-8859-1?Q?7ypfIo52qMk4IzjotVwjOWuxc/76ho88yfLvmLGL1mNras8FVtFmjaPH9S?= =?iso-8859-1?Q?DoqPCBhM3QrHSEKVD3H3SrL9PXMFB5Mi4Ia/bLPUTdD55T/eTHJnHTCcwE?= =?iso-8859-1?Q?gcMtBoSJMRTF7RF9RVAMDpkbV7pn3xSDcSlL3w5FbHHcMVTPTonSWC9x+L?= =?iso-8859-1?Q?f45Yw9MPuHCqGp58OgbwnaUeR2/Vbro8uahOUfQyEFZLjASCKl6AHnfakK?= =?iso-8859-1?Q?X7kj3HdfyiAz6Rf0kWMPdrJSHXlub7lHSgKrIRSrg5OYyB6z/0qX7jLCVD?= =?iso-8859-1?Q?RYf3pTRsEWt0wfsmtvMiQr216OEyXHhjKDWPZK5z2OtChyrbvgpdoz36NL?= =?iso-8859-1?Q?OY9xwGZuXiu/2TDDzNuKWGH9MDzDuyO4VdHJUP2ZdhzkPszPoZz/9n02CU?= =?iso-8859-1?Q?H1oyr9jNGkBa8opYzMDhQezuAZi0O1gqrplN04nMbOQ6fyCECGL+7tR+ey?= =?iso-8859-1?Q?pkr+pnBD+XFS5B4DFkq/fEJrwNwrucqLZjcc1wL1WyJ9bG8gRu4tg+1M9e?= =?iso-8859-1?Q?nV8Hxqvrw5M7ZCcHLyqNXv4X84wAj7suZGOZbyebbiZUobNuWorn6mW3Oh?= =?iso-8859-1?Q?4MlxH0Wylk0xTeDsfxiWfa2ZBoJTLeJ6HU6WnYil+cjMWkgZ9sVB/1lHVl?= =?iso-8859-1?Q?CPj++/UvP40v9n1GRYJ5izVxV834i9x3srW+jNC0aVsyGgPrfHhCPWS7tH?= =?iso-8859-1?Q?STLaL5b//6Kf8bGhgsSlHYpzBbhOmalCPYt2TtsupwXOLnm44e1flm/vfi?= =?iso-8859-1?Q?QK28Y/g9Quy8+z2atIDXOr0Sbjn34zNiygGrisNjdc3gX/865fnA1/B+GY?= =?iso-8859-1?Q?gCmz1XfQq+USxi1n9HfK2jy?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: xvxK85cTR0V+pv8wFn8FRwmjjdMtHyHuc+PkQ7jCCS3uLL41nNOPs3aYaPho6BfGr0UfvhnZrtW10OFQxIFQsgxP1+Lhw0HUW8X6dkX99+o7VGY01mphskFrB5CmwbEzK1axnPZtfNmRNvZPx3LsfiUM71kFF8dqT7eQXnkVqOMiIF5UA96R1VKMMSKCkS7iUZmbx1/RLyzQyb7Qbs9QFCPHUX3o2yQv4IftKl4DpiL5wJzQoqeKf/FUHuiHBk983mrXEEYMOm7Ixo8ecvwpf7DiGZbHDby3nKjN4eZQm1T+IAPSzuYEW0wi4e21qC0xCi2Le+1lWw8X+m2b09MrQUA9ivJuiUrj6SuGSMWtjhvQP1BQIPj8Ehp64qFw+ayOSsrdMHacYDTojxQHiYUwenT/25Cc9eDz8C5ovfcUWAQ= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0058326a-3017-4391-5631-08d69795a4e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:43:48.9485 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.45 Subject: [Qemu-devel] [PATCH v2 04/11] RISC-V: Remove unnecessary disassembler constraints X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- disas/riscv.c | 138 -------------------------------------------------- 1 file changed, 138 deletions(-) diff --git a/disas/riscv.c b/disas/riscv.c index 7fd1019623..27546dd790 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -87,33 +87,10 @@ typedef enum { =20 typedef enum { rvc_end, - rvc_simm_6, - rvc_imm_6, - rvc_imm_7, - rvc_imm_8, - rvc_imm_9, - rvc_imm_10, - rvc_imm_12, - rvc_imm_18, - rvc_imm_nz, - rvc_imm_x2, - rvc_imm_x4, - rvc_imm_x8, - rvc_imm_x16, - rvc_rd_b3, - rvc_rs1_b3, - rvc_rs2_b3, - rvc_rd_eq_rs1, rvc_rd_eq_ra, - rvc_rd_eq_sp, rvc_rd_eq_x0, - rvc_rs1_eq_sp, rvc_rs1_eq_x0, rvc_rs2_eq_x0, - rvc_rd_ne_x0_x2, - rvc_rd_ne_x0, - rvc_rs1_ne_x0, - rvc_rs2_ne_x0, rvc_rs2_eq_rs1, rvc_rs1_eq_ra, rvc_imm_eq_zero, @@ -2522,111 +2499,16 @@ static bool check_constraints(rv_decode *dec, cons= t rvc_constraint *c) uint8_t rd =3D dec->rd, rs1 =3D dec->rs1, rs2 =3D dec->rs2; while (*c !=3D rvc_end) { switch (*c) { - case rvc_simm_6: - if (!(imm >=3D -32 && imm < 32)) { - return false; - } - break; - case rvc_imm_6: - if (!(imm <=3D 63)) { - return false; - } - break; - case rvc_imm_7: - if (!(imm <=3D 127)) { - return false; - } - break; - case rvc_imm_8: - if (!(imm <=3D 255)) { - return false; - } - break; - case rvc_imm_9: - if (!(imm <=3D 511)) { - return false; - } - break; - case rvc_imm_10: - if (!(imm <=3D 1023)) { - return false; - } - break; - case rvc_imm_12: - if (!(imm <=3D 4095)) { - return false; - } - break; - case rvc_imm_18: - if (!(imm <=3D 262143)) { - return false; - } - break; - case rvc_imm_nz: - if (!(imm !=3D 0)) { - return false; - } - break; - case rvc_imm_x2: - if (!((imm & 0b1) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x4: - if (!((imm & 0b11) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x8: - if (!((imm & 0b111) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x16: - if (!((imm & 0b1111) =3D=3D 0)) { - return false; - } - break; - case rvc_rd_b3: - if (!(rd >=3D 8 && rd <=3D 15)) { - return false; - } - break; - case rvc_rs1_b3: - if (!(rs1 >=3D 8 && rs1 <=3D 15)) { - return false; - } - break; - case rvc_rs2_b3: - if (!(rs2 >=3D 8 && rs2 <=3D 15)) { - return false; - } - break; - case rvc_rd_eq_rs1: - if (!(rd =3D=3D rs1)) { - return false; - } - break; case rvc_rd_eq_ra: if (!(rd =3D=3D 1)) { return false; } break; - case rvc_rd_eq_sp: - if (!(rd =3D=3D 2)) { - return false; - } - break; case rvc_rd_eq_x0: if (!(rd =3D=3D 0)) { return false; } break; - case rvc_rs1_eq_sp: - if (!(rs1 =3D=3D 2)) { - return false; - } - break; case rvc_rs1_eq_x0: if (!(rs1 =3D=3D 0)) { return false; @@ -2637,26 +2519,6 @@ static bool check_constraints(rv_decode *dec, const = rvc_constraint *c) return false; } break; - case rvc_rd_ne_x0_x2: - if (!(rd !=3D 0 && rd !=3D 2)) { - return false; - } - break; - case rvc_rd_ne_x0: - if (!(rd !=3D 0)) { - return false; - } - break; - case rvc_rs1_ne_x0: - if (!(rs1 !=3D 0)) { - return false; - } - break; - case rvc_rs2_ne_x0: - if (!(rs2 !=3D 0)) { - return false; - } - break; case rvc_rs2_eq_rs1: if (!(rs2 =3D=3D rs1)) { return false; --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710370950212.4956488103087; Wed, 20 Feb 2019 16:52:50 -0800 (PST) Received: from localhost ([127.0.0.1]:51337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcbU-0002Ad-Tg for importer@patchew.org; Wed, 20 Feb 2019 19:52:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58012) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcT9-00048w-79 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcT5-0002Mf-H7 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:05 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:52090) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcT3-0002LI-IA; Wed, 20 Feb 2019 19:44:03 -0500 Received: from mail-by2nam05lp2053.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.53]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:44:01 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:43:59 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:43:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709842; x=1582245842; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1PiYgcM7gr2VOj4eFrg/q4577fExdLTf5WIRDk3nfZc=; b=pWbuT/B6WBgppRXewOwVXJeg/Ebxvp9Cn69LK5ylybLXRPdAm6vI0kK+ W2O4pjI1cXkLCD/V9M+hBY6jB0OLZ9ThiLtbW5A5197oXd5S2qh2fqQ2a qR0cZnuxa7iy1yI0OxXWtWpve1YhfEtQhxf8i2GaHeoqyQbdl2x+3JPva sgKid1H7RPIfvjOfKLOwqUbA3YHgyF2a/R+UglEITNRPwBhOz+w4j7svJ sEGZPyP8rGgFSb+tY33LrVHVyYrHDmj8o1XhyT7jFezQ62wSCZH5QYALo gXRSLsGt9F9cviz3m/kddWQuHE1ez0HDAZclDjJBTTgrlGBEpBoVqrOR4 Q==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="103551750" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yiAEUNipFoEG1WMRVcW3SIK9batgNWEQBZPp4TnqOgY=; b=UV2W+xo1iv20cG2VnDc/0Y9k/tzkDkuSXoQGcAdF1AFwUh/CU7MSLZszFE+uZ/bzyvU9WeNqxE2Hqnf+y99SL8a64qOzys0cc2cbNOxUmIl/YJRY1ejmJ4UbB4IMMP8SiM/rRerXJ6EpaRiyHnq5KwxfofGKHwTa5dnYXEH1dZU= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 05/11] elf: Add RISC-V PSABI ELF header defines Thread-Index: AQHUyX6IlmX00KoT402m9PeYMJdnuQ== Date: Thu, 21 Feb 2019 00:43:59 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0047.prod.exchangelabs.com (2603:10b6:a03:94::24) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6ace3468-43ab-417f-d123-08d69795aa63 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: x-ms-exchange-purlcount: 1 wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:Lm7RIZM/audr2b0Ol/SCr8p/tBomnrwrwtc1iaj?= =?iso-8859-1?Q?oPsZ/H4C/yqufhYnm1a+Xjd0pBPI7tFxCDgKCGcNkBPchETyTf9kMWDuys?= =?iso-8859-1?Q?q532naYoRfTMOoP2+nWMl16XnXpwiPFRHpASd0lH7cmNt+zPQqpGc4+xIZ?= =?iso-8859-1?Q?a6H9lxM/8Plx118CnzC00QMBBZcd/q4mTz9snuzZzlxPilmFMI7hpACvrS?= =?iso-8859-1?Q?n6uGILxQzAd79uaXmRB/sKvhLrxIDLoXWXkimoxyUk/mNNQEvkzFKjtRe/?= =?iso-8859-1?Q?H+JQvNEzhKigIxcntoX4WzBPGJY0sJ6E/oHYd6LzbEzTZQk5Z6YDM23g84?= =?iso-8859-1?Q?eEJzEc8ljVSR66iasMMKF2nxARn2354/4FewHPu3aEmKRxSUW74qyVU9y3?= =?iso-8859-1?Q?G8shkry3DT2IvZfPAXaB4ptoEz7JwRRV72zeWlYo4YlMU47A2p4Ns1E0pZ?= =?iso-8859-1?Q?pIYIBhXn/SOE16t1vm2mYa+hEhZja94/QBJ7mcvNsuk16wcUZJvXZZz57n?= =?iso-8859-1?Q?84cn/scCy1OhXnC9FVfC+N851a8mxF8YYKn4J0OQl0CBdJL43duhwpx7K5?= =?iso-8859-1?Q?aniUwyPPYdIvxE0a0hWB8XBJ2+i/jI8lCCGI9v5W052hlHQ7Xma/4Ni7LR?= =?iso-8859-1?Q?VW6p0bID+obPpTSTcTB+DUYcaQWiJHYj7daxjPUyZAKUKZC+fLcU8dTDNF?= =?iso-8859-1?Q?EV+nWwLElHYJJWM8QLt6MUb66/EloX4L8MCp/RON0kfq6168KH+9bGhz5r?= =?iso-8859-1?Q?eUksLMVZDhlXfknL3V/exPICmMPVqL5bTyh/TnkMjgQWqyTVgvp/mR3ENT?= =?iso-8859-1?Q?dIiBDVQnArkaxZ7wj8vM62K9WO8b8YuO52VQLahuYpM6WEKvJuoSZ49fwu?= =?iso-8859-1?Q?B1Mz5VbI993W4CgZXEi6bJYvCfEYW4Hl1ZBFodi0JA6Jyw4pJGRblNIyun?= =?iso-8859-1?Q?pEwnRANI9RQQXIVzLPXmAsVFkCdLcmunQJveG002ifRjQr0fszJQTDbA5i?= =?iso-8859-1?Q?Y8sEZLW8/Z3jLt6r2gCNjkTH3AHmtu2H44l/mLwF7EG3h5+RjA/JY6XBWt?= =?iso-8859-1?Q?PJPxsHUtzivKClIbTUnL7+v+bR4RCy/m5DJ9XYpm1X8Tll3lfXiiiyVWbT?= =?iso-8859-1?Q?a1P8kPLNsjvTT7nm8lJpKK0kWkVNX0xX8XMc/ik7Bwc4hbrrm7+h/LlDhH?= =?iso-8859-1?Q?E3IswpXBCDdRB64CwM051gFI8fBUEnwwqJaT6NJ9inXOt1fhP0Zm52k0VE?= =?iso-8859-1?Q?YVbezZ1r5ERLCb71ENAdcbb+n8OghWZTssEsIpPPG3vGLNUqRThP949vwk?= =?iso-8859-1?Q?iX07Tsl0baNCfNUd9bz3pgU7c2YlMoVuUr2n3XjFfxPwAm5WcFDYWprmgy?= =?iso-8859-1?Q?azjL0hsdvmYsxp4QCO2shYfjH4trD?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(966005)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(8936002)(50226002)(66066001)(4744005)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6306002)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: f/zO9rWtIGT5K7mevzgF/T8qB4Jv103jHYEaazzwaYQV+W6jc4CMoyuuvcJcZUitiIiSRYomO3Du4IvZTnBYVQj8evWMvQD23eD9oOYmwXC8BKScGmXVeggOMjiWRExntzrnb69/CKkQd0znDQKRzHnZHSuHeYutZ7Ukzs6LCuUQyC8JGoN8MiaBpXRg0H4l9iSXK+BNRqXnv2H38lUUu/qdzQMJ6wvcwEj69NC/+jYNr9UQm+Sdti0+QmJ6XFMLxt2H3YLx8AvK5/ok2QDOJMN5LKTltDq8/972CQAibb5+syFmS6Vqb3sSa9iG+MIf1VUemI9wguqo3abIoJi9U4MXIvYVo2tJUCOTcZeqYZnxLcqpvZMfVqS1yFSw/6R+KgCCrs5s4G6VY/dsfw0SSUEV13CBxG0PmaaTAfwuFCs= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ace3468-43ab-417f-d123-08d69795aa63 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:43:58.1801 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.45 Subject: [Qemu-devel] [PATCH v2 05/11] elf: Add RISC-V PSABI ELF header defines X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev Cc: Richard Henderson Cc: Alistair Francis Reviewed-by: Laurent Vivier Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- include/elf.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/elf.h b/include/elf.h index b35347eee7..ea7708a4ea 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1393,6 +1393,16 @@ typedef struct { #define R_RISCV_SET16 55 #define R_RISCV_SET32 56 =20 +/* RISC-V ELF Flags. */ +#define EF_RISCV_RVC 0x0001 +#define EF_RISCV_FLOAT_ABI 0x0006 +#define EF_RISCV_FLOAT_ABI_SOFT 0x0000 +#define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 +#define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 +#define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 + typedef struct elf32_rel { Elf32_Addr r_offset; Elf32_Word r_info; --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710013213458.92222762809604; Wed, 20 Feb 2019 16:46:53 -0800 (PST) Received: from localhost ([127.0.0.1]:51233 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcVl-0005uY-4Z for importer@patchew.org; Wed, 20 Feb 2019 19:46:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58057) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcTK-0004XI-LY for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcTH-0002PW-7c for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:18 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:45683) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcTF-0002Oe-F1; Wed, 20 Feb 2019 19:44:15 -0500 Received: from mail-co1nam04lp2050.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([104.47.45.50]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:44:09 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0520.namprd04.prod.outlook.com (10.173.190.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Thu, 21 Feb 2019 00:44:08 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709853; x=1582245853; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=s7cdeuwWPw4XIDx2G1GZwXBr44UKN8BU1njWfpy+Hs8=; b=TEAvKygoblZgjvpe8SJhesLC0zvteasHEXySrHauxNw14O+HOyWrzVN8 xZC1SXgzsy57o59oVrWmTqILdKIwRlaN9hLOxd9opnJBCuGCRc+SyTxqU aotHfPwSHjBdBMP7odB53UFwJu7Wqbp8hX5j3ZohNu24jQd6OMp3OAV5X mtG05PlCJO/grlWpFsUqIaI3s1tcE7t7vMdutoDqmo0XDWpic4aOP5ztz DhxOI9Sau0PRTd7cWT8fa+8ehI0186SoF4NepNoxgoWNQnAEtMI3IUvWF 93UG1LLS9Bp6r4bYKKXZJCAIkFBEGLdQ9YMmkmnJXPmnGMWvong5nbFE0 A==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="206985652" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kjRcIc+pv/5xFVaMUKn29xpMOojQmLLnxA2w6ml31Vo=; b=dbB5YCmbN2OVYoL4wlJR4dtAgqYMnCRXikkvHVJJCxL6onulScAeBzqxZ/wT1CX2l6l0jN3UEF04oclMZusQeWHXZnQD+yGOLg3MDNV1mzsLZrYDyoWRzG6cZKRLtV/I/phwYrfBVK/zEZc5fvh3U8ZUgf25gfOTUSuewX19xSY= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 06/11] RISC-V: linux-user support for RVE ABI Thread-Index: AQHUyX6OYH4cewxYd0KLFO5tx1Oj6Q== Date: Thu, 21 Feb 2019 00:44:08 +0000 Message-ID: <87a626176be2061cbf7a524789685157d17922a0.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0059.prod.exchangelabs.com (2603:10b6:a03:94::36) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 17943925-9dbd-49a4-480b-08d69795b06d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0520; x-ms-traffictypediagnostic: CY4PR04MB0520: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0520; 23:aO2FddQebrBMUkEOOBMruNypD7ZEGJdXKHkw0Wn?= =?iso-8859-1?Q?5wrc+jUGHfOCZ8xO36V40AR2lW3TXslS8J39rGTqpOXEnI9I/XQSaqdQDW?= =?iso-8859-1?Q?FsynlUPk6mIii2vwXO/37yHhQYQ8yLJ9t3hG4cb9s+oGVFbvMY0aEfgI0P?= =?iso-8859-1?Q?72aS240cBYQ2zftIrsOxKEzh/OoqPUf+cFKRa9WNu0dbkkYAgwN6nOKwWo?= =?iso-8859-1?Q?bLrgg2RSBUynUcfUK62zszUGFdLxp8oZIKpbNMw00yDM+xvZvTga4MGEkD?= =?iso-8859-1?Q?xB2mMQLHb6TOXxTiNCShpXzMRr9K2EpMIpqFcESaugcrmF7zXzJp/TFWi3?= =?iso-8859-1?Q?WldyuDlRYgA/pFmr+/2O0ow0h8XIe1aqHDd3wmHcm1Is0OXZfa2/RM2yEn?= =?iso-8859-1?Q?kl5BcmE3/qw8cWqrJ+XOl5hxrLsa9SFOyrkmxkDXop4dLkND+omGi5FKKY?= =?iso-8859-1?Q?Tg6+tAZsP3r7eFwMkKHA9dkm9Jn3KTAnvwdezRiPxFa2UR7AecpCEmTQ+h?= =?iso-8859-1?Q?szz+HTckiFoqyQ0hxLWtzHF78OT5RAYU9EhCIruenUIZrGJdzXGkKL/kC4?= =?iso-8859-1?Q?9/zc2MyTW2/mWiS1xgUnGcYRtCMm3DDdx0JtVKXJhVTQ0zwa58uCePlfy7?= =?iso-8859-1?Q?c3Theb5iVP9XKIqBPvJtR2Q2zVJfAjeBy9RUWzsqHxjWOfZOzgQysXWGKI?= =?iso-8859-1?Q?kAGk6Td9UOJX1iaba7DtxXI4G/ai0OV+9uRv7xbLy4+lqg8DcdWBxJsN0s?= =?iso-8859-1?Q?GLnKoMz6Wt0FHvRd2KwM+FOVXj2T+Y4ToC5AWBiKunBFhvb6AicCwH5su3?= =?iso-8859-1?Q?dKFDZSC9/btp0ixy0bfIUoQ9r+1Xuj9GDkpYPw2i4gYeYIxsyu+cjNL9RZ?= =?iso-8859-1?Q?NEr/94mlKUXLce7ZosvU32beE6naz8cLp64GeMjJw9Od8aRJZaDflaWtuJ?= =?iso-8859-1?Q?5oajMhsdD/wS0VbG0PuNcwyPKW+ofBWKVrOpm/ZXSsgxYZVLs7k3kzJFG4?= =?iso-8859-1?Q?qeC8NnyW1RWfbdRJa40zjaYCflRyi5XeaChAcvuh//BlBJ1C/0pt5hVKfI?= =?iso-8859-1?Q?jveaLYcq4X1Ii9fdjXtWOBnWK5pJqEbkv7q/XCIcNsI6iUnz7Fmu4h11iJ?= =?iso-8859-1?Q?xMoreJyXxSy63Yk6M4TvdY6n+H/ZTvgg1oDo6mdc8G/KbM7QBard1oH9rX?= =?iso-8859-1?Q?lwIn0O9/gytUVZ/RuWF5hfVmENNe0EoNlStHVkvhKQgxK3h5lmbsD2RZ7v?= =?iso-8859-1?Q?uUtw4k390lYidxevOoB/3R2UMqx7iylyCSdY/rvVQkuwWm9dKjN/2Y65bt?= =?iso-8859-1?Q?9+Jqxzwhmj/qqv5FTd31HS23qWj+jW0kcVT2jS9V2KNfA=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(376002)(346002)(366004)(396003)(39860400002)(189003)(199004)(50226002)(316002)(26005)(6436002)(81166006)(6506007)(118296001)(2501003)(6486002)(53936002)(36756003)(3846002)(68736007)(2616005)(14454004)(476003)(8676002)(81156014)(6116002)(52116002)(5660300002)(186003)(8936002)(446003)(305945005)(102836004)(6512007)(486006)(386003)(7736002)(478600001)(72206003)(97736004)(44832011)(11346002)(99286004)(2906002)(105586002)(106356001)(110136005)(54906003)(14444005)(256004)(66066001)(86362001)(4326008)(71200400001)(25786009)(71190400001)(76176011); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0520; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: ZkIeQDSKqyZ9I/Vz+ZQ+BG/7OoxIvKOW9S8EedwXVTG2Rv0y49wh1IzSdYf0BPzjnvqB8l0PPG3/4cnrxCQfmz03T7KwEOA1AITx9EJKl2a6/ams+sH6tXn3o18J+Wu46JKESglj0pXIIr0pQrFNysInWpyOGmSe02jQW6+LUE7nrmwTomZscI7BDcpnX6ZSG7ryGZvz8brsQxR9M4Oa0yuatKXsELhZas9FJRyMnVthgttItCJhazxEc/1xu3RKtH0ihbYN2/xia4bkVM4ki7MOhIyFo7r0UGlbGONBta5NsnuQ7YkawZ/1CznPsVWJwLt0MvebV9xN10R1F60JovZ2DJIUC5n8yg72OXmerR5F+G8WLqoJevgjRVXdeGxip1Vf7dc3WKACN06AfCbdVf3mC446/unRSvxbqX1SdsI= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17943925-9dbd-49a4-480b-08d69795b06d X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:08.3035 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0520 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v2 06/11] RISC-V: linux-user support for RVE ABI X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Kito Cheng This change checks elf_flags for EF_RISCV_RVE and if present uses the RVE linux syscall ABI which uses t0 for the syscall number instead of a7. Warn and exit if a non-RVE ABI binary is run on a cpu with the RVE extension as it is incompatible. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Co-authored-by: Kito Cheng Co-authored-by: Michael Clark Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- linux-user/riscv/cpu_loop.c | 15 ++++++++++++++- target/riscv/cpu.h | 4 ++++ target/riscv/cpu_user.h | 3 ++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 4cf3e94632..a9bac4ca79 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -18,8 +18,10 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu.h" #include "cpu_loop-common.h" +#include "elf.h" =20 void cpu_loop(CPURISCVState *env) { @@ -53,7 +55,8 @@ void cpu_loop(CPURISCVState *env) ret =3D 0; } else { ret =3D do_syscall(env, - env->gpr[xA7], + env->gpr[(env->elf_flags & EF_RISCV_RVE) + ? xT0 : xA7], env->gpr[xA0], env->gpr[xA1], env->gpr[xA2], @@ -113,6 +116,16 @@ void cpu_loop(CPURISCVState *env) =20 void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs) { + CPUState *cpu =3D ENV_GET_CPU(env); + TaskState *ts =3D cpu->opaque; + struct image_info *info =3D ts->info; + env->pc =3D regs->sepc; env->gpr[xSP] =3D regs->sp; + env->elf_flags =3D info->elf_flags; + + if ((env->misa & RVE) && !(env->elf_flags & EF_RISCV_RVE)) { + error_report("Incompatible ELF: RVE cpu requires RVE ABI binary"); + exit(EXIT_FAILURE); + } } diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index a0b3c22dec..8e4b5cfe26 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -123,6 +123,10 @@ struct CPURISCVState { =20 uint32_t features; =20 +#ifdef CONFIG_USER_ONLY + uint32_t elf_flags; +#endif + #ifndef CONFIG_USER_ONLY target_ulong priv; target_ulong resetvec; diff --git a/target/riscv/cpu_user.h b/target/riscv/cpu_user.h index c2199610ab..52d380aa98 100644 --- a/target/riscv/cpu_user.h +++ b/target/riscv/cpu_user.h @@ -10,4 +10,5 @@ #define xA4 14 #define xA5 15 #define xA6 16 -#define xA7 17 /* syscall number goes here */ +#define xA7 17 /* syscall number for RVI ABI */ +#define xT0 5 /* syscall number for RVE ABI */ --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710301729669.5482902283699; Wed, 20 Feb 2019 16:51:41 -0800 (PST) Received: from localhost ([127.0.0.1]:51297 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcaL-0001Bb-Gq for importer@patchew.org; Wed, 20 Feb 2019 19:51:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58091) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcTP-0004g4-8R for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcTO-0002RI-Ef for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:44:23 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:49126) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcTN-0002QU-3G; Wed, 20 Feb 2019 19:44:22 -0500 Received: from mail-by2nam05lp2056.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.56]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:44:20 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:44:18 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709861; x=1582245861; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/gOAmNvsydMG67UaJC2PD2qnb65CTzoNUErgLy0F96s=; b=X7vjb5NAXU1RkaGRrp3U9DNNcLYrx3J+fZ+qketsyO/Q1JVX92WO6LDp /dNYbTLcpXJzPmdyvyinIleCHLG5Zz8TqDAudSiu4OQy1zH4qKpOt/3pI sbpW8hvRA2tczTSf0Jf38LO4dlwTKE85v2gkTbAoZIAUWALhuap4VZouF aaXgqL4ILj/IkaJVOjAT345Ujf/ec3JKcqjehu/MGSVlZxL4+1OkNXMEc TJYF/WdwtA2cUjVHLS72TBKtEY75oPVYGXez13qbCI52NGZFzwnoh4Ps1 Ft/sGMbXZOsSl235z0ZeDE8b8nGrhpnu0ZPWtNLWS3sl0aBkaVy+cK0mB w==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="106761275" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/kUQ29t5TrfYlfzqWOQXVR8Cybxb9FdATw7XRW5RQBw=; b=LbRF2D3z8SqtnemSXhgeo4veU5faGcjjPMbJNO/VVk5YFQWdN9CJyFM3Y5Q1u8GLrx5VjrYJVgWiKxOcDoHrX3AF312l5bGYBz5sY9oFto6GWHOJurQHr7aLJt9AawpaoAcRDf+osZGawmpGMF5abKfImwnHbCqn/GfDhSkC3L0= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 07/11] RISC-V: Change local interrupts from edge to level Thread-Index: AQHUyX6TXQ7br6ItPU6utSBD9quQtQ== Date: Thu, 21 Feb 2019 00:44:18 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0026.prod.exchangelabs.com (2603:10b6:a02:80::39) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4d5cc961-0efb-4ba9-ed18-08d69795b634 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: x-ms-exchange-purlcount: 2 wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:wOCUapSRq2XP/eWk0R1936ai3wAWX7/j7OQ+fq1?= =?iso-8859-1?Q?VCppzCqxZa9NlNf2yDj6hks8FABvlWTLeYQh6AtdEznwdpFfW9GdgLkaNs?= =?iso-8859-1?Q?yA9uZ0mptKYb3IjeUTekdLQ5x8ljbKOEF/8FS5fBCTCuMXy2A+6jnG0mMQ?= =?iso-8859-1?Q?duVVPiAz7dUXzSVPUbs9Mu8G7N34Bp/ds3ydV6Hopz8iKYDMrLi+7Ph8cA?= =?iso-8859-1?Q?Idg60AK4tenYYUg28uF9b9KUkVKwalDPD5+9o614JnH2N/X1Txp3hAhm+g?= =?iso-8859-1?Q?ltSLXHZA6D7jnmALCgwe5RsgKDWvbAV9k09LMcLZKBeqrCHNPMz5OwO4xX?= =?iso-8859-1?Q?ltBupxlHPTBHlx9FCdRqEbDCFGl0boBEKzcQolRzGPtTGIcE1vFzKddg6O?= =?iso-8859-1?Q?ZSpZuUty5KLbNncyj6P+b8QDLzKF1NQZOuIgPE+zubW3HBwSO5B2jxcA0O?= =?iso-8859-1?Q?0B9sMakQVGte2/WyJc6owndKTnUsGpZ3cKWx2GdhSfuXMhP4oyk15s7M1d?= =?iso-8859-1?Q?aEA0gE9QSjMlhdrcnIpOSfySVW+ciD8x5cIo17NDy71/p6ljCmNCsO0ee5?= =?iso-8859-1?Q?pQ6aB8TSyaK74U6alXt6a3/JLujSdupJovU/lIc5Exnw1FeWaZ1qsxFPpp?= =?iso-8859-1?Q?pALpIWbdBSkipLd8NRODiL3+PIEgPlRdhdq48sC3dFTcWyHRMkK+bydxxR?= =?iso-8859-1?Q?qOXyyh6Qfp/lQscX2CaUwt5JYAvt+FyNcZPrFvVtaTs+s2t3SsUODzgifj?= =?iso-8859-1?Q?cUhVGwB0Cae3cT+s6yIxx+yvCPVdbUsuBnqS8bCdz2jMzU3uQJW+luzsCb?= =?iso-8859-1?Q?4KL8MBna5FfMVVP/Xb7bWIf8C3+P/8Ymi0AcVW+bBI+LerqGhWDS21BtZD?= =?iso-8859-1?Q?i/wiulWVhtjt1d++fy844GqvV3I88xycBQVzZcpNI0PMEVzdF8TnBygHz1?= =?iso-8859-1?Q?I58GkzwukBf3MZ4oOnHC/3U9+dWB8gq0OYa6Z1DVsE7cxv+b1BUP+UuU2t?= =?iso-8859-1?Q?2h4xqYNqEf2U++XEt1FFLd7vzS1JGj8pEOBJ/ZHVmrdo5FdDIs0R4LvWUd?= =?iso-8859-1?Q?Ctshm2IDT0EgH/GOC2gOG5iq42yQMHGBeqUtLPs+MUnDG/AKjzNZmJhj4e?= =?iso-8859-1?Q?CIS87zOUQ4zd461o93H4zKFNjSH8V+fuhcvXmdXHRKIBxVbc90Enh6pWZO?= =?iso-8859-1?Q?4z5XEt2R4q9l146DNTCh9mQ+3V9IpzNkGcdop5wMnxXP/fD4DVT9LlaAqr?= =?iso-8859-1?Q?SAbUN1DnuwWV08UK+afO1gyv69vvgldaK5759lBjhYiPBXC2XtlWKNEgn0?= =?iso-8859-1?Q?jCT8ePB4PChRZgNn+TsBj6xQnSBsQcpIpcatPR+LifrdO4Q/PA+mnnV23f?= =?iso-8859-1?Q?uA/NZ+K/x5aNYtg6Tf0M5hma3fJXm?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(966005)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(14444005)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6306002)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: F6qR/a0f7RtjrviX+Ib5pGyLhw4EVwZ/cqdb6zWd2w5cEmhn11Yb17CFeqkzjGkaaBIkhgW7s2L5U1dnHeftXPxLjajtq32hDd1txk34XSWWnDwD5OS9Y+m23ERJ3VDUAL1J6P7hYvE114f2kM0DqLwDeFUQdCdk9I1a8yKsSL6ZH+8R1PLyKzCcSQxTJqiqQN0VFqCDt+Q3ibH7qYPQQkQNOF6YhimSoKPRyCSsMarquGSsV2V3PF+hwtVEfSy8ljDvAzdM/GfkI6xX46AT2fjL15Pbw9STCtOE08RlwCp7Xtk8moIqDL0PQlz/IvE/AfEaVqaBKn+GX+YBUDLfIpaAyPGDtQDBQjvw/9cMu4cmdkNoMAcVVfjZR9TqkHsfAlJ3Q2vlq8Dq7C7M84l4n39hvLvA57FISSYnX/W0yI0= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d5cc961-0efb-4ba9-ed18-08d69795b634 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:18.0045 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PATCH v2 07/11] RISC-V: Change local interrupts from edge to level X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark This effectively changes riscv_cpu_update_mip from edge to level. i.e. cpu_interrupt or cpu_reset_interrupt are called regardless of the current interrupt level. Fixes WFI doesn't return when a IPI is issued: - https://github.com/riscv/riscv-qemu/issues/132 To test: 1) Apply RISC-V Linux CPU hotplug patch: - http://lists.infradead.org/pipermail/linux-riscv/2018-May/000603.html 2) Enable CONFIG_CPU_HOTPLUG in linux .config 3) Try to offline and online cpus: echo 1 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu2/online Reported-by: Atish Patra Cc: Atish Patra Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 555756d40c..073bdcfe74 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -95,9 +95,9 @@ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mas= k, uint32_t value) cmp =3D atomic_cmpxchg(&env->mip, old, new); } while (old !=3D cmp); =20 - if (new && !old) { + if (new) { cpu_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); - } else if (!new && old) { + } else { cpu_reset_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); } =20 --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710427099445.73723509206525; Wed, 20 Feb 2019 16:53:47 -0800 (PST) Received: from localhost ([127.0.0.1]:51339 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwccQ-0002i6-Vx for importer@patchew.org; Wed, 20 Feb 2019 19:53:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58190) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcU0-00058f-C6 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcTy-0002cA-1H for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:00 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:60602) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcTv-0002Zm-Vy; Wed, 20 Feb 2019 19:44:57 -0500 Received: from mail-by2nam05lp2050.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.50]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:45:15 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:44:28 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709936; x=1582245936; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dE+Cec88GoO5/zv+M7uR6/QvE5ML1q257t2DPzVzr34=; b=GJ15b4T+sPJ9dJ+8s5fTxn5RrDf0FeLdLeEhr2eSBcUh/1XZoK05gUYA 7oDKAkcCM1sA5jIAw3SYnx6vHuzn0E5Vamp86C3tSGE13MO4Tu0fnHOx5 8+CQUMvh7FNwTpLxS2b7NXP28D1lkpAyvaQ8GrWJEPPMf+UFzCS83M0wC AbSAhvsf4egdHPvCd2IQgHePkvVMTF24Q0ZxyXK5UdBas/QDs2YNiwz+J +8+iWKIYxJOkr4MwJuR02o734U+8S3QPTATn9TNqd+j16UNk+MKqn6iQS Cqwgmb5UUsIPUW4theTV0fP+0cmOeApP48vP4WDaGwMYOW0Ewg54vsGur g==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="200114444" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ef+eU7n/zHfPDvSf1+ijxm4TbGPfpKgPEXrqhWFzykA=; b=Oyq0Sl2ODn8rG5dmj91gJ+ApX0SLsAs+JlNLEa8G1W4q9L7gEWhzeawkjF7F7ujniifRytHu5xV5h11nGfineXbwYLkQbf08NCuOZXea8EtG1F3bBZJlwX5gZDcojOVRbRtDpusMtPzSOTdBK0M6Ej6abZq2Rq1HB8xyP0S60rw= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 08/11] RISC-V: Add support for vectored interrupts Thread-Index: AQHUyX6ZDfF/NYvlbkiHU2H4zotujw== Date: Thu, 21 Feb 2019 00:44:27 +0000 Message-ID: <2507abbe551534e531b3d454de4d4551bddea32c.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR08CA0004.namprd08.prod.outlook.com (2603:10b6:a03:100::17) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f9ea2f91-7099-44cf-0fec-08d69795bbcf x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:GQ9hk7YIM0lLqckAhezgMcN9RbFXDdkQ7h5ALAj?= =?iso-8859-1?Q?CMjrTGD1cych6epoCNUpybg+sSaTFs+8lJCMzm0Ut1kw5x2NwSU+R69dZf?= =?iso-8859-1?Q?jb2Q6cVPISoxirGS93xhdtOCIV/rP1p+IadJI8aP18mvSdh2VN3AUyMAub?= =?iso-8859-1?Q?tFaXIWABgRkWvz04JN98Txa9+q31ijyQ5c+9N5WIGtH4tF5sAqNiDrLaRh?= =?iso-8859-1?Q?4nziA6bYZsRwYEC4KjtxSPNu03CSOfdk67z6IfGlFjKP6xGG2BTDDI4/XG?= =?iso-8859-1?Q?8U2lwRM0g6/q8mi8RmN4ExYnHsA9PkSb1oFJfLJEZEc1n2PjGQyVEdpjYt?= =?iso-8859-1?Q?ArwNApVfhxvtbD1W/0Zmlx0SvyTMMo/cUFv0TZx4I8fmTtsJfnHaVrk81M?= =?iso-8859-1?Q?WXq7fKK7Dd+WDEqNU+j6cE2HVSc2ZQVRLux3Nkjcn3GLGT3h5WBJjdQ08N?= =?iso-8859-1?Q?uRi+NRBdL5PfasXXOAvL7OmfPo4HkdvZj12Cp0cyjclAjWQew2UbLTXwlO?= =?iso-8859-1?Q?8OZdjoJWU9bf6ohZBKN+qvJyMnlEE8FqVSOml1Oh9CgKBvE8Y4AAzUrPz4?= =?iso-8859-1?Q?n+FPndBwfeRbcF10o5eA2+/6McwY21vfgpBdlNSCHspnybTC0fB8762mAz?= =?iso-8859-1?Q?6qy1To+AQcQKlHkxBKLVuHipRRevlu8NVde/CrtcNMaigO5JgUI3cGhfVp?= =?iso-8859-1?Q?TYresY/98AeVyKzSprj9BRmL0l2uCPYNdHODyKaUrhj/mcbW7DPKIgwprZ?= =?iso-8859-1?Q?HVqQNqNp5FnzPKTtGtApWm6d55JgCq2tRFMZe9mCur+VwvFftTMijiRkd1?= =?iso-8859-1?Q?DJMVqHAqSA3RPO/Da9+vqJoJgDZo7kdDU5J0fY7cJakMZGNB7np4vml034?= =?iso-8859-1?Q?ZmrGIiLKmAm3o3eLIlq+CEqrhxWP3GNfY0SekBFFJ1pKkvxhP7MCYbTG3J?= =?iso-8859-1?Q?m+ZeBHU2SVY4a2lxtfKX7b2ot4liuZl6dFY/KT2WiF8E/LWecEH6BcHT6Z?= =?iso-8859-1?Q?GxBIFtNvqKhcZEHnUiM6b7VJcgU8/A3AV+5Ja+LiwQOIvAWOXXUavnOQFC?= =?iso-8859-1?Q?Dj0BCZgaT/Nj0cg1v8xr8tYj9K5kK5BfPpEQKzON6Kh0XpN0+TpdFBBFNd?= =?iso-8859-1?Q?mrZ9d/0Oub3mMtM5vqUClB/V/mOnMfk/mi0mIF48nPffQ55JElNydnRWc1?= =?iso-8859-1?Q?BFiqAyPHWCuzm6T16b60tT5BdL114zni1ei0PImYCJWMiKLTsWVd2LRYs3?= =?iso-8859-1?Q?wdYQg3CqETIEQ64Yjxn89QrFFAsyIxPxZWgnZFvvLBbJCtFqONanf3e8NT?= =?iso-8859-1?Q?b3HFVabMMBxihgLV63l59Q8hTqW/3qGlva9x3G1o4nYfA=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(14444005)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: mPo++K0N7NPyq8iPNYcOuVc2c5npaESdljcSHfy5g9/sbt9oKrlBN9tZ4RiC0OGzh5PvzVMEa3OByRlBWQS2viDjLRFwfsGk/3Ui4KfPGDJJncbi1jWvFdrrj+k1cVBACj3Bg3iJ6BaevMBGmoZbqxIFs6OXBa7K/A0xHn9nk6ht+5Cu71wgSLTZ1ODi4WRfELyczxMs9NeRWSzRPqk9fSZhMVD6w3O5vZksBpR8eAxu29HOahsSDfkABDMk1Vwd4e0Qd4Vcn8nPo+kalbbyzp3jukCx4h/qiPP65TXlnNNCRrp9ZpYGqDYxEhCPJAwbc1EW3hoH16X5gS0dBBWNSLGmKP7My4zj5SRIR2UqBRktAUTKqwVMl4KX2hpPyCSRjgSHG+zWyyqUeyCfirMCT8Fa7utbXH467xtUDD8eKCk= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9ea2f91-7099-44cf-0fec-08d69795bbcf X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:27.4032 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.143.124 Subject: [Qemu-devel] [PATCH v2 08/11] RISC-V: Add support for vectored interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark If vectored interrupts are enabled (bits[1:0] of mtvec/stvec =3D=3D 1) then use the following logic for trap entry address calculation: pc =3D mtvec + cause * 4 In addition to adding support for vectored interrupts this patch simplifies the interrupt delivery logic by making sync/async cause decoding and encoding steps distinct. The cause code and the sign bit indicating sync/async is split at the beginning of the function and fixed cause is renamed to cause. The MSB setting for async traps is delayed until setting mcause/scause to allow redundant variables to be eliminated. Some variables are renamed for conciseness and moved so that decls are at the start of the block. Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 145 ++++++++++++++------------------------ target/riscv/csr.c | 12 ++-- 2 files changed, 60 insertions(+), 97 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 073bdcfe74..a02f4dad8c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -454,118 +454,81 @@ void riscv_cpu_do_interrupt(CPUState *cs) RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; =20 - if (RISCV_DEBUG_INTERRUPT) { - int log_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - if (cs->exception_index & RISCV_EXCP_INT_FLAG) { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": trap %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_intr_names[log_cause], env->pc); - } else { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": intr %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_excp_names[log_cause], env->pc); + /* cs->exception is 32-bits wide unlike mcause which is XLEN-bits wide + * so we mask off the MSB and separate into trap type and cause. + */ + bool async =3D !!(cs->exception_index & RISCV_EXCP_INT_FLAG); + target_ulong cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; + target_ulong deleg =3D async ? env->mideleg : env->medeleg; + target_ulong tval =3D 0; + + static const int ecall_cause_map[] =3D { + [PRV_U] =3D RISCV_EXCP_U_ECALL, + [PRV_S] =3D RISCV_EXCP_S_ECALL, + [PRV_H] =3D RISCV_EXCP_H_ECALL, + [PRV_M] =3D RISCV_EXCP_M_ECALL + }; + + if (!async) { + /* set tval to badaddr for traps with address information */ + switch (cause) { + case RISCV_EXCP_INST_ADDR_MIS: + case RISCV_EXCP_INST_ACCESS_FAULT: + case RISCV_EXCP_LOAD_ADDR_MIS: + case RISCV_EXCP_STORE_AMO_ADDR_MIS: + case RISCV_EXCP_LOAD_ACCESS_FAULT: + case RISCV_EXCP_STORE_AMO_ACCESS_FAULT: + case RISCV_EXCP_INST_PAGE_FAULT: + case RISCV_EXCP_LOAD_PAGE_FAULT: + case RISCV_EXCP_STORE_PAGE_FAULT: + tval =3D env->badaddr; + break; + default: + break; } - } - - target_ulong fixed_cause =3D 0; - if (cs->exception_index & (RISCV_EXCP_INT_FLAG)) { - /* hacky for now. the MSB (bit 63) indicates interrupt but cs->exc= eption - index is only 32 bits wide */ - fixed_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - fixed_cause |=3D ((target_ulong)1) << (TARGET_LONG_BITS - 1); - } else { - /* fixup User ECALL -> correct priv ECALL */ - if (cs->exception_index =3D=3D RISCV_EXCP_U_ECALL) { - switch (env->priv) { - case PRV_U: - fixed_cause =3D RISCV_EXCP_U_ECALL; - break; - case PRV_S: - fixed_cause =3D RISCV_EXCP_S_ECALL; - break; - case PRV_H: - fixed_cause =3D RISCV_EXCP_H_ECALL; - break; - case PRV_M: - fixed_cause =3D RISCV_EXCP_M_ECALL; - break; - } - } else { - fixed_cause =3D cs->exception_index; + /* ecall is dispatched as one cause so translate based on mode */ + if (cause =3D=3D RISCV_EXCP_U_ECALL) { + assert(env->priv <=3D 3); + cause =3D ecall_cause_map[env->priv]; } } =20 - target_ulong backup_epc =3D env->pc; - - target_ulong bit =3D fixed_cause; - target_ulong deleg =3D env->medeleg; - - int hasbadaddr =3D - (fixed_cause =3D=3D RISCV_EXCP_INST_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_INST_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_INST_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_PAGE_FAULT); - - if (bit & ((target_ulong)1 << (TARGET_LONG_BITS - 1))) { - deleg =3D env->mideleg; - bit &=3D ~((target_ulong)1 << (TARGET_LONG_BITS - 1)); + if (RISCV_DEBUG_INTERRUPT) { + qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " + "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", + env->mhartid, async ? "intr" : "trap", + (async ? riscv_intr_names : riscv_excp_names)[cause], + env->pc, tval); } =20 - if (env->priv <=3D PRV_S && bit < 64 && ((deleg >> bit) & 1)) { + if (env->priv <=3D PRV_S && + cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { /* handle the trap in S-mode */ - /* No need to check STVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->stvec; - env->scause =3D fixed_cause; - env->sepc =3D backup_epc; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->sbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear sbadaddr/stval - * todo: support populating stval on illegal instructions */ - env->sbadaddr =3D 0; - } - target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_SPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_SIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_SPP, env->priv); s =3D set_field(s, MSTATUS_SIE, 0); env->mstatus =3D s; + env->scause =3D cause | ~(((target_ulong)-1) >> async); + env->sepc =3D env->pc; + env->sbadaddr =3D tval; + env->pc =3D (env->stvec >> 2 << 2) + + ((async && (env->stvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_S); } else { - /* No need to check MTVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->mtvec; - env->mepc =3D backup_epc; - env->mcause =3D fixed_cause; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->mbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear mbadaddr/mtval - * todo: support populating mtval on illegal instructions */ - env->mbadaddr =3D 0; - } - + /* handle the trap in M-mode */ target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_MPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_MIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_MPP, env->priv); s =3D set_field(s, MSTATUS_MIE, 0); env->mstatus =3D s; + env->mcause =3D cause | ~(((target_ulong)-1) >> async); + env->mepc =3D env->pc; + env->mbadaddr =3D tval; + env->pc =3D (env->mtvec >> 2 << 2) + + ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } /* TODO yield load reservation */ diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 938c10897c..8039eb6e48 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -435,10 +435,10 @@ static int read_mtvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_mtvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->mtvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->mtvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: reserved mode not supported\n= "); } return 0; } @@ -607,10 +607,10 @@ static int read_stvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_stvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->stvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->stvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_STVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_STVEC: reserved mode not supported\n= "); } return 0; } --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710496439538.9203775379233; Wed, 20 Feb 2019 16:54:56 -0800 (PST) Received: from localhost ([127.0.0.1]:51355 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcdX-0003o2-Iw for importer@patchew.org; Wed, 20 Feb 2019 19:54:53 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58241) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcU3-0005Bd-7h for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcU2-0002dh-6l for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:03 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:60602) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcU0-0002Zm-5o; Wed, 20 Feb 2019 19:45:02 -0500 Received: from mail-by2nam05lp2050.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.50]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:45:15 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:44:37 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709942; x=1582245942; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OqJSNUbLovD5/OEFY8Jlxgx2laeSTywQRK0A9Bjgzis=; b=VRdRc2pztPDDQl9mJ6XoGbTcFGErECyj766xji9e+t/nBUvVSrlNG+k8 Bt+XPuapQ+062fIskc37he44pwAW8OW76iJjfBZMKRj4Cihkh7bUbQkjN nEnAnmnYlK9rue7lpupsXEjqt9kf5iqQTdxgDvdhmqIKD7MUZdpVRHdKU 3SX2TmvQNo6H/UelGyfNfbU7a0e+YKR32EWfJGyfMjcpcb4+TtUWLiopD sznRUfOPZSqFuWLeuHIiHx/dJaE3jVWuGoQd94ultqfluaAEQsO3us6Yt nmPn2H0hCpkENAqwRHzvqej2x2ahgndXzRYaeMRXMXMP03/Y40xP0Xleu w==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="200114446" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r1KYhbOFIzwO4GbSeJjgPMpjM5e4rX5qeOaTGy9LzWw=; b=UdUF+3XzhKGm3IpqHrWU+6fkKde2jlMq9GBY2DnCTMZC/u7CwgGBioaJWwoxjfo1nmrOq84aQm81F6NQmlNEEUZSWp3tPYFnddoQj9LfpZMs+l+QOYLP0Ekr/awViVu/2EeLnk9t1X0jXHXsk5zhoFhiA8Ep9GychKAGi7tJI7E= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 09/11] RISC-V: Convert trap debugging to trace events Thread-Index: AQHUyX6f7GMORncytkeCPdTlDRvGSQ== Date: Thu, 21 Feb 2019 00:44:37 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR07CA0021.namprd07.prod.outlook.com (2603:10b6:a02:bc::34) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fbf8fd54-10bf-49e9-2a0a-08d69795c178 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:WNHo8YS18G5Gc6S2ipzuhClEjnZjBqeoEABjrrz?= =?iso-8859-1?Q?cfWtYLwylfRFv3qQrt11bP8UyjyAmOipBTBPExl1z7cV9Xn+WWsUdceS4t?= =?iso-8859-1?Q?qqwpl5e7TFn1IkYHlxpNfgqZekZgcVB3/Ii3Hg7e2c7g+nF7Y6B9fDkp0r?= =?iso-8859-1?Q?Lohr4lMgHZTNn0lw/BF1DHFtWB4E0KKOwcIeVqURhgGj+Nz9vJKw74T3mV?= =?iso-8859-1?Q?RE6gcmkaOW3Ps6o3RsPTPhQBxCiRf9/d5mfypt/w84IxeHNSPqQGtP7Uz4?= =?iso-8859-1?Q?JhEdNyRR1zYYB27c7GmA/aMJYlFIShgZFLOHq8xU0dvAH75zAu8WhgoVFT?= =?iso-8859-1?Q?uo1yfj3Pmqkdut48aedSAXqOxR7z5LTSEwv8Yo1sZwoicnS3m08Ak1ZLyC?= =?iso-8859-1?Q?9y0ljSNNiMfysf0rEAPLg/nTMPM2jUeBhCCk/E8R+IaAkzhNGmypz1kWXQ?= =?iso-8859-1?Q?3vMTLP6J33j5ZubxM5uH7e2GrJRWotQSY86S917mp4/7pb8KSVgEO4VW8y?= =?iso-8859-1?Q?Rqq4atZnb8+9c4p50EsK4y5YbRFkN2aagO+edgPPemLcwB5yAqfUF2Ap1s?= =?iso-8859-1?Q?oAqR/fU1pUUZJ61o6Pp0fGG1wYjvCj3B9iLbsEY9oZ1vTe30CbClBtWll6?= =?iso-8859-1?Q?tpNpuqBPAxXkJjHcu5gOPup/rt6EWGHuIeUK4qHDa8Kdqht7AxczIcVJNI?= =?iso-8859-1?Q?BoVHL50mC0kgS+l9Z7k6iQMpqMxFGgiZ2sIt+Hiv6Iatlslr6D9OA1WdNB?= =?iso-8859-1?Q?yZGGyDn+DaOKkw4iayrKBf2+CIE30MQl03UNoe9Nrf+uyyBmRj0Ct7uRbo?= =?iso-8859-1?Q?0A916XHpaIbtMix1+2P4RYRMhuW/UKpsvBSOFRtBiU6kKJsYhNKemxZmiu?= =?iso-8859-1?Q?U4t3VQQYTa93WArS4oxNARMKa07Y+KaQCXGxDUFDrU0puXxSB3QIgAtxcq?= =?iso-8859-1?Q?mHwV+9VZ1p5DE0Rw4GoiBfkIZN8CvlK/lV/sPqJwvTOJ/+Fo0o6FGPMG+X?= =?iso-8859-1?Q?NL7U5HmMUwfYnOQnxomL3WUSI0tbt0STh4kaz3f1g31vyxSW6LgnDTrP6i?= =?iso-8859-1?Q?DqnCKpRMLEukW6ajUwswCR8DiVSR9NseFWH9m7YIWgA0pTqYijEdtPHAgh?= =?iso-8859-1?Q?nC0+l47WlsGS+HlD8NfLXCwwXuiy4zbuHcNHaLtP0+1/5+4R4SZ8g50uAa?= =?iso-8859-1?Q?3VAANIUJkbLRr+b4UEkiJ1O8Wt3ekynk2i29bDM74tKem73+R+ZRwNaYfG?= =?iso-8859-1?Q?de6DthhKVzWgz6CsERO7bVDSncjsodQdTbl46bkAgxO029mmgv8y/BJWYq?= =?iso-8859-1?Q?bN6nxtGM4qL4FHVgNXD6cki?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(8936002)(50226002)(66066001)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: xPY5Tr/uSld6vafE3xZ15sj7aqJu/q/w6wUB8SdTlIyZV9lY4ZCpUEZb3OK0Se3kiNYG/dt5u3lHEj1yBL7DkLpCWRw2d967bAar4GrGOEzrwBYiLmrXrkiidHQYw6FTZKHugVIMHKcyc7WQ5sJr5UcXUNeCntuDI5Stc3Wqrcc25E0muduLQlBxhjozDO2AEPQJXXNEoZ7wTVwAp3V7YrgDDZrSLyvUqSmP4TcizA1ScE0pFKxdAVhBRNibMPEtdFmQyPE3m+WAF1Xm7zrucGIDSoFOVN1asOtjrnq3kwoIIUzu1S8ywIApDUR0Cdn2uf5u/kfdIfz58Q7se3c6uyLafdiz1FWTHUIhpW9LaYf5su/nZpHfrVEUBMItV2i4NcNbv/fhO3oNRc2bBCFtxSt2sdvvQ3KohLLF/9+CUqw= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbf8fd54-10bf-49e9-2a0a-08d69795c178 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:36.8991 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.143.124 Subject: [Qemu-devel] [PATCH v2 09/11] RISC-V: Convert trap debugging to trace events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- Makefile.objs | 1 + target/riscv/cpu_helper.c | 12 +++--------- target/riscv/trace-events | 2 ++ 3 files changed, 6 insertions(+), 9 deletions(-) create mode 100644 target/riscv/trace-events diff --git a/Makefile.objs b/Makefile.objs index 5fb022d7ad..581bd97042 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -181,6 +181,7 @@ trace-events-subdirs +=3D target/arm trace-events-subdirs +=3D target/i386 trace-events-subdirs +=3D target/mips trace-events-subdirs +=3D target/ppc +trace-events-subdirs +=3D target/riscv trace-events-subdirs +=3D target/s390x trace-events-subdirs +=3D target/sparc trace-events-subdirs +=3D ui diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index a02f4dad8c..6d3fbc3401 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -22,8 +22,7 @@ #include "cpu.h" #include "exec/exec-all.h" #include "tcg-op.h" - -#define RISCV_DEBUG_INTERRUPT 0 +#include "trace.h" =20 int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch) { @@ -493,13 +492,8 @@ void riscv_cpu_do_interrupt(CPUState *cs) } } =20 - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " - "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", - env->mhartid, async ? "intr" : "trap", - (async ? riscv_intr_names : riscv_excp_names)[cause], - env->pc, tval); - } + trace_riscv_trap(env->mhartid, async, cause, env->pc, tval, cause < 16= ? + (async ? riscv_intr_names : riscv_excp_names)[cause] : "(unknown)"= ); =20 if (env->priv <=3D PRV_S && cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { diff --git a/target/riscv/trace-events b/target/riscv/trace-events new file mode 100644 index 0000000000..48af0373df --- /dev/null +++ b/target/riscv/trace-events @@ -0,0 +1,2 @@ +# target/riscv/cpu_helper.c +riscv_trap(uint64_t hartid, bool async, uint64_t cause, uint64_t epc, uint= 64_t tval, const char *desc) "hart:%"PRId64", async:%d, cause:%"PRId64", ep= c:0x%"PRIx64", tval:0x%"PRIx64", desc=3D%s" --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710221997435.65013497529117; Wed, 20 Feb 2019 16:50:21 -0800 (PST) Received: from localhost ([127.0.0.1]:51265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcZA-0000Ic-Pf for importer@patchew.org; Wed, 20 Feb 2019 19:50:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58191) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcU0-00058g-C3 for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcTy-0002c5-0m for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:00 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:49192) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcTw-0002am-5T; Wed, 20 Feb 2019 19:44:57 -0500 Received: from mail-by2nam05lp2054.outbound.protection.outlook.com (HELO NAM05-BY2-obe.outbound.protection.outlook.com) ([104.47.50.54]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:44:50 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0985.namprd04.prod.outlook.com (10.171.246.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Thu, 21 Feb 2019 00:44:49 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709896; x=1582245896; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vUbiUoxF5v3tPITvpHyD4UpG/CsVsAdU+OyzsdjA1FQ=; b=jMPT9hzHTexJVU3MGa6t1HwSJdqfk+Cr3W9QCg4C9a7heZUDJrxZSJOn wDUDSc4va0Mn7eCu3t6XHVQSVyjmUUzsS7B56wHpsQp6HVMNYoM7e61/7 i5ttA90bwoAs7qApVaMsDKPKkqekRffMRKy4pUfOmtzNfB9L3+XihSsv/ GQqsjFvMSfbiXuy3VDbdtgJJjP52fBy9PY2RIGvZA5y/vawMslGwlzNAv KMCypSv2zZhHKuwuo4EG5CLPzbnP/WekksvIi7Q0+XAUQ3ulwxw2z3J1i 4uB3H8Y6aeWFdVC000y2zxpTl2l3izrNgrPKZUTXfKtT5b9UvWWsXqr5u g==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="106761311" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xhOTWMkwTOyGNzZTX8ku3wNwQu+cDajmGgGs2rcNW1g=; b=dc6CZ01daxJfTAOu2MOFwzHmCmZK0830peO0F+hvfV1gWq7nt1N/agMn2BsjSOMrBw44rSdLkFWc8iZQn/e6Np5LVVJPSkEMQWeU5dHSJxzKVW9Zd0hFOnoIJsxwRNi1tFpaGXWBjZ3uvltkHCMAFBVGpzH2Qvux7iRv9dOAJMA= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 10/11] RISC-V: Update load reservation comment in do_interrupt Thread-Index: AQHUyX6mNWQtmpjPAkK28ir83RTtOQ== Date: Thu, 21 Feb 2019 00:44:48 +0000 Message-ID: <21c6075fc9bf294109593cf987f094842c217463.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR05CA0084.namprd05.prod.outlook.com (2603:10b6:a03:e0::25) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dc1803df-ccac-4428-d139-08d69795c856 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0985; x-ms-traffictypediagnostic: CY4PR04MB0985: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0985; 23:wF+sROIrWi7jnAGJsTbqpdXIBr0EDrp1gzGtlQr?= =?iso-8859-1?Q?3BhSsY8kSL3qXM3GARKDSi44Vy99o2LogQvPkKsLOyD58b5xPQlYVp+xRu?= =?iso-8859-1?Q?gnrn27YYLq5sQjA12USnWl618QwQ86Wn1xzEFM0HufUJCHIt+9ULCtgLyL?= =?iso-8859-1?Q?Qe3QWiOiO6G6NuMXjzSIeGPKwmoDDBntWBU0VMfw4ZNI5n7vXY50Nb3ENc?= =?iso-8859-1?Q?P8KEJ8m+ZBha8Q1DwhMYlW+188Lg0bDcF+GNwOsWiL6Xyd0V1PCU4lK4QX?= =?iso-8859-1?Q?C9bEeJkG37C8oADqtKFRWBeVU1OB+wJzDKUhCoEjuBSXnrAaajZzs9yXUr?= =?iso-8859-1?Q?32fhGtjdA1QBSzhCUDsrIC0Sv0jAfgYGLR4C/TSIi773WHn/Z+QAYneAws?= =?iso-8859-1?Q?aiytpoEAxITgda6Luv37tFSWOHRFH6s0FMFaZz02K5DNM24NuykP7BYgg9?= =?iso-8859-1?Q?g3yKQPT/Q3NXmqaaauISAmAGTpv1c1i3u+oOzhmUWYDuKrs/pIHr7AlrPH?= =?iso-8859-1?Q?xmKMGBoagtFf3X3AtRwrw/5QJ3q8T1EpFngzvcTX49Lv0uhQo4Wtq+LH3q?= =?iso-8859-1?Q?qsis7CKMNxxNSPoxMGz+xn8drfATRO+X8M0q0yfsT5rvZtzHXF/3jWW2g+?= =?iso-8859-1?Q?qd8DHWcqrq/VEVLGaF+7V9DIMjXTQuJRBXmWD5U9FwgREC4/Q0g1kR/k5f?= =?iso-8859-1?Q?sMTeFVbYuMza1be3cPKYUtWf+aRqRsKs5c4bDVVamCLuKi/E62f3iJ6Mh9?= =?iso-8859-1?Q?TDtURsVBuDsI0tPZDdv9CPGn9hnnhIvWqD2es8eDBGsY1havZisAzyXiXH?= =?iso-8859-1?Q?LJ0SsNx7wacyj0lASlMx+VJGqG6jt79zGk3dkqznNbU5dgehK450S2JY9y?= =?iso-8859-1?Q?FJM93OUD/13YE7xO4DReDDFJJwecCI8/lJtcWa7eigiJ6b7lW9UyXXH36r?= =?iso-8859-1?Q?pJx4Ju0w1DpXGZnecZpxc62txBZKfdo0cE407XEMapdhQQysRHWrYM7UXM?= =?iso-8859-1?Q?Pvm9lcSBKuhO8UUHbDtNSiXkjHde9VhrA1ReO5ZsoG0VRnUFlramfr2MAz?= =?iso-8859-1?Q?Q2hKSzLufRexeL8VqXqumIZR7M1QOW1LXMecbZcz2o6ENxDJS+OLmbfAeA?= =?iso-8859-1?Q?/pCi9kQhOTnkt3lq+/bfOxgAvN5PxsMmExxWpsbKckuD9cvUlecZA1kibY?= =?iso-8859-1?Q?oxZrkmPinVA4SdakBhtv7TXpWT6H4RqpD41sdrTxzttYKOjn8VJsWN3xy+?= =?iso-8859-1?Q?9Aoupnl0SVgd3rNUeh5p7G4n4ufcHtbBBhDte/7yraabbK8ca0fLZ3/rLP?= =?iso-8859-1?Q?KdXPgmQQODAP2HjHSq24YRpIT/qoYnzOPjkuqqinGuAWHAygp6gcjc61wd?= =?iso-8859-1?Q?mdO/BA6Q=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(136003)(396003)(366004)(39860400002)(189003)(199004)(72206003)(2616005)(118296001)(4326008)(25786009)(97736004)(478600001)(110136005)(3846002)(14454004)(6116002)(486006)(86362001)(44832011)(6436002)(316002)(54906003)(71190400001)(71200400001)(7736002)(305945005)(81166006)(81156014)(6486002)(14444005)(8936002)(50226002)(66066001)(4744005)(8676002)(2906002)(386003)(256004)(68736007)(476003)(186003)(102836004)(76176011)(106356001)(6506007)(105586002)(2501003)(6512007)(99286004)(11346002)(52116002)(446003)(26005)(53936002)(36756003)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0985; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Zv4OWdTB0QYP9BhvF1B2Hv4NOTl5uNlBaYYYPeeDoXIMjLoDcB/0K85BBoxsUw5drbnYMsBfI3XsgBEjr19+G/c+Zdy+6uTXQZyl67Qh6d73ZQnUeqF86iZeqM6u7P/orqY8K4RRG69OoYifOrySUHStzakljVlh6q0ccZkz+nO8fYzQAqGwJHhstF7gTcFwKdUfByEpxCulM1dZ0GgUUwtE11OJizLy3UZeDlPiWOQUO7pgiBoBRYm4ubuwkTMCo5fCrDzpvFdSOUnFQ/fDVjj9ZakZTgQ+/Rwg6i9hn+RH1v9922hg1sHlAOkTZlkCpcOrVL6rncANWfSOMNBBPblY+pULNCMFw9IJXug0pT1IQDBvnBH8Zl1+nJPT5IACxAvJhMXbYVFeBMWwJ1y9utFU5AEO10+YuU7+xS1gni0= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc1803df-ccac-4428-d139-08d69795c856 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:48.4236 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0985 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PATCH v2 10/11] RISC-V: Update load reservation comment in do_interrupt X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 6d3fbc3401..b17f169681 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -525,7 +525,13 @@ void riscv_cpu_do_interrupt(CPUState *cs) ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } - /* TODO yield load reservation */ + + /* NOTE: it is not necessary to yield load reservations here. It is on= ly + * necessary for an SC from "another hart" to cause a load reservation + * to be yielded. Refer to the memory consistency model section of the + * RISC-V ISA Specification. + */ + #endif cs->exception_index =3D EXCP_NONE; /* mark handled to qemu */ } --=20 2.20.1 From nobody Fri May 17 10:13:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1550710542945545.2252860141558; Wed, 20 Feb 2019 16:55:42 -0800 (PST) Received: from localhost ([127.0.0.1]:51384 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwceJ-0004OF-S7 for importer@patchew.org; Wed, 20 Feb 2019 19:55:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58255) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcU3-0005C2-LU for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gwcU2-0002dw-SH for qemu-devel@nongnu.org; Wed, 20 Feb 2019 19:45:03 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:45763) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gwcU2-0002cc-FV; Wed, 20 Feb 2019 19:45:02 -0500 Received: from mail-co1nam04lp2054.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([104.47.45.54]) by ob1.hgst.iphmx.com with ESMTP; 21 Feb 2019 08:44:59 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0520.namprd04.prod.outlook.com (10.173.190.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.14; Thu, 21 Feb 2019 00:44:58 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%10]) with mapi id 15.20.1643.014; Thu, 21 Feb 2019 00:44:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1550709902; x=1582245902; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gJbUr1ku1IY0S/4bJmp2+ImVpCbzAHdLpFVSpC0LcNY=; b=R9ItP3XEXHLi2uYYkmomu2oE30weWiSuhIrb8f/84Yh6X0hxYPb+t4rY Q3T/8CoU4ea/y19sTCxML5V0oyMO1Tk3JCtXjMSOJEOTTthdGRrT3TtTP dR3OWKFfCi8c3xzrjF5T74FJ9MKq2ohnriqbQ+4jVoATu1cykbGogLIJf 2sTzsMbQfTK1SBE3ylmMHVxIzdKT5ocAPEZndm915DVHIdftbNU4VWsNX chH00avYMCo/zPqpIxPGCveK+IUVgsG8rhxYOHT+cKCHjSm0+Krykc9XZ 0hNmVJ6/0PCJKJEi3lw2TgVkRcNEqYRMJEKeQyPSy0HwsynpNMAzHC9HF Q==; X-IronPort-AV: E=Sophos;i="5.58,393,1544457600"; d="scan'208";a="206985697" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Eaxh/Nrfz46f6XkdkpcszDk+vyuJZ+8xEOwvXuHegII=; b=cT25qekeOCzHDsB6A3Gnwo4Ad7fo4JJ2PsrjRSeJWXWbNoB375oWhblIaX/bI8F392/mVTw5aa+S0WiydsYPZsxpfHN0DmpN9l9+a91+6oIzKyDRrw5SjZX2Gh14i9Mh7pHDyuB6axUtt+9NgfQxUY697v7ym2JtnMJRJshrnGs= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v2 11/11] riscv: sifive_u: Allow up to 4 CPUs to be created Thread-Index: AQHUyX6rWL3mzdgq8kutKQJEvhReWg== Date: Thu, 21 Feb 2019 00:44:58 +0000 Message-ID: <71002f073a6e9e611658a19bfe14e00de9790e3b.1550709660.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0002.prod.exchangelabs.com (2603:10b6:a02:80::15) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1b58b18d-cf16-4c71-2186-08d69795cdf8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0520; x-ms-traffictypediagnostic: CY4PR04MB0520: wdcipoutbound: EOP-TRUE x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; CY4PR04MB0520; 23:ICpDsXkyQp3vRCPkZUtWRNC8LTUgTkJDQ4c7bt/?= =?iso-8859-1?Q?k7PzccBEAYOkddxdEICfxDep5UDN5ohuBXHgTlOp+zi4HfAwOL8tP69cBd?= =?iso-8859-1?Q?0Y7BBDnIJulJG+PyzhDqaBkHQWQ5HEQwb3H37gpDIMWlkJIL0Jsvoas1mV?= =?iso-8859-1?Q?0T4Wqzzb+cb8hOdcIGGW9hBSGp2rSDZNwfgmY1Yh8ZUSvGPbI4UIM3el4C?= =?iso-8859-1?Q?oFVej7gtvCSF2WIuv37hRXFAUeDD14jcU1zdtROjC7+nr+igLbewXendnT?= =?iso-8859-1?Q?z34Vq04x8zbDjUjETKmyPyL8wG1BxLO5KikmWsPTufTWBeZB01PuRdt7nJ?= =?iso-8859-1?Q?fSq8OuN87FNzykPsRe+tMEWz9f8PS7dPaEFQkarsSO+K05ZtKgyl1aNtoT?= =?iso-8859-1?Q?s0OUxjxbB+ZpcO6TCf/BEMLqJvga2ucxcc0hGDhpjjHRWPE1fxUkKGI7Q2?= =?iso-8859-1?Q?TCdaUnRz0LXklH4v5igpkImmmGnCIw4EKAfuATTSDv2M31SRtBz221HvV0?= =?iso-8859-1?Q?o0xL60biGgC4mtqkwqBQVAM9cp1rK2mv29rbmvUV9Jkk9zHlh3cvwjErdd?= =?iso-8859-1?Q?21iRsm9Rm7epZre/LJI6NtMBgRSqy16EgLI3tI2ORC4QTioqdHLqQthtfR?= =?iso-8859-1?Q?pEmy/00EcQ1Ga904LAGjWDyIDOff0q7QYWN56m+gz53XxIptniNQthbkMI?= =?iso-8859-1?Q?DvoBhUl2YzH5+Tiwo3lMJeUPOub/rMVLiPIex1/5KDDKSMUbZOAuzGcByx?= =?iso-8859-1?Q?Hst0hYkpo8YBujHX5AYjhlHqkgUCINjQADjT+CfWs5ITjMmUtsumORVxui?= =?iso-8859-1?Q?wykLpNgngj8qnhovdPbiWEoPuwmiE3hcyqq5fYiFRVhhWvULwjyb2cCbkP?= =?iso-8859-1?Q?ilWz9E49Empg/VpAWyinuobuP8KbHxbMh/Y3YRxs9qdtcbgSqAxLM5JQQK?= =?iso-8859-1?Q?L3Atw12PkL1SAAHLeBekVjDTFav8AuOCZEPgTwgVPBO5BQ3CXhfk6+fddV?= =?iso-8859-1?Q?MLHx6+7w5wev8OghwcU4ke9OLhArgtcwGKYZQKej92Ez7/twzWr0D4+5BQ?= =?iso-8859-1?Q?Jqoe89U9nvzCFAtvhEKyA2R3/GEE64HS+PiEQJkfIZ3KkzUs8oG0k6TdJo?= =?iso-8859-1?Q?VEyW9m7KRNHoONvqKFGY9JGEicYMZdwc9qNMpQsK27FAPYPZNcP4wdO7H1?= =?iso-8859-1?Q?chwVyIqhAGqlYO1KnAC9mQmZNZS64GXXKySZvuPOy3rU6EWSYm52pR/UVm?= =?iso-8859-1?Q?/GsdqxjwSWej1IkitG0N795IEPOM5DwAHPX5/IraYB4M8ZR6LbV3eyAquL?= =?iso-8859-1?Q?osw5CufRPh+5Uq7OHTwKq3mzHvFIc77NEmpGO4X7qxuXAX7UKgzcS21ngS?= =?iso-8859-1?Q?vh2V0DAs=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09555FB1AD x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(376002)(346002)(366004)(396003)(39860400002)(189003)(199004)(50226002)(316002)(26005)(6436002)(81166006)(4744005)(6506007)(118296001)(2501003)(6486002)(53936002)(36756003)(3846002)(68736007)(2616005)(14454004)(476003)(8676002)(81156014)(6116002)(52116002)(5660300002)(186003)(8936002)(446003)(305945005)(102836004)(6512007)(486006)(386003)(7736002)(478600001)(72206003)(97736004)(44832011)(11346002)(99286004)(2906002)(105586002)(106356001)(110136005)(54906003)(14444005)(256004)(66066001)(86362001)(4326008)(71200400001)(25786009)(71190400001)(76176011); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0520; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: zJ6L3aJP6nlQOiVPFQP5DdKQXjcb8gMoxs1ncNErIFOL+94G/6t/kymF38K6QJQ+8yjf4DLaDqlBZs/7uQbjkS0tzoC0PAzrMuvHQ11vrZ7qN0OxJga98GomoAByhYIWmBN+dz88MGu6ioD5KwvDSmc3SH1tHsYPBQfP9z2wVu3+OH336+5ccQcT5AJGJcWggj7ymkEP9mOx9bbl2YxCyXMqA6ikM6QNN4CTw/CsFiviWDJ/es1H7ZnCxL2nDTCbTpTW63QbWSFVeSYQjkgciSh3rB0W52fqyr2sOAZedRBbcn51OCgBxoIC06Flx/jJkdcEW66u5f7wtUNtmNSREoGJqY7c/Odbs6/kHKaE+G+w2+t4ZgJm1VsqNWygmfRZc90jeG/8dQuhv5JLj/DuOS8+4GMoZUZh1kkevWp4taA= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b58b18d-cf16-4c71-2186-08d69795cdf8 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2019 00:44:57.8704 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0520 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v2 11/11] riscv: sifive_u: Allow up to 4 CPUs to be created X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- hw/riscv/sifive_u.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 7bc25820fe..3199238ba0 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -398,7 +398,10 @@ static void riscv_sifive_u_machine_init(MachineClass *= mc) { mc->desc =3D "RISC-V Board compatible with SiFive U SDK"; mc->init =3D riscv_sifive_u_init; - mc->max_cpus =3D 1; + /* The real hardware has 5 CPUs, but one of them is a small embedded p= ower + * management CPU. + */ + mc->max_cpus =3D 4; } =20 DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init) --=20 2.20.1