From patchwork Thu Feb 21 00:43:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822987 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 38353139A for ; Thu, 21 Feb 2019 00:49:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 245FB2E9F6 for ; Thu, 21 Feb 2019 00:49:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 158D62EA15; Thu, 21 Feb 2019 00:49:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 924092E9F6 for ; Thu, 21 Feb 2019 00:49:08 +0000 (UTC) Received: from localhost ([127.0.0.1]:51261 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcXz-00082R-SU for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:49:07 -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 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" 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 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= 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 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?= =?iso-8859-1?q?/hxxOXWP+TkAuLVe7yiKjbUjt8fm6FdW1AleAwhKIYcYBca7zeTy5WqHaN2G?= =?iso-8859-1?q?Bj/DuoG3p3ge/Xedqto0qXuYXJRMP14wyogj+/S6L3DjSgkUTqrq+lLryN7c?= =?iso-8859-1?q?gp8AIFeBmiCWwmS+KENzXusqq6FU1CCr9kJrVr5PKi5dvAVqxsEvtuseqqPl?= =?iso-8859-1?q?ASG4QOjGDjFASxzkPnBw5k4vqLYNC+8GyoAyMndQU8siBoAI4G4746XLzcI+?= =?iso-8859-1?q?FKaMQSd6VSJxOd1qiGz38pxmdfXyjh0KBUStty+vQKmdRCqbOQjlVOuMxjmM?= =?iso-8859-1?q?j8assb7/B8VwSgryl7rksqdWH2QhEbEAME+lYkP+I5tvGKsOzMYnsVHyCRWe?= =?iso-8859-1?q?0sEq34gIOx0JTGmaIQ8TZdNltXEDNwFf/tq5eAeIF6KBeev+pMW3DGXkxnka?= =?iso-8859-1?q?GPw0fVinzyCfEtCUQouLZDRRtIiGw7OqLo3/l/n/qyNd2YANtBRPdvuRE3Z4?= =?iso-8859-1?q?dG5GA0KmlUQYK/jGCE8bWfLpDgB9oqS0QQSOwM8QbONzsO1DGJPweqLyPRCc?= =?iso-8859-1?q?DiegqnyEJgeAcCR7Hqn2MJoZRZNURmY6Z8i++DkkrWdpqdsBI9Utth2WjshP?= =?iso-8859-1?q?A6UH+TKyr2GxcCzXqloD3NE2QUzMuUU5bKmwTW5TUnDhIpOWDw9ate/t/Idf?= =?iso-8859-1?q?a9Q+fWpF+YMV1fhiqtlcrLlwiJipqQGEuJ7EtD/a1fwcqBFATUoH16U+NnIG?= =?iso-8859-1?q?tXPdkJ77ilrEJKQod/cIkEsJyDTzfj1kDTQXq8QsXhoiKjySaxadbJODJ7QB?= =?iso-8859-1?q?f6ilxmxye1frfv29TVJj9XiBD2nh1BuyXWqA2ow6Eix3fPJFgdetkJRJPy8e?= =?iso-8859-1?q?/OIjeTt3ZqbfywCJXIl3xSmMnevyHDA1WbzpC9l8uR0Tw4xuRREXj+TNHCh+?= =?iso-8859-1?q?Yg7ew8vRgwcyQodgf/qUi7hgVJAK4gzfQcGiw6zmNj5Krg5WPOYvr2eIV8TA?= =?iso-8859-1?q?goxMp+fumHdyTqYQPCV8+/elIvUenn3LczUxmgHi8bCiNVMT6OCZ26mHTdUr?= =?iso-8859-1?q?lVvLUC+FyORRGD58lXW1iVIfyujuAKtmKNijiCz/TciV2OZNB7wBXwhcr3rc?= =?iso-8859-1?q?+PU0V+3AFt/Gy6SSs2OQNgc+bLQj1S8+x9a6RmFcof592+Itwkd1PM/B0O+J?= =?iso-8859-1?q?WDaPbUgc+MNZ7n2TeTQv4iKp34zHc5adnnVTNSI5R/0guCmCSXt1bYYZb1Pz?= =?iso-8859-1?q?gcNuZ728BAyW10BlGXWAYCBtao7qQmfjGGdIDTM699Msnq1A=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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 = 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"); } } @@ -249,7 +250,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, /* partially inside */ if ((s + e) == 1) { - PMP_DEBUG("pmp violation - access is partially inside"); + qemu_log_mask(LOG_GUEST_ERROR, + "pmp violation - access is partially inside\n"); ret = 0; break; } @@ -306,7 +308,8 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_index, env->mhartid, reg_index, val); if ((reg_index & 1) && (sizeof(target_ulong) == 8)) { - PMP_DEBUG("ignoring write - incorrect address"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - incorrect address\n"); return; } @@ -353,10 +356,12 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index, env->pmp_state.pmp[addr_index].addr_reg = 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"); } } @@ -372,7 +377,8 @@ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint32_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; } } From patchwork Thu Feb 21 00:43:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822981 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AEB9614E1 for ; Thu, 21 Feb 2019 00:45:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9F7D32EAB2 for ; Thu, 21 Feb 2019 00:45:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 93B2A2EB35; Thu, 21 Feb 2019 00:45:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 21D582EAB2 for ; Thu, 21 Feb 2019 00:45:49 +0000 (UTC) Received: from localhost ([127.0.0.1]:51229 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcUm-0005jG-8Q for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:45:48 -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 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" 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 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= 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 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+Q9TsWOTB?= =?iso-8859-1?q?ac1Wb1YIj+InJBX8LM7nQAfxWS/P044k2gAVoRmGbNrLqBP971JBeRQqk3fx?= =?iso-8859-1?q?FUxxPpV8FfazunefDNOE04hEwaMCaRFVv1NAktCZWUV2zlxhUh8j2BKuJ5lp?= =?iso-8859-1?q?LOateyWLl7vuBs49KWTarnAXC9gsZY3iLR7CNo29BLNfsrK89am6dUGXqFG6?= =?iso-8859-1?q?CpFKV9rVg7GftQfAzl2cGlC8zrfIvWpBDsK7LdUuPPPLwBuxgTYeCcwvmFJ6?= =?iso-8859-1?q?cV1LTy1VfRMp/ua3iME5NzTfJ5jZzfN585qkbbjvjNhyr5KTTp4Rc1Ks1wZY?= =?iso-8859-1?q?6TANQix69TEJDLL7EckKAMlBHXDi3xskOgR9h87eBwroQwiBD1D9IB2OGB8u?= =?iso-8859-1?q?0berNs1M+wyyW8uj7JhKHcDSqYGJAc4QAIhZVt4hv6SbrSqaDaxMM5+EFpi+?= =?iso-8859-1?q?inw7R1CeOcYnDnkHkmqkvEpb61J1Bdq1P4caJ5DU4PkhsCkbWrJxmMDlaKvf?= =?iso-8859-1?q?l6ozwSVsZTfeZnOuKKPhybeW+fcqdQVURNqZ7gurwQsHARjrsm12F79rPH7E?= =?iso-8859-1?q?olBvhnbJuhV34Y3aTAr8clDTxdlhSH6LW1tqz4kDgfAj0Izaw7ceP5kkdWCY?= =?iso-8859-1?q?Ji+zurmCD/2jiVHzT3NyGVUybwhuL9uZDjlHU2CuGNF1UbTDWgBYpOnXjBUv?= =?iso-8859-1?q?tN87azfwoplGOFsTdC6Zgi3HuZVArWnn0KY+gQ6PPWwLveAveucWf9ASv9CU?= =?iso-8859-1?q?bQMapt8emJpMRaF3PPavSnaDz+jY2/VA7dD2VbuLGpacI1vrHxbmGP1lA5LD?= =?iso-8859-1?q?Kn6LL2ddG3MQr5o0yvR8sH1ccvDZWG1GLMYC6E3dHYoufDX343DlWLg/YuKJ?= =?iso-8859-1?q?+xyayeyrUoErSbMAA7W5GffX3/9G1ZWACaJBMI67NAMU7jEYiDzS2bLUHGpt?= =?iso-8859-1?q?MzWKSF6dosOSizbGxrBJlBQYrmsYv8Kg8cZ/DtbBj5OoL9u6ElPy9vp34PvO?= =?iso-8859-1?q?LwVX0FCfU+J1Nbp08+pJVDYsnVGN985OZj+amuY8dbvczA6VmshZmEkCQqmM?= =?iso-8859-1?q?hxBOcBZf/LpZNpnGDMNMctLQl8Fa9oCuI4Pxu2FOLpRJ7/4mcvkBt3k8Ad2A?= =?iso-8859-1?q?YZVXO3MYcbHe+i/GsGhAGrf/a8RDn++VM4cTIV9wEytqz50UQPFrxMDu5sBW?= =?iso-8859-1?q?5YD6EVJyWitV/jFB9Kde9nfVhmrS9mNgAb+E0DFDndO2f1/PfMh9vxSU78da?= =?iso-8859-1?q?Lg9gmRP8/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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 = plic->hart_config; while ((c = *p++)) { if (c == ',') { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); modes = 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); } hartid++; From patchwork Thu Feb 21 00:43:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822989 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3AFDB14E1 for ; Thu, 21 Feb 2019 00:49:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 29C702EA15 for ; Thu, 21 Feb 2019 00:49:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1DCA62EA09; Thu, 21 Feb 2019 00:49:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 776042EA09 for ; Thu, 21 Feb 2019 00:49:17 +0000 (UTC) Received: from localhost ([127.0.0.1]:51263 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcY8-0008Dc-Mj for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:49:16 -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 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" 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 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= 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 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?DUfnNaADtVHq7xE?= =?iso-8859-1?q?xuuQ2KXtEHye8+xcvEY5acejaS8xSASZ3Vt/voo4jyqz8Z2sbzdsuGwW5Jsm?= =?iso-8859-1?q?SuncBAXRrtKLYkVELQJ2eKCzmH0mK4n495Ah+PgbAholJRXWOQod1xvz3fLk?= =?iso-8859-1?q?nELXdXec3+x3Hz/toNGfTYlSmdxmDdskipXvyGV40pLMwotFDqKdFtMIuzLr?= =?iso-8859-1?q?UyfxV1F+m5bbNU8GHbkybALpzq72U+823dlXhGr7oL0lWaNrZvkZN1Dbr339?= =?iso-8859-1?q?oaI7PfewmoGgpy803dMGh8QuODkBEgpMHvZHev5Zne8qjWLt/0MTndH/5BWz?= =?iso-8859-1?q?Zm/LsXLsqYxtVXwr6Z6QoOwIfGKRdO0qZNAPHdv3F2B74C6aSWQ/KUu12zak?= =?iso-8859-1?q?JLOC0lx8NauIdRWqMvX33NtYbgujQb5XRs1VAlvjIUn1ChGcVAkJtHG4cuYk?= =?iso-8859-1?q?VqW9X+K06XFLQ9TkV+x8rKuFB5V2lh9rZyCwQ9kUU1NSvel6VcH+1iEhCwnQ?= =?iso-8859-1?q?qmcjRuT5DBGk1sGWg189yYgmKSVS9GyflSiEOB5nrPSKYOi3Qt6etyXRebyc?= =?iso-8859-1?q?uHWB2xP/dQPWPR9FPfo7Ob0h0Ia4lw3geNZYTXxffDJ5z2nK9IHhtYprDVyH?= =?iso-8859-1?q?MTG8ZXhiyJlDI5PcwwxY+PI3KgV1dLb0+cueB80WtCrCCLH65yLSnF2/Wwgg?= =?iso-8859-1?q?t+H/rYYaOYr24BvoA1RNTAIIJVEtcm4fXzRclTxzOGTViSs/QhEbYy5D4Mvn?= =?iso-8859-1?q?0bu80D7vtBgiNRwHCsQFL1KIyZPt9lUjF3nw0rVJOGIi+1d9aV45eg7q8/Lj?= =?iso-8859-1?q?618MTra7vddY6MmxymITGNQo/ExmRu/Vc7pkTjyJjqEQuuPE2fBRfNclP+eR?= =?iso-8859-1?q?+DJuwTb4mNt/NFe9WrFRVWdw2XX9kZTtldBfXysNgovSkzoXwU3A84B6vLz4?= =?iso-8859-1?q?3Wm7niDvIlZT62RyR2J85krTPg0KEf36gxvpFDQV+phAprf2bop+Q+vDbflD?= =?iso-8859-1?q?6lIhPjUdNrc+eysO2Aj9goeOe7MD8abZWK1UeszKaemSvyy/TD3iZ/raMJAD?= =?iso-8859-1?q?AE+G48BZNu+NjX1AeZ0NPHeg1r+a4KfB2K2GGQwAM/+zqoJkxm8wKgCMnmHd?= =?iso-8859-1?q?PKooI0YlFiu6Fdlh3gpkhGbUzMtnf9vIj1e2bCJq9BzRtEAS1JvoaJROcP8C?= =?iso-8859-1?q?ZwrM2o1wZPsO7n546wg5xAFIqabTI9peSZmABRds+hQjmV+w4YfTsN/E8Syk?= =?iso-8859-1?q?tuOSEgNNzVbay3Hu6Bpmod6qbvUrjzeKvg3ilIb6PsPlnj4GF5GoUAafWiOi?= =?iso-8859-1?q?BcgxuZVVA=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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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" #define RISCV_DEBUG_PLIC 0 @@ -431,6 +432,7 @@ static void sifive_plic_irq_request(void *opaque, int irq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic = SIFIVE_PLIC(dev); + int i; 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, Error **errp) plic->enable = g_new0(uint32_t, plic->bitfield_words * plic->num_addrs); 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 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. + */ + for (i = 0; i < smp_cpus; i++) { + RISCVCPU *cpu = RISCV_CPU(qemu_get_cpu(i)); + if (riscv_cpu_claim_interrupts(cpu, MIP_SEIP) < 0) { + error_report("SEIP already claimed"); + exit(1); + } + } } 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; target_ulong mie; target_ulong mideleg; @@ -263,6 +264,7 @@ void riscv_cpu_list(FILE *f, fprintf_function cpu_fprintf); #define cpu_mmu_index riscv_cpu_mmu_index #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 interrupt_request) #if !defined(CONFIG_USER_ONLY) +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts) +{ + CPURISCVState *env = &cpu->env; + if (env->miclaim & interrupts) { + return -1; + } else { + env->miclaim |= 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, target_ulong *ret_value, target_ulong new_value, target_ulong write_mask) { RISCVCPU *cpu = riscv_env_get_cpu(env); - target_ulong mask = write_mask & delegable_ints; + /* Allow software control of delegable interrupts not claimed by hardware */ + target_ulong mask = write_mask & delegable_ints & ~env->miclaim; uint32_t old_mip; - /* 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 should be an option - * for CPUs with software-delegated Supervisor External Interrupts. */ - mask &= ~MIP_SEIP; - if (mask) { qemu_mutex_lock_iothread(); old_mip = riscv_cpu_update_mip(cpu, mask, (new_value & mask)); From patchwork Thu Feb 21 00:43:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822983 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8037F15AC for ; Thu, 21 Feb 2019 00:45:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6F1DC2EAB2 for ; Thu, 21 Feb 2019 00:45:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 633DE2EB35; Thu, 21 Feb 2019 00:45:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D0A3B2EAB2 for ; Thu, 21 Feb 2019 00:45:52 +0000 (UTC) Received: from localhost ([127.0.0.1]:51231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcUq-0005lx-3P for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:45:52 -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 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" 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 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= 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 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?8BkOAHLirRA6jZo?= =?iso-8859-1?q?eoTF31m7E9Ng3KsNhTK15WxMK6oO6L2MVbjbBMLIqnrptnCfWVCYFGzqlQ+W?= =?iso-8859-1?q?Zji90+ncvsBR+4V3RHAPoRblWkxoNrb4dBy3QinQiJyT3Vno/6NomVGxJ4SK?= =?iso-8859-1?q?wSLmVPPjWyILiGj9NY0gN6/UYDTftKF0S6LoGdkfvki53+9BhwNYkx4DsKy5?= =?iso-8859-1?q?nhtqDhPe0W34ejvIOw+8QeCS9UsEwUOkNuHZU3sotRw7AHZ+h8NYUr25w8Dm?= =?iso-8859-1?q?RQY0yr/KSgp6felrTXm5hiG4OOLodMyA9uVkxORXNhgnHcG74zUK15NiU4nx?= =?iso-8859-1?q?fgo+tNZHysiD+9QKGl30owx6CxEOzSJ6hN090MWXSr/DscCWdNWZqMgBSTiU?= =?iso-8859-1?q?dcWbLnIz7jzJtYGzkvLsECMHgsflgDR7ypfIo52qMk4IzjotVwjOWuxc/76h?= =?iso-8859-1?q?o88yfLvmLGL1mNras8FVtFmjaPH9SDoqPCBhM3QrHSEKVD3H3SrL9PXMFB5M?= =?iso-8859-1?q?i4Ia/bLPUTdD55T/eTHJnHTCcwEgcMtBoSJMRTF7RF9RVAMDpkbV7pn3xSDc?= =?iso-8859-1?q?SlL3w5FbHHcMVTPTonSWC9x+Lf45Yw9MPuHCqGp58OgbwnaUeR2/Vbro8uah?= =?iso-8859-1?q?OUfQyEFZLjASCKl6AHnfakKX7kj3HdfyiAz6Rf0kWMPdrJSHXlub7lHSgKrI?= =?iso-8859-1?q?RSrg5OYyB6z/0qX7jLCVDRYf3pTRsEWt0wfsmtvMiQr216OEyXHhjKDWPZK5?= =?iso-8859-1?q?z2OtChyrbvgpdoz36NLOY9xwGZuXiu/2TDDzNuKWGH9MDzDuyO4VdHJUP2Zd?= =?iso-8859-1?q?hzkPszPoZz/9n02CUH1oyr9jNGkBa8opYzMDhQezuAZi0O1gqrplN04nMbOQ?= =?iso-8859-1?q?6fyCECGL+7tR+eypkr+pnBD+XFS5B4DFkq/fEJrwNwrucqLZjcc1wL1WyJ9b?= =?iso-8859-1?q?G8gRu4tg+1M9enV8Hxqvrw5M7ZCcHLyqNXv4X84wAj7suZGOZbyebbiZUobN?= =?iso-8859-1?q?uWorn6mW3Oh4MlxH0Wylk0xTeDsfxiWfa2ZBoJTLeJ6HU6WnYil+cjMWkgZ9?= =?iso-8859-1?q?sVB/1lHVlCPj++/UvP40v9n1GRYJ5izVxV834i9x3srW+jNC0aVsyGgPrfHh?= =?iso-8859-1?q?CPWS7tHSTLaL5b//6Kf8bGhgsSlHYpzBbhOmalCPYt2TtsupwXOLnm44e1fl?= =?iso-8859-1?q?m/vfiQK28Y/g9Quy8+z2atIDXOr0Sbjn34zNiygGrisNjdc3gX/865fnA1/B?= =?iso-8859-1?q?+GYgCmz1XfQq+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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 { 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, const rvc_constraint *c) uint8_t rd = dec->rd, rs1 = dec->rs1, rs2 = dec->rs2; while (*c != rvc_end) { switch (*c) { - case rvc_simm_6: - if (!(imm >= -32 && imm < 32)) { - return false; - } - break; - case rvc_imm_6: - if (!(imm <= 63)) { - return false; - } - break; - case rvc_imm_7: - if (!(imm <= 127)) { - return false; - } - break; - case rvc_imm_8: - if (!(imm <= 255)) { - return false; - } - break; - case rvc_imm_9: - if (!(imm <= 511)) { - return false; - } - break; - case rvc_imm_10: - if (!(imm <= 1023)) { - return false; - } - break; - case rvc_imm_12: - if (!(imm <= 4095)) { - return false; - } - break; - case rvc_imm_18: - if (!(imm <= 262143)) { - return false; - } - break; - case rvc_imm_nz: - if (!(imm != 0)) { - return false; - } - break; - case rvc_imm_x2: - if (!((imm & 0b1) == 0)) { - return false; - } - break; - case rvc_imm_x4: - if (!((imm & 0b11) == 0)) { - return false; - } - break; - case rvc_imm_x8: - if (!((imm & 0b111) == 0)) { - return false; - } - break; - case rvc_imm_x16: - if (!((imm & 0b1111) == 0)) { - return false; - } - break; - case rvc_rd_b3: - if (!(rd >= 8 && rd <= 15)) { - return false; - } - break; - case rvc_rs1_b3: - if (!(rs1 >= 8 && rs1 <= 15)) { - return false; - } - break; - case rvc_rs2_b3: - if (!(rs2 >= 8 && rs2 <= 15)) { - return false; - } - break; - case rvc_rd_eq_rs1: - if (!(rd == rs1)) { - return false; - } - break; case rvc_rd_eq_ra: if (!(rd == 1)) { return false; } break; - case rvc_rd_eq_sp: - if (!(rd == 2)) { - return false; - } - break; case rvc_rd_eq_x0: if (!(rd == 0)) { return false; } break; - case rvc_rs1_eq_sp: - if (!(rs1 == 2)) { - return false; - } - break; case rvc_rs1_eq_x0: if (!(rs1 == 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 != 0 && rd != 2)) { - return false; - } - break; - case rvc_rd_ne_x0: - if (!(rd != 0)) { - return false; - } - break; - case rvc_rs1_ne_x0: - if (!(rs1 != 0)) { - return false; - } - break; - case rvc_rs2_ne_x0: - if (!(rs2 != 0)) { - return false; - } - break; case rvc_rs2_eq_rs1: if (!(rs2 == rs1)) { return false; From patchwork Thu Feb 21 00:43:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822995 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AE7D51575 for ; Thu, 21 Feb 2019 00:52:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9EB522FC97 for ; Thu, 21 Feb 2019 00:52:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 91A162FCB0; Thu, 21 Feb 2019 00:52:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 745052FC92 for ; Thu, 21 Feb 2019 00:52:21 +0000 (UTC) Received: from localhost ([127.0.0.1]:51337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcb6-0002Ad-Lx for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:52:20 -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 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" 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 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= 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 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/yqufhY?= =?iso-8859-1?q?nm1a+Xjd0pBPI7tFxCDgKCGcNkBPchETyTf9kMWDuysq532naYoRfTMOoP2+?= =?iso-8859-1?q?nWMl16XnXpwiPFRHpASd0lH7cmNt+zPQqpGc4+xIZa6H9lxM/8Plx118CnzC?= =?iso-8859-1?q?00QMBBZcd/q4mTz9snuzZzlxPilmFMI7hpACvrSn6uGILxQzAd79uaXmRB/s?= =?iso-8859-1?q?KvhLrxIDLoXWXkimoxyUk/mNNQEvkzFKjtRe/H+JQvNEzhKigIxcntoX4WzB?= =?iso-8859-1?q?PGJY0sJ6E/oHYd6LzbEzTZQk5Z6YDM23g84eEJzEc8ljVSR66iasMMKF2nxA?= =?iso-8859-1?q?Rn2354/4FewHPu3aEmKRxSUW74qyVU9y3G8shkry3DT2IvZfPAXaB4ptoEz7?= =?iso-8859-1?q?JwRRV72zeWlYo4YlMU47A2p4Ns1E0pZpIYIBhXn/SOE16t1vm2mYa+hEhZja?= =?iso-8859-1?q?94/QBJ7mcvNsuk16wcUZJvXZZz57n84cn/scCy1OhXnC9FVfC+N851a8mxF8?= =?iso-8859-1?q?YYKn4J0OQl0CBdJL43duhwpx7K5aniUwyPPYdIvxE0a0hWB8XBJ2+i/jI8lC?= =?iso-8859-1?q?CGI9v5W052hlHQ7Xma/4Ni7LRVW6p0bID+obPpTSTcTB+DUYcaQWiJHYj7da?= =?iso-8859-1?q?xjPUyZAKUKZC+fLcU8dTDNFEV+nWwLElHYJJWM8QLt6MUb66/EloX4L8MCp/?= =?iso-8859-1?q?RON0kfq6168KH+9bGhz5reUksLMVZDhlXfknL3V/exPICmMPVqL5bTyh/Tnk?= =?iso-8859-1?q?MjgQWqyTVgvp/mR3ENTdIiBDVQnArkaxZ7wj8vM62K9WO8b8YuO52VQLahuY?= =?iso-8859-1?q?pM6WEKvJuoSZ49fwuB1Mz5VbI993W4CgZXEi6bJYvCfEYW4Hl1ZBFodi0JA6?= =?iso-8859-1?q?Jyw4pJGRblNIyunpEwnRANI9RQQXIVzLPXmAsVFkCdLcmunQJveG002ifRjQ?= =?iso-8859-1?q?r0fszJQTDbA5iY8sEZLW8/Z3jLt6r2gCNjkTH3AHmtu2H44l/mLwF7EG3h5+?= =?iso-8859-1?q?RjA/JY6XBWtPJPxsHUtzivKClIbTUnL7+v+bR4RCy/m5DJ9XYpm1X8Tll3lf?= =?iso-8859-1?q?XiiiyVWbTa1P8kPLNsjvTT7nm8lJpKK0kWkVNX0xX8XMc/ik7Bwc4hbrrm7+?= =?iso-8859-1?q?h/LlDhHE3IswpXBCDdRB64CwM051gFI8fBUEnwwqJaT6NJ9inXOt1fhP0Zm5?= =?iso-8859-1?q?2k0VEYVbezZ1r5ERLCb71ENAdcbb+n8OghWZTssEsIpPPG3vGLNUqRThP949?= =?iso-8859-1?q?vwkiX07Tsl0baNCfNUd9bz3pgU7c2YlMoVuUr2n3XjFfxPwAm5WcFDYWprmg?= =?iso-8859-1?q?yazjL0hsdvmYsxp4QCO2shYfjH4trD?= 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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 +/* 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; From patchwork Thu Feb 21 00:44:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822985 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D97C514E1 for ; Thu, 21 Feb 2019 00:46:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C87522EAB2 for ; Thu, 21 Feb 2019 00:46:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BC1182EB35; Thu, 21 Feb 2019 00:46:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 3C0C82EAB2 for ; Thu, 21 Feb 2019 00:46:05 +0000 (UTC) Received: from localhost ([127.0.0.1]:51233 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcV2-0005uY-Ey for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:46:04 -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 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" 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 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= 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 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+jUGHfOCZ8x?= =?iso-8859-1?q?O36V40AR2lW3TXslS8J39rGTqpOXEnI9I/XQSaqdQDWFsynlUPk6mIii2vwX?= =?iso-8859-1?q?O/37yHhQYQ8yLJ9t3hG4cb9s+oGVFbvMY0aEfgI0P72aS240cBYQ2zftIrsO?= =?iso-8859-1?q?xKEzh/OoqPUf+cFKRa9WNu0dbkkYAgwN6nOKwWobLrgg2RSBUynUcfUK62zs?= =?iso-8859-1?q?zUGFdLxp8oZIKpbNMw00yDM+xvZvTga4MGEkDxB2mMQLHb6TOXxTiNCShpXz?= =?iso-8859-1?q?MRr9K2EpMIpqFcESaugcrmF7zXzJp/TFWi3WldyuDlRYgA/pFmr+/2O0ow0h?= =?iso-8859-1?q?8XIe1aqHDd3wmHcm1Is0OXZfa2/RM2yEnkl5BcmE3/qw8cWqrJ+XOl5hxrLs?= =?iso-8859-1?q?a9SFOyrkmxkDXop4dLkND+omGi5FKKYTg6+tAZsP3r7eFwMkKHA9dkm9Jn3K?= =?iso-8859-1?q?TAnvwdezRiPxFa2UR7AecpCEmTQ+hszz+HTckiFoqyQ0hxLWtzHF78OT5RAY?= =?iso-8859-1?q?U9EhCIruenUIZrGJdzXGkKL/kC49/zc2MyTW2/mWiS1xgUnGcYRtCMm3DDdx?= =?iso-8859-1?q?0JtVKXJhVTQ0zwa58uCePlfy7c3Theb5iVP9XKIqBPvJtR2Q2zVJfAjeBy9R?= =?iso-8859-1?q?UWzsqHxjWOfZOzgQysXWGKIkAGk6Td9UOJX1iaba7DtxXI4G/ai0OV+9uRv7?= =?iso-8859-1?q?xbLy4+lqg8DcdWBxJsN0sGLnKoMz6Wt0FHvRd2KwM+FOVXj2T+Y4ToC5AWBi?= =?iso-8859-1?q?KunBFhvb6AicCwH5su3dKFDZSC9/btp0ixy0bfIUoQ9r+1Xuj9GDkpYPw2i4?= =?iso-8859-1?q?gYeYIxsyu+cjNL9RZNEr/94mlKUXLce7ZosvU32beE6naz8cLp64GeMjJw9O?= =?iso-8859-1?q?d8aRJZaDflaWtuJ5oajMhsdD/wS0VbG0PuNcwyPKW+ofBWKVrOpm/ZXSsgxY?= =?iso-8859-1?q?ZVLs7k3kzJFG4qeC8NnyW1RWfbdRJa40zjaYCflRyi5XeaChAcvuh//BlBJ1?= =?iso-8859-1?q?C/0pt5hVKfIjveaLYcq4X1Ii9fdjXtWOBnWK5pJqEbkv7q/XCIcNsI6iUnz7?= =?iso-8859-1?q?Fmu4h11iJxMoreJyXxSy63Yk6M4TvdY6n+H/ZTvgg1oDo6mdc8G/KbM7QBar?= =?iso-8859-1?q?d1oH9rXlwIn0O9/gytUVZ/RuWF5hfVmENNe0EoNlStHVkvhKQgxK3h5lmbsD?= =?iso-8859-1?q?2RZ7vuUtw4k390lYidxevOoB/3R2UMqx7iylyCSdY/rvVQkuwWm9dKjN/2Y6?= =?iso-8859-1?q?5bt9+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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu.h" #include "cpu_loop-common.h" +#include "elf.h" void cpu_loop(CPURISCVState *env) { @@ -53,7 +55,8 @@ void cpu_loop(CPURISCVState *env) ret = 0; } else { ret = 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) void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs) { + CPUState *cpu = ENV_GET_CPU(env); + TaskState *ts = cpu->opaque; + struct image_info *info = ts->info; + env->pc = regs->sepc; env->gpr[xSP] = regs->sp; + env->elf_flags = 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 { uint32_t features; +#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 */ From patchwork Thu Feb 21 00:44:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822993 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7DD471399 for ; Thu, 21 Feb 2019 00:50:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6E8522EDF8 for ; Thu, 21 Feb 2019 00:50:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 624AA2F582; Thu, 21 Feb 2019 00:50:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C914B2EDF8 for ; Thu, 21 Feb 2019 00:50:55 +0000 (UTC) Received: from localhost ([127.0.0.1]:51297 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcZi-0001Bb-Jn for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:50:54 -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 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" 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 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= 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 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?VCppzCqxZa9NlNf?= =?iso-8859-1?q?2yDj6hks8FABvlWTLeYQh6AtdEznwdpFfW9GdgLkaNsyA9uZ0mptKYb3IjeU?= =?iso-8859-1?q?TekdLQ5x8ljbKOEF/8FS5fBCTCuMXy2A+6jnG0mMQduVVPiAz7dUXzSVPUbs?= =?iso-8859-1?q?9Mu8G7N34Bp/ds3ydV6Hopz8iKYDMrLi+7Ph8cAIdg60AK4tenYYUg28uF9b?= =?iso-8859-1?q?9KUkVKwalDPD5+9o614JnH2N/X1Txp3hAhm+gltSLXHZA6D7jnmALCgwe5Rs?= =?iso-8859-1?q?gKDWvbAV9k09LMcLZKBeqrCHNPMz5OwO4xXltBupxlHPTBHlx9FCdRqEbDCF?= =?iso-8859-1?q?Gl0boBEKzcQolRzGPtTGIcE1vFzKddg6OZSpZuUty5KLbNncyj6P+b8QDLzK?= =?iso-8859-1?q?F1NQZOuIgPE+zubW3HBwSO5B2jxcA0O0B9sMakQVGte2/WyJc6owndKTnUsG?= =?iso-8859-1?q?pZ3cKWx2GdhSfuXMhP4oyk15s7M1daEA0gE9QSjMlhdrcnIpOSfySVW+ciD8?= =?iso-8859-1?q?x5cIo17NDy71/p6ljCmNCsO0ee5pQ6aB8TSyaK74U6alXt6a3/JLujSdupJo?= =?iso-8859-1?q?vU/lIc5Exnw1FeWaZ1qsxFPpppALpIWbdBSkipLd8NRODiL3+PIEgPlRdhdq?= =?iso-8859-1?q?48sC3dFTcWyHRMkK+bydxxRqOXyyh6Qfp/lQscX2CaUwt5JYAvt+FyNcZPrF?= =?iso-8859-1?q?vVtaTs+s2t3SsUODzgifjcUhVGwB0Cae3cT+s6yIxx+yvCPVdbUsuBnqS8bC?= =?iso-8859-1?q?dz2jMzU3uQJW+luzsCb4KL8MBna5FfMVVP/Xb7bWIf8C3+P/8Ymi0AcVW+bB?= =?iso-8859-1?q?I+LerqGhWDS21BtZDi/wiulWVhtjt1d++fy844GqvV3I88xycBQVzZcpNI0P?= =?iso-8859-1?q?MEVzdF8TnBygHz1I58GkzwukBf3MZ4oOnHC/3U9+dWB8gq0OYa6Z1DVsE7cx?= =?iso-8859-1?q?v+b1BUP+UuU2t2h4xqYNqEf2U++XEt1FFLd7vzS1JGj8pEOBJ/ZHVmrdo5Fd?= =?iso-8859-1?q?DIs0R4LvWUdCtshm2IDT0EgH/GOC2gOG5iq42yQMHGBeqUtLPs+MUnDG/AKj?= =?iso-8859-1?q?zNZmJhj4eCIS87zOUQ4zd461o93H4zKFNjSH8V+fuhcvXmdXHRKIBxVbc90E?= =?iso-8859-1?q?nh6pWZO4z5XEt2R4q9l146DNTCh9mQ+3V9IpzNkGcdop5wMnxXP/fD4DVT9L?= =?iso-8859-1?q?laAqrSAbUN1DnuwWV08UK+afO1gyv69vvgldaK5759lBjhYiPBXC2XtlWKNE?= =?iso-8859-1?q?gn0jCT8ePB4PChRZgNn+TsBj6xQnSBsQcpIpcatPR+LifrdO4Q/PA+mnnV23?= =?iso-8859-1?q?fuA/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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 mask, uint32_t value) cmp = atomic_cmpxchg(&env->mip, old, new); } while (old != cmp); - 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); } From patchwork Thu Feb 21 00:44:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822997 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1EFE21399 for ; Thu, 21 Feb 2019 00:53:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 083182F4D3 for ; Thu, 21 Feb 2019 00:53:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ED8B02F603; Thu, 21 Feb 2019 00:53:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 371862F4D3 for ; Thu, 21 Feb 2019 00:53:18 +0000 (UTC) Received: from localhost ([127.0.0.1]:51339 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcc1-0002i6-Ch for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:53:17 -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 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" 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 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= 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 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?CMjrTGD1cych6ep?= =?iso-8859-1?q?oCNUpybg+sSaTFs+8lJCMzm0Ut1kw5x2NwSU+R69dZfjb2Q6cVPISoxirGS9?= =?iso-8859-1?q?3xhdtOCIV/rP1p+IadJI8aP18mvSdh2VN3AUyMAubtFaXIWABgRkWvz04JN9?= =?iso-8859-1?q?8Txa9+q31ijyQ5c+9N5WIGtH4tF5sAqNiDrLaRh4nziA6bYZsRwYEC4KjtxS?= =?iso-8859-1?q?PNu03CSOfdk67z6IfGlFjKP6xGG2BTDDI4/XG8U2lwRM0g6/q8mi8RmN4ExY?= =?iso-8859-1?q?nHsA9PkSb1oFJfLJEZEc1n2PjGQyVEdpjYtArwNApVfhxvtbD1W/0Zmlx0Sv?= =?iso-8859-1?q?yTMMo/cUFv0TZx4I8fmTtsJfnHaVrk81MWXq7fKK7Dd+WDEqNU+j6cE2HVSc?= =?iso-8859-1?q?2ZQVRLux3Nkjcn3GLGT3h5WBJjdQ08NuRi+NRBdL5PfasXXOAvL7OmfPo4Hk?= =?iso-8859-1?q?dvZj12Cp0cyjclAjWQew2UbLTXwlO8OZdjoJWU9bf6ohZBKN+qvJyMnlEE8F?= =?iso-8859-1?q?qVSOml1Oh9CgKBvE8Y4AAzUrPz4n+FPndBwfeRbcF10o5eA2+/6McwY21vfg?= =?iso-8859-1?q?pBdlNSCHspnybTC0fB8762mAz6qy1To+AQcQKlHkxBKLVuHipRRevlu8NVde?= =?iso-8859-1?q?/CrtcNMaigO5JgUI3cGhfVpTYresY/98AeVyKzSprj9BRmL0l2uCPYNdHODy?= =?iso-8859-1?q?KaUrhj/mcbW7DPKIgwprZHVqQNqNp5FnzPKTtGtApWm6d55JgCq2tRFMZe9m?= =?iso-8859-1?q?Cur+VwvFftTMijiRkd1DJMVqHAqSA3RPO/Da9+vqJoJgDZo7kdDU5J0fY7cJ?= =?iso-8859-1?q?akMZGNB7np4vml034ZmrGIiLKmAm3o3eLIlq+CEqrhxWP3GNfY0SekBFFJ1p?= =?iso-8859-1?q?KkvxhP7MCYbTG3Jm+ZeBHU2SVY4a2lxtfKX7b2ot4liuZl6dFY/KT2WiF8E/?= =?iso-8859-1?q?LWecEH6BcHT6ZGxBIFtNvqKhcZEHnUiM6b7VJcgU8/A3AV+5Ja+LiwQOIvAW?= =?iso-8859-1?q?OXXUavnOQFCDj0BCZgaT/Nj0cg1v8xr8tYj9K5kK5BfPpEQKzON6Kh0XpN0+?= =?iso-8859-1?q?TpdFBBFNdmrZ9d/0Oub3mMtM5vqUClB/V/mOnMfk/mi0mIF48nPffQ55JElN?= =?iso-8859-1?q?ydnRWc1BFiqAyPHWCuzm6T16b60tT5BdL114zni1ei0PImYCJWMiKLTsWVd2?= =?iso-8859-1?q?LRYs3wdYQg3CqETIEQ64Yjxn89QrFFAsyIxPxZWgnZFvvLBbJCtFqONanf3e?= =?iso-8859-1?q?8NTb3HFVabMMBxihgLV63l59Q8hTqW/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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Michael Clark If vectored interrupts are enabled (bits[1:0] of mtvec/stvec == 1) then use the following logic for trap entry address calculation: pc = 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 = RISCV_CPU(cs); CPURISCVState *env = &cpu->env; - if (RISCV_DEBUG_INTERRUPT) { - int log_cause = 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 = !!(cs->exception_index & RISCV_EXCP_INT_FLAG); + target_ulong cause = cs->exception_index & RISCV_EXCP_INT_MASK; + target_ulong deleg = async ? env->mideleg : env->medeleg; + target_ulong tval = 0; + + static const int ecall_cause_map[] = { + [PRV_U] = RISCV_EXCP_U_ECALL, + [PRV_S] = RISCV_EXCP_S_ECALL, + [PRV_H] = RISCV_EXCP_H_ECALL, + [PRV_M] = 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 = env->badaddr; + break; + default: + break; } - } - - target_ulong fixed_cause = 0; - if (cs->exception_index & (RISCV_EXCP_INT_FLAG)) { - /* hacky for now. the MSB (bit 63) indicates interrupt but cs->exception - index is only 32 bits wide */ - fixed_cause = cs->exception_index & RISCV_EXCP_INT_MASK; - fixed_cause |= ((target_ulong)1) << (TARGET_LONG_BITS - 1); - } else { - /* fixup User ECALL -> correct priv ECALL */ - if (cs->exception_index == RISCV_EXCP_U_ECALL) { - switch (env->priv) { - case PRV_U: - fixed_cause = RISCV_EXCP_U_ECALL; - break; - case PRV_S: - fixed_cause = RISCV_EXCP_S_ECALL; - break; - case PRV_H: - fixed_cause = RISCV_EXCP_H_ECALL; - break; - case PRV_M: - fixed_cause = RISCV_EXCP_M_ECALL; - break; - } - } else { - fixed_cause = cs->exception_index; + /* ecall is dispatched as one cause so translate based on mode */ + if (cause == RISCV_EXCP_U_ECALL) { + assert(env->priv <= 3); + cause = ecall_cause_map[env->priv]; } } - target_ulong backup_epc = env->pc; - - target_ulong bit = fixed_cause; - target_ulong deleg = env->medeleg; - - int hasbadaddr = - (fixed_cause == RISCV_EXCP_INST_ADDR_MIS) || - (fixed_cause == RISCV_EXCP_INST_ACCESS_FAULT) || - (fixed_cause == RISCV_EXCP_LOAD_ADDR_MIS) || - (fixed_cause == RISCV_EXCP_STORE_AMO_ADDR_MIS) || - (fixed_cause == RISCV_EXCP_LOAD_ACCESS_FAULT) || - (fixed_cause == RISCV_EXCP_STORE_AMO_ACCESS_FAULT) || - (fixed_cause == RISCV_EXCP_INST_PAGE_FAULT) || - (fixed_cause == RISCV_EXCP_LOAD_PAGE_FAULT) || - (fixed_cause == RISCV_EXCP_STORE_PAGE_FAULT); - - if (bit & ((target_ulong)1 << (TARGET_LONG_BITS - 1))) { - deleg = env->mideleg; - bit &= ~((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); } - if (env->priv <= PRV_S && bit < 64 && ((deleg >> bit) & 1)) { + if (env->priv <= 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 = env->stvec; - env->scause = fixed_cause; - env->sepc = 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 = env->badaddr; - } else { - /* otherwise we must clear sbadaddr/stval - * todo: support populating stval on illegal instructions */ - env->sbadaddr = 0; - } - target_ulong s = env->mstatus; s = set_field(s, MSTATUS_SPIE, env->priv_ver >= PRIV_VERSION_1_10_0 ? get_field(s, MSTATUS_SIE) : get_field(s, MSTATUS_UIE << env->priv)); s = set_field(s, MSTATUS_SPP, env->priv); s = set_field(s, MSTATUS_SIE, 0); env->mstatus = s; + env->scause = cause | ~(((target_ulong)-1) >> async); + env->sepc = env->pc; + env->sbadaddr = tval; + env->pc = (env->stvec >> 2 << 2) + + ((async && (env->stvec & 3) == 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 = env->mtvec; - env->mepc = backup_epc; - env->mcause = 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 = env->badaddr; - } else { - /* otherwise we must clear mbadaddr/mtval - * todo: support populating mtval on illegal instructions */ - env->mbadaddr = 0; - } - + /* handle the trap in M-mode */ target_ulong s = env->mstatus; s = set_field(s, MSTATUS_MPIE, env->priv_ver >= PRIV_VERSION_1_10_0 ? get_field(s, MSTATUS_MIE) : get_field(s, MSTATUS_UIE << env->priv)); s = set_field(s, MSTATUS_MPP, env->priv); s = set_field(s, MSTATUS_MIE, 0); env->mstatus = s; + env->mcause = cause | ~(((target_ulong)-1) >> async); + env->mepc = env->pc; + env->mbadaddr = tval; + env->pc = (env->mtvec >> 2 << 2) + + ((async && (env->mtvec & 3) == 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 = direct, 1 = vectored, 2 >= reserved */ - if ((val & 3) == 0) { - env->mtvec = val >> 2 << 2; + if ((val & 3) < 2) { + env->mtvec = 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 = direct, 1 = vectored, 2 >= reserved */ - if ((val & 3) == 0) { - env->stvec = val >> 2 << 2; + if ((val & 3) < 2) { + env->stvec = 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; } From patchwork Thu Feb 21 00:44:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822999 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 83F651399 for ; Thu, 21 Feb 2019 00:54:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 737A52F4D3 for ; Thu, 21 Feb 2019 00:54:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 67C862F603; Thu, 21 Feb 2019 00:54:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E64C72F4D3 for ; Thu, 21 Feb 2019 00:54:27 +0000 (UTC) Received: from localhost ([127.0.0.1]:51355 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcd9-0003o2-7j for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:54:27 -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 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" 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 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= 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 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?cfWtYLwylfRFv3q?= =?iso-8859-1?q?Qrt11bP8UyjyAmOipBTBPExl1z7cV9Xn+WWsUdceS4tqqwpl5e7TFn1IkYHl?= =?iso-8859-1?q?xpNfgqZekZgcVB3/Ii3Hg7e2c7g+nF7Y6B9fDkp0rLohr4lMgHZTNn0lw/BF?= =?iso-8859-1?q?1DHFtWB4E0KKOwcIeVqURhgGj+Nz9vJKw74T3mVRE6gcmkaOW3Ps6o3RsPTP?= =?iso-8859-1?q?hQBxCiRf9/d5mfypt/w84IxeHNSPqQGtP7Uz4JhEdNyRR1zYYB27c7GmA/aM?= =?iso-8859-1?q?JYlFIShgZFLOHq8xU0dvAH75zAu8WhgoVFTuo1yfj3Pmqkdut48aedSAXqOx?= =?iso-8859-1?q?R7z5LTSEwv8Yo1sZwoicnS3m08Ak1ZLyC9y0ljSNNiMfysf0rEAPLg/nTMPM?= =?iso-8859-1?q?2jUeBhCCk/E8R+IaAkzhNGmypz1kWXQ3vMTLP6J33j5ZubxM5uH7e2GrJRWo?= =?iso-8859-1?q?tQSY86S917mp4/7pb8KSVgEO4VW8yRqq4atZnb8+9c4p50EsK4y5YbRFkN2a?= =?iso-8859-1?q?agO+edgPPemLcwB5yAqfUF2Ap1soAqR/fU1pUUZJ61o6Pp0fGG1wYjvCj3B9?= =?iso-8859-1?q?iLbsEY9oZ1vTe30CbClBtWll6tpNpuqBPAxXkJjHcu5gOPup/rt6EWGHuIeU?= =?iso-8859-1?q?K4qHDa8Kdqht7AxczIcVJNIBoVHL50mC0kgS+l9Z7k6iQMpqMxFGgiZ2sIt+?= =?iso-8859-1?q?Hiv6Iatlslr6D9OA1WdNByZGGyDn+DaOKkw4iayrKBf2+CIE30MQl03UNoe9?= =?iso-8859-1?q?Nrf+uyyBmRj0Ct7uRbo0A916XHpaIbtMix1+2P4RYRMhuW/UKpsvBSOFRtBi?= =?iso-8859-1?q?U6kKJsYhNKemxZmiuU4t3VQQYTa93WArS4oxNARMKa07Y+KaQCXGxDUFDrU0?= =?iso-8859-1?q?puXxSB3QIgAtxcqmHwV+9VZ1p5DE0Rw4GoiBfkIZN8CvlK/lV/sPqJwvTOJ/?= =?iso-8859-1?q?+Fo0o6FGPMG+XNL7U5HmMUwfYnOQnxomL3WUSI0tbt0STh4kaz3f1g31vyxS?= =?iso-8859-1?q?W6LgnDTrP6iDqnCKpRMLEukW6ajUwswCR8DiVSR9NseFWH9m7YIWgA0pTqYi?= =?iso-8859-1?q?jEdtPHAghnC0+l47WlsGS+HlD8NfLXCwwXuiy4zbuHcNHaLtP0+1/5+4R4SZ?= =?iso-8859-1?q?8g50uAa3VAANIUJkbLRr+b4UEkiJ1O8Wt3ekynk2i29bDM74tKem73+R+ZRw?= =?iso-8859-1?q?NaYfGde6DthhKVzWgz6CsERO7bVDSncjsodQdTbl46bkAgxO029mmgv8y/BJ?= =?iso-8859-1?q?WYqbN6nxtGM4qL4FHVgNXD6cki?= 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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 += target/arm trace-events-subdirs += target/i386 trace-events-subdirs += target/mips trace-events-subdirs += target/ppc +trace-events-subdirs += target/riscv trace-events-subdirs += target/s390x trace-events-subdirs += target/sparc trace-events-subdirs += 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" int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch) { @@ -493,13 +492,8 @@ void riscv_cpu_do_interrupt(CPUState *cs) } } - 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)"); if (env->priv <= 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, uint64_t tval, const char *desc) "hart:%"PRId64", async:%d, cause:%"PRId64", epc:0x%"PRIx64", tval:0x%"PRIx64", desc=%s" From patchwork Thu Feb 21 00:44:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10822991 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B3E2A17E9 for ; Thu, 21 Feb 2019 00:49:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A2D9C2EC04 for ; Thu, 21 Feb 2019 00:49:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 977782EC41; Thu, 21 Feb 2019 00:49:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 253CB2EC04 for ; Thu, 21 Feb 2019 00:49:40 +0000 (UTC) Received: from localhost ([127.0.0.1]:51265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcYV-0000Ic-AD for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:49:39 -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 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" 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 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= 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 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?3BhSsY8kSL3qXM3?= =?iso-8859-1?q?GARKDSi44Vy99o2LogQvPkKsLOyD58b5xPQlYVp+xRugnrn27YYLq5sQjA12?= =?iso-8859-1?q?USnWl618QwQ86Wn1xzEFM0HufUJCHIt+9ULCtgLyLQe3QWiOiO6G6NuMXjzS?= =?iso-8859-1?q?IeGPKwmoDDBntWBU0VMfw4ZNI5n7vXY50Nb3ENcP8KEJ8m+ZBha8Q1DwhMYl?= =?iso-8859-1?q?W+188Lg0bDcF+GNwOsWiL6Xyd0V1PCU4lK4QXC9bEeJkG37C8oADqtKFRWBe?= =?iso-8859-1?q?VU1OB+wJzDKUhCoEjuBSXnrAaajZzs9yXUr32fhGtjdA1QBSzhCUDsrIC0Sv?= =?iso-8859-1?q?0jAfgYGLR4C/TSIi773WHn/Z+QAYneAwsaiytpoEAxITgda6Luv37tFSWOHR?= =?iso-8859-1?q?FH6s0FMFaZz02K5DNM24NuykP7BYgg9g3yKQPT/Q3NXmqaaauISAmAGTpv1c?= =?iso-8859-1?q?1i3u+oOzhmUWYDuKrs/pIHr7AlrPHxmKMGBoagtFf3X3AtRwrw/5QJ3q8T1E?= =?iso-8859-1?q?pFngzvcTX49Lv0uhQo4Wtq+LH3qqsis7CKMNxxNSPoxMGz+xn8drfATRO+X8?= =?iso-8859-1?q?M0q0yfsT5rvZtzHXF/3jWW2g+qd8DHWcqrq/VEVLGaF+7V9DIMjXTQuJRBXm?= =?iso-8859-1?q?WD5U9FwgREC4/Q0g1kR/k5fsMTeFVbYuMza1be3cPKYUtWf+aRqRsKs5c4bD?= =?iso-8859-1?q?VVamCLuKi/E62f3iJ6Mh9TDtURsVBuDsI0tPZDdv9CPGn9hnnhIvWqD2es8e?= =?iso-8859-1?q?DBGsY1havZisAzyXiXHLJ0SsNx7wacyj0lASlMx+VJGqG6jt79zGk3dkqznN?= =?iso-8859-1?q?bU5dgehK450S2JY9yFJM93OUD/13YE7xO4DReDDFJJwecCI8/lJtcWa7eigi?= =?iso-8859-1?q?J6b7lW9UyXXH36rpJx4Ju0w1DpXGZnecZpxc62txBZKfdo0cE407XEMapdhQ?= =?iso-8859-1?q?QysRHWrYM7UXMPvm9lcSBKuhO8UUHbDtNSiXkjHde9VhrA1ReO5ZsoG0VRnU?= =?iso-8859-1?q?Flramfr2MAzQ2hKSzLufRexeL8VqXqumIZR7M1QOW1LXMecbZcz2o6ENxDJS?= =?iso-8859-1?q?+OLmbfAeA/pCi9kQhOTnkt3lq+/bfOxgAvN5PxsMmExxWpsbKckuD9cvUlec?= =?iso-8859-1?q?ZA1kibYoxZrkmPinVA4SdakBhtv7TXpWT6H4RqpD41sdrTxzttYKOjn8VJsW?= =?iso-8859-1?q?N3xy+9Aoupnl0SVgd3rNUeh5p7G4n4ufcHtbBBhDte/7yraabbK8ca0fLZ3/?= =?iso-8859-1?q?rLPKdXPgmQQODAP2HjHSq24YRpIT/qoYnzOPjkuqqinGuAWHAygp6gcjc61w?= =?iso-8859-1?q?dmdO/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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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) == 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 only + * 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 = EXCP_NONE; /* mark handled to qemu */ } From patchwork Thu Feb 21 00:44:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 10823001 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2E2AB1575 for ; Thu, 21 Feb 2019 00:55:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1B9642F4D3 for ; Thu, 21 Feb 2019 00:55:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 092232F603; Thu, 21 Feb 2019 00:55:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 971232F4D3 for ; Thu, 21 Feb 2019 00:55:19 +0000 (UTC) Received: from localhost ([127.0.0.1]:51384 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gwcdy-0004OF-Vb for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Feb 2019 19:55:18 -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 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" 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 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= 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 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?k7PzccBEAYOkddx?= =?iso-8859-1?q?dEICfxDep5UDN5ohuBXHgTlOp+zi4HfAwOL8tP69cBd0Y7BBDnIJulJG+Pyz?= =?iso-8859-1?q?hDqaBkHQWQ5HEQwb3H37gpDIMWlkJIL0Jsvoas1mV0T4Wqzzb+cb8hOdcIGG?= =?iso-8859-1?q?W9hBSGp2rSDZNwfgmY1Yh8ZUSvGPbI4UIM3el4CoFVej7gtvCSF2WIuv37hR?= =?iso-8859-1?q?XFAUeDD14jcU1zdtROjC7+nr+igLbewXendnTz34Vq04x8zbDjUjETKmyPyL?= =?iso-8859-1?q?8wG1BxLO5KikmWsPTufTWBeZB01PuRdt7nJfSq8OuN87FNzykPsRe+tMEWz9?= =?iso-8859-1?q?f8PS7dPaEFQkarsSO+K05ZtKgyl1aNtoTs0OUxjxbB+ZpcO6TCf/BEMLqJvg?= =?iso-8859-1?q?a2ucxcc0hGDhpjjHRWPE1fxUkKGI7Q2TCdaUnRz0LXklH4v5igpkImmmGnCI?= =?iso-8859-1?q?w4EKAfuATTSDv2M31SRtBz221HvV0o0xL60biGgC4mtqkwqBQVAM9cp1rK2m?= =?iso-8859-1?q?v29rbmvUV9Jkk9zHlh3cvwjErdd21iRsm9Rm7epZre/LJI6NtMBgRSqy16Eg?= =?iso-8859-1?q?LI3tI2ORC4QTioqdHLqQthtfRpEmy/00EcQ1Ga904LAGjWDyIDOff0q7QYWN?= =?iso-8859-1?q?56m+gz53XxIptniNQthbkMIDvoBhUl2YzH5+Tiwo3lMJeUPOub/rMVLiPIex?= =?iso-8859-1?q?1/5KDDKSMUbZOAuzGcByxHst0hYkpo8YBujHX5AYjhlHqkgUCINjQADjT+Cf?= =?iso-8859-1?q?Ws5ITjMmUtsumORVxuiwykLpNgngj8qnhovdPbiWEoPuwmiE3hcyqq5fYiFR?= =?iso-8859-1?q?VhhWvULwjyb2cCbkPilWz9E49Empg/VpAWyinuobuP8KbHxbMh/Y3YRxs9qd?= =?iso-8859-1?q?tcbgSqAxLM5JQQKL3Atw12PkL1SAAHLeBekVjDTFav8AuOCZEPgTwgVPBO5B?= =?iso-8859-1?q?Q3CXhfk6+fddVMLHx6+7w5wev8OghwcU4ke9OLhArgtcwGKYZQKej92Ez7/t?= =?iso-8859-1?q?wzWr0D4+5BQJqoe89U9nvzCFAtvhEKyA2R3/GEE64HS+PiEQJkfIZ3KkzUs8?= =?iso-8859-1?q?oG0k6TdJoVEyW9m7KRNHoONvqKFGY9JGEicYMZdwc9qNMpQsK27FAPYPZNcP?= =?iso-8859-1?q?4wdO7H1chwVyIqhAGqlYO1KnAC9mQmZNZS64GXXKySZvuPOy3rU6EWSYm52p?= =?iso-8859-1?q?R/UVm/GsdqxjwSWej1IkitG0N795IEPOM5DwAHPX5/IraYB4M8ZR6LbV3eyA?= =?iso-8859-1?q?quLosw5CufRPh+5Uq7OHTwKq3mzHvFIc77NEmpGO4X7qxuXAX7UKgzcS21ng?= =?iso-8859-1?q?Svh2V0DAs=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= 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 = "RISC-V Board compatible with SiFive U SDK"; mc->init = riscv_sifive_u_init; - mc->max_cpus = 1; + /* The real hardware has 5 CPUs, but one of them is a small embedded power + * management CPU. + */ + mc->max_cpus = 4; } DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init)