From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552700521783892.4818751693693; Fri, 15 Mar 2019 18:42:01 -0700 (PDT) Received: from localhost ([127.0.0.1]:35494 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yKe-0005is-NJ for importer@patchew.org; Fri, 15 Mar 2019 21:41:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6m-0004DO-9q for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4xzZ-000601-HC for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:06 -0400 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:48638) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4xzZ-0005yv-5I; Fri, 15 Mar 2019 21:20:05 -0400 Received: from mail-sn1nam04lp2059.outbound.protection.outlook.com (HELO NAM04-SN1-obe.outbound.protection.outlook.com) ([104.47.44.59]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:39 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:02 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699300; x=1584235300; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+hqIpo5a9YhuyBdhynG8cEaQSV9r/uP5EU6jB1XIViM=; b=Th7mBpSAPdjYxzOmUJdVoLRM/u2aZRtnkJ0Br2pa29SyNF79Ab3nzIjy 2vl6bwiq37vN2535mfCCUmZXZ9CBa5dhRyJtYxAuBaiEEdk7JCSTN6ovq wKiIZAXB1B/M0ivMuEEqAX+fwMMw8hIICzqmwOjoCubWoYAbbJ9lytSiR 3sVTBjxxsSEgGhCKsJ+ka4TtxkeT6jJQ77sv2bka4OuCJ2hce3TeZViXU Tydgkzi5F/aUTLyOkidmHYD9Hq7kxosa55qw0F3xlkbO+g6s9ES0AwbqL UvAC4Offuy+ztYlAHYwNEwUD7LbHnMauOydHpBiaa8kYHtLHlYKfe26Y3 w==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="202186830" 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=boSQ8se//WXTxJwNXyj1xFize+SDXMerIuH7UI1WiO0=; b=nPRKkta3w1tYmZ4qB3m4riCxjHU0X585D+OQG/0uErUcR7LrpSkVRt713KZx6wZZ0QhesRphtXAcOVLcI6Mc3WwvYJfXdmahuAFou67EVJmTSsqc/8KeGtxHu4FjOa0AFVCwP2ys9HhUOktFcEMOEeIWsBJivRQHICFLqLkTIak= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 01/12] riscv: pmp: Log pmp access errors as guest errors Thread-Index: AQHU25ZhSkdMNrmxrEKk9WePJOogmQ== Date: Sat, 16 Mar 2019 01:20:02 +0000 Message-ID: <07d2c6f05d4092419de488237910e7f9f85dcd4f.1552699115.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.21.0 x-clientproxiedby: BYAPR02CA0046.namprd02.prod.outlook.com (2603:10b6:a03:54::23) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.45.64] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 35c6d3ec-699f-4146-5e8b-08d6a9ad83bd x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: ECRpHFAYfS4MI7GeOZ6QI0tHYBQTb+KdJJz78EHEuVAWddtCCm0W0Wk0Tn7Zc1GSDE5r7/0XPuWaRXPPjKBKJBIFH3pzoAIsE9OOYITth+yifX1oNC8mOtC1aRA396DfAkF/FAkCeuqS7AMRHU/HT/+Ovm64Mg2Q8MjYr3IZRBBKPLl/HrIg1yJYxKk9IcoVkuIGBt4tjfzFy+byDH4e421218S4KRdlI56ly3JyP7CDsLJ+SUkkDvX2vF0x3qRjlr8EhT0NMwlhoXWyXknt9llSpxqbw/a0LdLDm9zGC1gcXaPFxnFeu7qad8A5Ha43CZFVTOgrfG+ac7uTAMbmitgSaIzO4Np2uRHWi9ApOBIAtbViRPVTq3x+4ehjqGDZfKyrNjC6YxatJzHnuRLmLwHBNIEUv2EUDz/7PeXlY70= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35c6d3ec-699f-4146-5e8b-08d6a9ad83bd X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:02.6117 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 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 v1 01/12] riscv: pmp: Log pmp access errors as guest errors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/pmp.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 15a5366616..b11c4ae22f 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -113,10 +113,11 @@ static void pmp_write_cfg(CPURISCVState *env, uint32_= t pmp_index, uint8_t val) env->pmp_state.pmp[pmp_index].cfg_reg =3D val; pmp_update_rule(env, pmp_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, "ignoring pmpcfg write - locked= \n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - out of bounds\n"); } } =20 @@ -249,7 +250,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulon= g addr, =20 /* partially inside */ if ((s + e) =3D=3D 1) { - PMP_DEBUG("pmp violation - access is partially inside"); + qemu_log_mask(LOG_GUEST_ERROR, + "pmp violation - access is partially inside\n"); ret =3D 0; break; } @@ -306,7 +308,8 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_= index, env->mhartid, reg_index, val); =20 if ((reg_index & 1) && (sizeof(target_ulong) =3D=3D 8)) { - PMP_DEBUG("ignoring write - incorrect address"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - incorrect address\n"); return; } =20 @@ -353,10 +356,12 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t a= ddr_index, env->pmp_state.pmp[addr_index].addr_reg =3D val; pmp_update_rule(env, addr_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - locked\n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - out of bounds\n"); } } =20 @@ -372,7 +377,8 @@ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint3= 2_t addr_index) if (addr_index < MAX_RISCV_PMPS) { return env->pmp_state.pmp[addr_index].addr_reg; } else { - PMP_DEBUG("ignoring read - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr read - out of bounds\n"); return 0; } } --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 15527004477289.765625360242439; Fri, 15 Mar 2019 18:40:47 -0700 (PDT) Received: from localhost ([127.0.0.1]:35478 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yJM-0004rF-16 for importer@patchew.org; Fri, 15 Mar 2019 21:40:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6l-00047y-AS for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4xzk-000622-8H for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:17 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4388) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4xzj-00061n-T1; Fri, 15 Mar 2019 21:20:16 -0400 Received: from mail-dm3nam05lp2050.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.50]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:14 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:11 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699216; x=1584235216; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=mCLun1Y9Axu1r6fvxhmrSiAqMURw7y3nhcUh8Kr5x5w=; b=mMIH8mIg0ULXVDO9W341ucJsi5KSgAPX8cXuub20ph9FZi3yo31oBDvf fNaSqjug4Sps9JZS2HOki/z+MGfPLRprj5kygHW9N59xdjxyv0sjkrMFX tOKYIkpAMhkCWeJnGu1BFddwOMP3HPpq7Z148/d8l0wCckGBgD16NdWqd E5YMPwOF5wJ63LKthPmifokZu3TibPD/7tRw2URPLSciv9x/BoGBYGDkt HhT7BGcHZbOBEqvs6RuooCiDswq2I0s1SLynQv/dQCtvk6fOb9FFIcuQM OZq9FkPe8vbQmHAYtJJWd4j66dFbZuvwl//0jPC0r7olqNyN4HcfYaTPI g==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549421" 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=14pIia74s1a1FxKTI1wk5jpcUMHB5A19clcgb0H/RP8=; b=dxIdVVlYfa6albWwr/gfCa4RCG4mMQB8w44tiQaTc3gx99tJeUb+I30zPYooeo0588mGiOLI9Jh/StAGixVkws1ZZvGpE8qdVDdVSr33KsmlHnpNKJN3fPupFj8P5paGi4GcRkehKhhoxlBuqrCnQDAEXvOSRkxs+liIa0S374Q= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 02/12] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC Thread-Index: AQHU25ZmZU1d7vevV0ao4BJjkHw34w== Date: Sat, 16 Mar 2019 01:20:11 +0000 Message-ID: <3480947c0d86c0c44ee30b2df37d92dd4d07dbc9.1552699115.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.21.0 x-clientproxiedby: BY5PR13CA0009.namprd13.prod.outlook.com (2603:10b6:a03:180::22) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: acebf6d1-83a4-47d3-aaaf-08d6a9ad88f6 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(4744005)(14454004)(72206003)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: NwTgO5R9vXDepkS0pbpMXMgDX92++7JrtfVvP2bEmb8vLVb3nEb7nKoxG144kKQdg3vqsAILtj/KPQ02nlJo94+T7XklInWpZQTYv3fauXKUMLs2uBFzyyVaUApJG6JMBqzAOYTlzVY9LBdSEnalqiMObdmUpf17pfAyeXYFAuGjdCTyYq3hfJkxrxSVMaJtsq02rpMJ+m1fm6NKwtyhnl8YqdiSfkbgAToQkQGL1bpeewzoRu56EdkeBZoOEySMrNGOeiXORrwKAzBoQB5/7YfvHy9qXbiuSFqGi8QoBazpElHHxCzjUhWst5prM4cT55WxhonFJLRpQQnjINpJ0IM/0OZ6QwtFS9WcFFeTdm6tRaOOt8fnkro8OGJE6wD7rKmraVTn+J7/Q57WenAIR94MTVPMmRp/ZbBi/Q3KahY= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: acebf6d1-83a4-47d3-aaaf-08d6a9ad88f6 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:11.3608 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 02/12] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index d12ec3fc9a..b859f919a7 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) p =3D plic->hart_config; while ((c =3D *p++)) { if (c =3D=3D ',') { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); modes =3D 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); } hartid++; =20 --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552700123630274.7317162567965; Fri, 15 Mar 2019 18:35:23 -0700 (PDT) Received: from localhost ([127.0.0.1]:35367 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yED-0001Sr-6H for importer@patchew.org; Fri, 15 Mar 2019 21:35:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6S-0004DO-AY for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y04-000698-90 for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:37 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:25828) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y03-00068h-Oq; Fri, 15 Mar 2019 21:20:36 -0400 Received: from mail-dm3nam05lp2055.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.55]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:22 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:20 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699235; x=1584235235; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PyM/VTVWLfdxcfoCMquKLE9hn8oU03RmcoUlQYk+0ds=; b=m+Mxw4w+qyq9z005p6VAU822DpalcclvGBCOfSL+99EPnnMmCPfHvYQW pn9aiOP9PONCP2qbzN9l189EcFlF+MhfmIzGL+utVrD8/25UQykHK05bB nt1djwwV9cRv68Irk3vWNH9JO7TEAAvCl0pf/eyTtWbXrj8DhMJ1QKqKA CSslkLyWD5OpC/iAOitULVIJp/MflOjCfSB7xh2BUQm4bozoMYSrC7hxR vLt6a0yUOrDtSrUZYatMNx/Crw1BMp+1Fymj7I4Dualzd7T/eiRbnI7A1 w+c415FzZ+9Gvpog1FV/h3/w5oe4FxGwTCmoNfedTY51GLNL8AqftTWYp Q==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="108600677" 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=+u5bBAQ295ArTfym6Nyck5uw5f8bL+E+uojFpleAE+o=; b=U6c8wxBcVEVr1JMMboQ7nO3AcTQDSEi5puE7LDsAZ5JE79kXwwH4Dk5zS/innERGgogNXXmFnayVFnrsklIWDOpngQg/p3ar3sw3wK9SIy1jZ/UUwNUhFokOuUKRcln7a6qqxiOH4JJkKXey4QJSo4rVK5O6as03O/SE6UTife0= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 03/12] RISC-V: Allow interrupt controllers to claim interrupts Thread-Index: AQHU25Zr4ikHYvjax0uxbNfk4kk+wQ== Date: Sat, 16 Mar 2019 01:20:20 +0000 Message-ID: <420e983718a216769da60c147bfcde8205bf5785.1552699115.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.21.0 x-clientproxiedby: BY5PR13CA0020.namprd13.prod.outlook.com (2603:10b6:a03:180::33) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: d69a997f-f5a8-41d4-fcf4-08d6a9ad8e36 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(5024004)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: fxSFFK0itnbGDt4lo3S5ehf0e59H5sPhomSRaktVjJ2KFDSPBTIMDRLEyaEJswZhb2qs+N0q7VfW+tFlrI6/odRAHAPw4JP0izVVDf2xACizbCDNtzBJPFUufizbfEnJWm2tDjs+EXHT8IBVTvq+XsuzdcORqT1HHrmO7kVOb6KOa0/CZlpPaFh3DNYIYakC0RC3n8fqorfugL6vbUsm2ZC3k9QhzV8HhXuoKtA7UlAWkSyK9iaSh5Y9HaAvQurG/bgLECBPXnql1jmyWaaBMAoTi04C0g1mm1ixpFmvuWxf4BLnuqctaESzo62Ok1/SdiwkBXCof/uAp122OI3T0Hu7ZyzS7NZFUKBqd8JoYbDDkh7yMqUfppsQvZuG/GuZFveO65JCtXHMUHGwdO6txdJpNCvFiYLwQwpofaN5AaE= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: d69a997f-f5a8-41d4-fcf4-08d6a9ad8e36 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:20.1359 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 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 v1 03/12] RISC-V: Allow interrupt controllers to claim interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark We can't allow the supervisor to control SEIP as this would allow the supervisor to clear a pending external interrupt which will result in lost a interrupt in the case a PLIC is attached. The SEIP bit must be hardware controlled when a PLIC is attached. This logic was previously hard-coded so SEIP was always masked even if no PLIC was attached. This patch adds riscv_cpu_claim_interrupts so that the PLIC can register control of SEIP. In the case of models without a PLIC (spike), the SEIP bit remains software controlled. This interface allows for hardware control of supervisor timer and software interrupts by other interrupt controller models. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 15 +++++++++++++++ target/riscv/cpu.h | 2 ++ target/riscv/cpu_helper.c | 11 +++++++++++ target/riscv/csr.c | 10 ++-------- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index b859f919a7..1c703e1a37 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -23,6 +23,7 @@ #include "qemu/error-report.h" #include "hw/sysbus.h" #include "target/riscv/cpu.h" +#include "sysemu/sysemu.h" #include "hw/riscv/sifive_plic.h" =20 #define RISCV_DEBUG_PLIC 0 @@ -431,6 +432,7 @@ static void sifive_plic_irq_request(void *opaque, int i= rq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic =3D SIFIVE_PLIC(dev); + int i; =20 memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -443,6 +445,19 @@ static void sifive_plic_realize(DeviceState *dev, Erro= r **errp) plic->enable =3D g_new0(uint32_t, plic->bitfield_words * plic->num_add= rs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); + + /* We can't allow the supervisor to control SEIP as this would allow t= he + * supervisor to clear a pending external interrupt which will result = in + * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be + * hardware controlled when a PLIC is attached. + */ + for (i =3D 0; i < smp_cpus; i++) { + RISCVCPU *cpu =3D RISCV_CPU(qemu_get_cpu(i)); + if (riscv_cpu_claim_interrupts(cpu, MIP_SEIP) < 0) { + error_report("SEIP already claimed"); + exit(1); + } + } } =20 static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 5c2aebf132..a0b3c22dec 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -140,6 +140,7 @@ struct CPURISCVState { * mip is 32-bits to allow atomic_read on 32-bit hosts. */ uint32_t mip; + uint32_t miclaim; =20 target_ulong mie; target_ulong mideleg; @@ -263,6 +264,7 @@ void riscv_cpu_list(FILE *f, fprintf_function cpu_fprin= tf); #define cpu_mmu_index riscv_cpu_mmu_index =20 #ifndef CONFIG_USER_ONLY +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts); uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value= ); #define BOOL_TO_MASK(x) (-!!(x)) /* helper for riscv_cpu_update_mip value = */ #endif diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index f49e98ed59..555756d40c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -72,6 +72,17 @@ bool riscv_cpu_exec_interrupt(CPUState *cs, int interrup= t_request) =20 #if !defined(CONFIG_USER_ONLY) =20 +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts) +{ + CPURISCVState *env =3D &cpu->env; + if (env->miclaim & interrupts) { + return -1; + } else { + env->miclaim |=3D interrupts; + return 0; + } +} + /* iothread_mutex must be held */ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value) { diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 960d2b0aa9..938c10897c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -550,16 +550,10 @@ static int rmw_mip(CPURISCVState *env, int csrno, tar= get_ulong *ret_value, target_ulong new_value, target_ulong write_mask) { RISCVCPU *cpu =3D riscv_env_get_cpu(env); - target_ulong mask =3D write_mask & delegable_ints; + /* Allow software control of delegable interrupts not claimed by hardw= are */ + target_ulong mask =3D write_mask & delegable_ints & ~env->miclaim; uint32_t old_mip; =20 - /* We can't allow the supervisor to control SEIP as this would allow t= he - * supervisor to clear a pending external interrupt which will result = in - * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be - * hardware controlled when a PLIC is attached. This should be an opti= on - * for CPUs with software-delegated Supervisor External Interrupts. */ - mask &=3D ~MIP_SEIP; - if (mask) { qemu_mutex_lock_iothread(); old_mip =3D riscv_cpu_update_mip(cpu, mask, (new_value & mask)); --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552700290363167.24892978677542; Fri, 15 Mar 2019 18:38:10 -0700 (PDT) Received: from localhost ([127.0.0.1]:35431 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yGx-0003Hu-B5 for importer@patchew.org; Fri, 15 Mar 2019 21:38:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6k-00047y-5O for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y05-00069H-5Y for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:38 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:25828) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y04-00068h-Oc; Fri, 15 Mar 2019 21:20:37 -0400 Received: from mail-dm3nam05lp2052.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.52]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:30 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:29 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699236; x=1584235236; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3tBGFM+/SVDk9P7tr5NpIocALe/ZKiRg2MLQHz6W0B8=; b=R7x+rhH8qsHrua+pIIDpa6CfEPbDZBHPgop//DDdy/vZIB0o3l6lVod2 Jn95x4NETuEAls4EsD144xgvKzhcpdpAU8rHjCcEHwNhto6Cgc/PqOiOQ jgQCTEVpSWMLE+7CMXiw21G2/qE4OdDfIfAiLeqBC0MksilFGjlrl8W6k 6el5LyBC6QwPSD0zi47OI+QqZG9uRHs4Tnz0mhOR7tcslD4KurExEe8AA CWAkOFwWSSBM84yb9cE/eQgZ09ThGVwgAhGtvIBoBxmvaEW6LIFckt2BA bfl507wD/8rrOO/lv8c5M68HdeeVrXfkU0CpFHAKaWNTrnQ5RFmCeZTaV A==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="108600684" 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=U6Pjeh0idsLVToRRzNDIFbue+7h5Jc0P76WkAopiz8Q=; b=lE5ZNQ1rNrqWOygR47sCVreyPv34mqcWfQKmJZzinD5BxB6rYrLZfITAW4k2HiW4u5ifUrdeLYuYbNJtZULi6PtqB57NCZaVtXZZpnf7VBqbxFelJ040kbSVK2GF9q+Vk4p71pqGuyZGPXEszyntXH5z2H9joQNMEqQMI4viQVY= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 04/12] RISC-V: Remove unnecessary disassembler constraints Thread-Index: AQHU25ZxUtc/lDAvvkG7U5pqG6mcfg== Date: Sat, 16 Mar 2019 01:20:28 +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.21.0 x-clientproxiedby: BYAPR06CA0062.namprd06.prod.outlook.com (2603:10b6:a03:14b::39) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: 2814ac5a-52b4-4b5d-a2f8-08d6a9ad9375 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: u8kWeRZ8HWlIz/b3t7KwkOslm7WZpeGCXli5auNvhZKTeQ3WcUu6iYEA5yrFOwMRuQ/JB54NkcVhtVUCz4b5tRYiwugqs+aHxd4vwBqfWg4V/RjbeZxm0bWAke5InCucI7d1/9EQnusdU7IFwT7eP7wu4+VXimLmi5c5Ca45ZDVg+A95kIyW5nV+ewYngbVVCnxBT2b4a1cglkVYjVZjadB5lzqrBiZhNAyVmyBQQZ3H2V/4H29+L8AeYkQPVTd/ZGhz/T9KkSkp0WXJr1qRE7bShGEfLRHjbqDCgufHwVAmEHsKji94nEjTNQp88/NwL2mdyr6cDF/8x+2gfPhDNPzVn6P8HduzLrv6r6OwX7hcWrhFpBCvu+zdd0LdWc45lxRyybiS9rfJ+cJEBnAu1j8irLYEPkLoB+UYvDJ8IYU= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2814ac5a-52b4-4b5d-a2f8-08d6a9ad9375 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:28.9961 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 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 v1 04/12] RISC-V: Remove unnecessary disassembler constraints X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- disas/riscv.c | 138 -------------------------------------------------- 1 file changed, 138 deletions(-) diff --git a/disas/riscv.c b/disas/riscv.c index 7fd1019623..27546dd790 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -87,33 +87,10 @@ typedef enum { =20 typedef enum { rvc_end, - rvc_simm_6, - rvc_imm_6, - rvc_imm_7, - rvc_imm_8, - rvc_imm_9, - rvc_imm_10, - rvc_imm_12, - rvc_imm_18, - rvc_imm_nz, - rvc_imm_x2, - rvc_imm_x4, - rvc_imm_x8, - rvc_imm_x16, - rvc_rd_b3, - rvc_rs1_b3, - rvc_rs2_b3, - rvc_rd_eq_rs1, rvc_rd_eq_ra, - rvc_rd_eq_sp, rvc_rd_eq_x0, - rvc_rs1_eq_sp, rvc_rs1_eq_x0, rvc_rs2_eq_x0, - rvc_rd_ne_x0_x2, - rvc_rd_ne_x0, - rvc_rs1_ne_x0, - rvc_rs2_ne_x0, rvc_rs2_eq_rs1, rvc_rs1_eq_ra, rvc_imm_eq_zero, @@ -2522,111 +2499,16 @@ static bool check_constraints(rv_decode *dec, cons= t rvc_constraint *c) uint8_t rd =3D dec->rd, rs1 =3D dec->rs1, rs2 =3D dec->rs2; while (*c !=3D rvc_end) { switch (*c) { - case rvc_simm_6: - if (!(imm >=3D -32 && imm < 32)) { - return false; - } - break; - case rvc_imm_6: - if (!(imm <=3D 63)) { - return false; - } - break; - case rvc_imm_7: - if (!(imm <=3D 127)) { - return false; - } - break; - case rvc_imm_8: - if (!(imm <=3D 255)) { - return false; - } - break; - case rvc_imm_9: - if (!(imm <=3D 511)) { - return false; - } - break; - case rvc_imm_10: - if (!(imm <=3D 1023)) { - return false; - } - break; - case rvc_imm_12: - if (!(imm <=3D 4095)) { - return false; - } - break; - case rvc_imm_18: - if (!(imm <=3D 262143)) { - return false; - } - break; - case rvc_imm_nz: - if (!(imm !=3D 0)) { - return false; - } - break; - case rvc_imm_x2: - if (!((imm & 0b1) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x4: - if (!((imm & 0b11) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x8: - if (!((imm & 0b111) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x16: - if (!((imm & 0b1111) =3D=3D 0)) { - return false; - } - break; - case rvc_rd_b3: - if (!(rd >=3D 8 && rd <=3D 15)) { - return false; - } - break; - case rvc_rs1_b3: - if (!(rs1 >=3D 8 && rs1 <=3D 15)) { - return false; - } - break; - case rvc_rs2_b3: - if (!(rs2 >=3D 8 && rs2 <=3D 15)) { - return false; - } - break; - case rvc_rd_eq_rs1: - if (!(rd =3D=3D rs1)) { - return false; - } - break; case rvc_rd_eq_ra: if (!(rd =3D=3D 1)) { return false; } break; - case rvc_rd_eq_sp: - if (!(rd =3D=3D 2)) { - return false; - } - break; case rvc_rd_eq_x0: if (!(rd =3D=3D 0)) { return false; } break; - case rvc_rs1_eq_sp: - if (!(rs1 =3D=3D 2)) { - return false; - } - break; case rvc_rs1_eq_x0: if (!(rs1 =3D=3D 0)) { return false; @@ -2637,26 +2519,6 @@ static bool check_constraints(rv_decode *dec, const = rvc_constraint *c) return false; } break; - case rvc_rd_ne_x0_x2: - if (!(rd !=3D 0 && rd !=3D 2)) { - return false; - } - break; - case rvc_rd_ne_x0: - if (!(rd !=3D 0)) { - return false; - } - break; - case rvc_rs1_ne_x0: - if (!(rs1 !=3D 0)) { - return false; - } - break; - case rvc_rs2_ne_x0: - if (!(rs2 !=3D 0)) { - return false; - } - break; case rvc_rs2_eq_rs1: if (!(rs2 =3D=3D rs1)) { return false; --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552699780911680.5859077498365; Fri, 15 Mar 2019 18:29:40 -0700 (PDT) Received: from localhost ([127.0.0.1]:35274 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y8n-0005cf-Qr for importer@patchew.org; Fri, 15 Mar 2019 21:29:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6e-00047t-Af for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y08-0006BN-Gh for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:42 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:25828) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y08-00068h-2L; Fri, 15 Mar 2019 21:20:40 -0400 Received: from mail-dm3nam03lp2053.outbound.protection.outlook.com (HELO NAM03-DM3-obe.outbound.protection.outlook.com) ([104.47.41.53]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:39 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:37 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699240; x=1584235240; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=JXmH4WrHDfrOrotNzbCjUCXX6a+ubhrW+bSu/dDt/hw=; b=RDS4B5lNbPaKRqNwyZh7hepu1Bxx5P0iM5JmsSNNUzkFNJHmo4x5AxvW WGCoGuMzECrA4o+yvTOaAhPCsBj8eeZtCtb/LNCrCvGG5nMTtq/HhjrqI pn69TBJQQd1KeYrxwDFMi3EwQTQl6XnRDqv50LsdsB62AvK7DhA0U5wcN PqMXvc3Br8OCJS1yJ9Y3Mot7r1PqaSHGPVfn6BuG8pjrocAOCXtus5HMe yT6QKoTTEWyRXdFjMqKGDHCwrVguPEk363HdxaCB1dNVRNZLUgPRlAJCy pfIgp2HrqG8HvqkR0B+uzB54iQypBO1HGhXTZFw9wpxwXCYuHm8HOR8Ky Q==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="108600693" 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=/pbA4nh3Bd71LPT5CgV1E8ywTrLsYGuoghBV3cWNH1c=; b=NOCrqfBOgzQnAoF8I9Ma+eHoOvwctAET90JdJ+d238sfQJRZ5TFzSIY1JAddPVvdwxZVDvKUjJdHc4G/eFoDWi7UEMy8bGGMteP2vujJddIDwlC+BqrHhjLjGFsidODzuq/HBAI6P4PaxdAlSuW5ou7mCCo6K8IiM3pRCigIlpE= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 05/12] elf: Add RISC-V PSABI ELF header defines Thread-Index: AQHU25Z2/FvPVhu8GEKeNT2eVxC5dQ== Date: Sat, 16 Mar 2019 01:20:37 +0000 Message-ID: <1cd1d02f1ea1bbedc97ee7d764c4a6c32791024f.1552699115.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.21.0 x-clientproxiedby: BYAPR05CA0106.namprd05.prod.outlook.com (2603:10b6:a03:e0::47) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: 576e6c6c-1e7e-47f3-37ac-08d6a9ad9880 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: x-ms-exchange-purlcount: 1 wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(6306002)(53936002)(68736007)(446003)(4744005)(966005)(14454004)(72206003)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: vCUiJG7LyoPkL9G6QOyMtTtnygUZhLMI7dyewzvZ+c6R6cy9wtth/5DQS3lkTLkUpMj4bGhTLNcmHMMyGM4YdZg59nwf1BBxOEQddtZLn59vcP2O7qRXQxxdwSH/3yGD42JhCNGlm3Gztf6UcEU1raOwNCoiA6fruvakdp38KMoV9H0fpmTT0n1BoOYIOxMK4DpiGG56xFWkX1HkmmnuUEnVBE94gSefAjz5yS09qCz7kxrVnw1zkwDxwHBlwQfcUSMYsxwsQrD7lbUpPizbLZWXvnqsaTBRbd4BpJsz2cI4OyhZP6GlrdQplFe3OSRJ5LSOK2NJIkAVKbdvP9zZF5VoygocPOnJyV+p/y0OJaNrHxhfyS+fiRiJlsHJNtDWFNih2Qr6FCjlr75N9B1qVAkp3SynsRwPXEuIs5bVdqA= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 576e6c6c-1e7e-47f3-37ac-08d6a9ad9880 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:37.4201 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 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 v1 05/12] elf: Add RISC-V PSABI ELF header defines X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev Cc: Richard Henderson Cc: Alistair Francis Reviewed-by: Laurent Vivier Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- include/elf.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/elf.h b/include/elf.h index b35347eee7..ea7708a4ea 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1393,6 +1393,16 @@ typedef struct { #define R_RISCV_SET16 55 #define R_RISCV_SET32 56 =20 +/* RISC-V ELF Flags. */ +#define EF_RISCV_RVC 0x0001 +#define EF_RISCV_FLOAT_ABI 0x0006 +#define EF_RISCV_FLOAT_ABI_SOFT 0x0000 +#define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 +#define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 +#define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 + typedef struct elf32_rel { Elf32_Addr r_offset; Elf32_Word r_info; --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552700135056931.6420919216922; Fri, 15 Mar 2019 18:35:35 -0700 (PDT) Received: from localhost ([127.0.0.1]:35369 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yES-0001c0-RP for importer@patchew.org; Fri, 15 Mar 2019 21:35:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6a-0004DO-Gk for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0H-0006Cg-RZ for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:20:52 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4426) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0H-0006Ca-9G; Fri, 15 Mar 2019 21:20:49 -0400 Received: from mail-dm3nam05lp2052.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.52]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:48 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:46 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699250; x=1584235250; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=a5TiXgw7pNwtPWyET/yKetGgGkZBlgNb/FayHcBIcq8=; b=EmIcUMbtBfcnqEdpWmsB9OeAXWxOPCFzTkDVRPfAT2wsxksWnFYjoZU5 VGfhxaVrGfP0JNqSv7WXG6f4XJ+za5Pbb7i/jjMMyGiIWWMyKk15sqAA6 nc2Z5TKyERKzPZ7tJwuOB9J/ksjkWjZNwbeDmbhc4begIwwwgQBw/YWqr 0XWPHXRw0EpS61COido8reGw6d9M1arC5tTyzyBK0tjSzOQQRP5yOxyDc OpQh3Mgs/fE2GPm7pcIXZLKsvgnqn5TO08stz1gWLtkmw4BsnrII37xUV DemDtjOgFGhiaisiUCA+2jkQEXOn1qtoNFzaikykk4yPrI4YlcJV800IX w==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549467" 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=1rlPyqIumzA6YaJI3kwG1XOwA9O92Qo8iNYyDd93xYg=; b=iKQ/M+8IE2uF27/KTC2ALy/5fvaVw/zTvdjZEQdvi1MFYTiGxIZoWTtTyGEh6yP36jwa7B96je+7BSCC1H5L/Cw+WndETKtQbQDLFqOFim3BKVeHwTXG9Fy+ZGqpiPyw4hZj+DBrEI3+0wmpFm2lX9Aoaykvic//L4xG5IPX2Dw= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 06/12] RISC-V: linux-user support for RVE ABI Thread-Index: AQHU25Z7PBpw+o8FYkeldASFvplTBw== Date: Sat, 16 Mar 2019 01:20:46 +0000 Message-ID: <076c09aed282a59c1493518534aafb3ced608414.1552699115.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.21.0 x-clientproxiedby: BYAPR06CA0072.namprd06.prod.outlook.com (2603:10b6:a03:14b::49) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: f7c9ede1-a835-4400-1611-08d6a9ad9dac x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: fzsh9VrsKXfWZ+z1fmU6ozhA39+2zGaVvRCxppjQWn0s7e+Q0fM+M4aZPoOkHxrpyUHp4YQtWHNr4dHgEPlKNe08mPeROKaIov5zKSbnNrkZ/ZHK7OC17yRSEkIXk4Z1THweSLZ/d7qpkzNWG36v345SF13NcJCdfFgT3wvmvfJKFqBdw3W6tNriiqOZM5W76T/MzUNEgO9qw1ZQf22M8RnpX6v18/WVFrUcQpQaK0eHU4wvD3ZjcPHUnFoFRZXcS1UQZEDwVlbGgVN3IQoV6AYq+aNcRD/p738BemAqwZfXM/s98+xREPOx/C+u5y2nPMfeCJ2eMmd6f+CaM7qSKUoQW1m12sdpk7GXTEvnyen7lyE1uqpkZeu+7hzRICXkfkpApOzxftl3haNW16uBK23ZXeZolEygN9or8RxIfN0= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7c9ede1-a835-4400-1611-08d6a9ad9dac X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:46.1592 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 06/12] RISC-V: linux-user support for RVE ABI X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Kito Cheng This change checks elf_flags for EF_RISCV_RVE and if present uses the RVE linux syscall ABI which uses t0 for the syscall number instead of a7. Warn and exit if a non-RVE ABI binary is run on a cpu with the RVE extension as it is incompatible. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Co-authored-by: Kito Cheng Co-authored-by: Michael Clark Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- linux-user/riscv/cpu_loop.c | 15 ++++++++++++++- target/riscv/cpu.h | 4 ++++ target/riscv/cpu_user.h | 3 ++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 4cf3e94632..a9bac4ca79 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -18,8 +18,10 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu.h" #include "cpu_loop-common.h" +#include "elf.h" =20 void cpu_loop(CPURISCVState *env) { @@ -53,7 +55,8 @@ void cpu_loop(CPURISCVState *env) ret =3D 0; } else { ret =3D do_syscall(env, - env->gpr[xA7], + env->gpr[(env->elf_flags & EF_RISCV_RVE) + ? xT0 : xA7], env->gpr[xA0], env->gpr[xA1], env->gpr[xA2], @@ -113,6 +116,16 @@ void cpu_loop(CPURISCVState *env) =20 void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs) { + CPUState *cpu =3D ENV_GET_CPU(env); + TaskState *ts =3D cpu->opaque; + struct image_info *info =3D ts->info; + env->pc =3D regs->sepc; env->gpr[xSP] =3D regs->sp; + env->elf_flags =3D info->elf_flags; + + if ((env->misa & RVE) && !(env->elf_flags & EF_RISCV_RVE)) { + error_report("Incompatible ELF: RVE cpu requires RVE ABI binary"); + exit(EXIT_FAILURE); + } } diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index a0b3c22dec..8e4b5cfe26 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -123,6 +123,10 @@ struct CPURISCVState { =20 uint32_t features; =20 +#ifdef CONFIG_USER_ONLY + uint32_t elf_flags; +#endif + #ifndef CONFIG_USER_ONLY target_ulong priv; target_ulong resetvec; diff --git a/target/riscv/cpu_user.h b/target/riscv/cpu_user.h index c2199610ab..52d380aa98 100644 --- a/target/riscv/cpu_user.h +++ b/target/riscv/cpu_user.h @@ -10,4 +10,5 @@ #define xA4 14 #define xA5 15 #define xA6 16 -#define xA7 17 /* syscall number goes here */ +#define xA7 17 /* syscall number for RVI ABI */ +#define xT0 5 /* syscall number for RVE ABI */ --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552699963864266.94133268653684; Fri, 15 Mar 2019 18:32:43 -0700 (PDT) Received: from localhost ([127.0.0.1]:35345 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yBk-0007zy-No for importer@patchew.org; Fri, 15 Mar 2019 21:32:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6Y-00047t-Im for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0T-0006FK-Tf for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:03 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4442) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0Q-0006Dh-5b; Fri, 15 Mar 2019 21:21:00 -0400 Received: from mail-dm3nam05lp2053.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.53]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:20:57 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:20:55 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:20:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699259; x=1584235259; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=73CspTw5lbLP0cNYs/QODQbY7nmcTrIPl/GNDdDcWro=; b=GAYxZzwoFopzUKWou/GguKCuxWfVgqYAPyX8EX52Zk87DSHaBZhMYnoK XR4DryKzoGzZXs0SiZ1UOM+QxUVD6sfDJevmXx+++jbPFyKoJBsU7Dyt0 xZPy7ed4Pbz9Y3jDi9dZBVKxkcNgLErY9gJO7dm/ZTbJvrMkjSqf3ktjz MpuIl9YVLdZEvvJIwPHV0uwBznmJL9ixI2L17tHT5YqzhwHfHF/d3GXZH uunZouf5psw1ylO9+FsF+7T0FCzgdtEt1jWi/1GU+lGtTZxcBifygpNCD h7lQCAJ/KsAVwp0hrPtHgeRGJjF3GYA+Pl5oUW8MMlINjQzNW3xq7pgvC A==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549475" 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=EGlLbzDzVt5sS4osM2B4hdQCKd+7qW2JrfgPWBVVrxA=; b=H6y5D1BxYKNEIFzEDx7ZwlisIw8H8Mqsx+WWh7vh0nVWLsq1up1s/xMKRS1ytw8ZmmZ0LOooOwQjIDerRetzaG50FGToiKYl7XzrJczvOgytJkgZXKHRalZR6YFrteMRjKTwOmc1Ooy5c8Q58q3kz9QPcKwxaizzE4fg0Yzbczs= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 07/12] RISC-V: Change local interrupts from edge to level Thread-Index: AQHU25aAO96dBF6XoEKGIEvOogxAAg== Date: Sat, 16 Mar 2019 01:20:54 +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.21.0 x-clientproxiedby: BYAPR06CA0064.namprd06.prod.outlook.com (2603:10b6:a03:14b::41) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: 3b10a361-1d60-48dc-620b-08d6a9ada2dc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: x-ms-exchange-purlcount: 2 wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(6306002)(53936002)(68736007)(446003)(966005)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: qjQJqGwNIPeoD7+JYXfaT7jXrJ+5VVAkcyOCw8R1hkws7I3nVzI0slh7yRR5+Hl+jf4+9/bnRTw9z8wDqSBf3jlp3qwpNyn4nw2lMMQ2Qq3AM3P8/1D3X1YB/1xXLGJqHkDuJV0FIRygMvdeWTVLnqVBZWvuUmqo/j0ubDQelOcbjm1NDiStt9wVm7u5ofDNJ7nMA+NAV8oTwkY5E195pIpqOi6KAbQ4X9Ee9UXGzn6LkDMsjK+xRgcLL7nlQUpTYx5dM2wg7h7iK1SUFi8wCUdkaLwCL99DJiueFrAicutNYgz/7OT2yOqBSrdJMah9INuAwNRnSztWIcbK6nKhcldoadQnUO51bZMZS2oWqSxRsZEgkOrC2xSI6brylB0jari65IOzyhWx2GFmA9AaZoLogFu0GPJZ6Snut5o0Alc= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b10a361-1d60-48dc-620b-08d6a9ada2dc X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:20:54.8143 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 07/12] RISC-V: Change local interrupts from edge to level X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark This effectively changes riscv_cpu_update_mip from edge to level. i.e. cpu_interrupt or cpu_reset_interrupt are called regardless of the current interrupt level. Fixes WFI doesn't return when a IPI is issued: - https://github.com/riscv/riscv-qemu/issues/132 To test: 1) Apply RISC-V Linux CPU hotplug patch: - http://lists.infradead.org/pipermail/linux-riscv/2018-May/000603.html 2) Enable CONFIG_CPU_HOTPLUG in linux .config 3) Try to offline and online cpus: echo 1 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu2/online Reported-by: Atish Patra Cc: Atish Patra Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 555756d40c..073bdcfe74 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -95,9 +95,9 @@ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mas= k, uint32_t value) cmp =3D atomic_cmpxchg(&env->mip, old, new); } while (old !=3D cmp); =20 - if (new && !old) { + if (new) { cpu_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); - } else if (!new && old) { + } else { cpu_reset_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); } =20 --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552699960807894.328588563044; Fri, 15 Mar 2019 18:32:40 -0700 (PDT) Received: from localhost ([127.0.0.1]:35343 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yBg-0007yP-Kt for importer@patchew.org; Fri, 15 Mar 2019 21:32:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6Y-00047y-IU for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0a-0006Hy-C8 for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:09 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4442) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0Z-0006Dh-NO; Fri, 15 Mar 2019 21:21:08 -0400 Received: from mail-dm3nam05lp2055.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.55]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:06 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:21:03 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:21:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699268; x=1584235268; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=nbUPHDJk8RpFMRa0NPThvPaRK6PAUOOR9dAveJCYx5Y=; b=Xjviz3ddAGT5nI+5reb8n4CA/37jm1RxpihmTQfs+vmjLuHl3a8GIXmZ 8roSvu/ramtGcb4bzbNmWQdVK23crCd7q/ParQPpIoh95ZWzLVDM4V0xY liFokvTKvgcONxyQXOhj8heZjmdBvJs1enSAPndbf2fj6dcD2qiXKterl 9hcWGeSK8t+uiIDPmdjU+8seipsdjYrQ9TqfPSFAt2aTvxNXKhZHfsejt hxLZU2w5Je24vlr85ytzEUfKlA1Gih72FBv3I7orFWzmGxF+13yhs2luo dJQaIkkNTHU7AJCULskYRIbaVZPpNZer9TU1C+G4HCtSn1OfLdk0wGhFt A==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549488" 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=XKKRuiJtgfIkuiPdNgxISRiHfh202ogQ8Ic56YH569c=; b=TZQEE+CCjy3cuwS2sSK/lmFhT0v40XYxpGpNN64MFr/dLwbc53yRBNi9G4eqsETNzem8EeN+jbmzod+VizLnxjKJgf4DiUQdO65LARdpUyslCxRiZ5H+1CuGQTwXhgcwlXPG2IxcL8jvFLBX1xN/xb81Tr9dmmsOCnz3EiX740A= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 08/12] RISC-V: Add support for vectored interrupts Thread-Index: AQHU25aFnvCRMkHdAkuK/dtF93h7qw== Date: Sat, 16 Mar 2019 01:21:03 +0000 Message-ID: <648db8b832d23eb815ef0ba4f3e1b0c560e30cac.1552699115.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.21.0 x-clientproxiedby: BYAPR05CA0079.namprd05.prod.outlook.com (2603:10b6:a03:e0::20) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: 838bb714-0599-4d74-87e8-08d6a9ada808 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: hguGmg6DV6jn8/fKVk3AKRsT2dFoyJgp73gBLCGD7lR26nf1bKtvsLskHSx8jxPBowfi/5nL25Z2/PVE5Pa8WE+8UNQ9mY5lIazv1ZxyNrqmB4pKEakFbSM9cUDdJlKSZd6xW2qlQ37632k0CskSSU1Uy74H+TJaZ9hIXXip0ORZfVGX+p9jBdvLhOthiA7Oi/TJxPl+zNzrRUcYcobAXKLaTP2VkYw1LhIUDrm3EFt7YewBQ5kcrC7thYqTQj6q3x7dzs5LHooNvuv8tjossxc6FNY0i/74/5icugB2J9TWevMv+KFVpp2Iywhl4byXqyaSQvoIFj6EQN8VFRXHxujuJCWaatMvzUzXxmn4YVd6zg8NDPMi0jRoGyWRteELMowzuvw/J81Ma0E8TnzZIYtinuOeRCtc5sFPTzuMh/E= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 838bb714-0599-4d74-87e8-08d6a9ada808 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:21:03.5112 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 08/12] RISC-V: Add support for vectored interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark If vectored interrupts are enabled (bits[1:0] of mtvec/stvec =3D=3D 1) then use the following logic for trap entry address calculation: pc =3D mtvec + cause * 4 In addition to adding support for vectored interrupts this patch simplifies the interrupt delivery logic by making sync/async cause decoding and encoding steps distinct. The cause code and the sign bit indicating sync/async is split at the beginning of the function and fixed cause is renamed to cause. The MSB setting for async traps is delayed until setting mcause/scause to allow redundant variables to be eliminated. Some variables are renamed for conciseness and moved so that decls are at the start of the block. Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 145 ++++++++++++++------------------------ target/riscv/csr.c | 12 ++-- 2 files changed, 60 insertions(+), 97 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 073bdcfe74..a02f4dad8c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -454,118 +454,81 @@ void riscv_cpu_do_interrupt(CPUState *cs) RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; =20 - if (RISCV_DEBUG_INTERRUPT) { - int log_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - if (cs->exception_index & RISCV_EXCP_INT_FLAG) { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": trap %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_intr_names[log_cause], env->pc); - } else { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": intr %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_excp_names[log_cause], env->pc); + /* cs->exception is 32-bits wide unlike mcause which is XLEN-bits wide + * so we mask off the MSB and separate into trap type and cause. + */ + bool async =3D !!(cs->exception_index & RISCV_EXCP_INT_FLAG); + target_ulong cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; + target_ulong deleg =3D async ? env->mideleg : env->medeleg; + target_ulong tval =3D 0; + + static const int ecall_cause_map[] =3D { + [PRV_U] =3D RISCV_EXCP_U_ECALL, + [PRV_S] =3D RISCV_EXCP_S_ECALL, + [PRV_H] =3D RISCV_EXCP_H_ECALL, + [PRV_M] =3D RISCV_EXCP_M_ECALL + }; + + if (!async) { + /* set tval to badaddr for traps with address information */ + switch (cause) { + case RISCV_EXCP_INST_ADDR_MIS: + case RISCV_EXCP_INST_ACCESS_FAULT: + case RISCV_EXCP_LOAD_ADDR_MIS: + case RISCV_EXCP_STORE_AMO_ADDR_MIS: + case RISCV_EXCP_LOAD_ACCESS_FAULT: + case RISCV_EXCP_STORE_AMO_ACCESS_FAULT: + case RISCV_EXCP_INST_PAGE_FAULT: + case RISCV_EXCP_LOAD_PAGE_FAULT: + case RISCV_EXCP_STORE_PAGE_FAULT: + tval =3D env->badaddr; + break; + default: + break; } - } - - target_ulong fixed_cause =3D 0; - if (cs->exception_index & (RISCV_EXCP_INT_FLAG)) { - /* hacky for now. the MSB (bit 63) indicates interrupt but cs->exc= eption - index is only 32 bits wide */ - fixed_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - fixed_cause |=3D ((target_ulong)1) << (TARGET_LONG_BITS - 1); - } else { - /* fixup User ECALL -> correct priv ECALL */ - if (cs->exception_index =3D=3D RISCV_EXCP_U_ECALL) { - switch (env->priv) { - case PRV_U: - fixed_cause =3D RISCV_EXCP_U_ECALL; - break; - case PRV_S: - fixed_cause =3D RISCV_EXCP_S_ECALL; - break; - case PRV_H: - fixed_cause =3D RISCV_EXCP_H_ECALL; - break; - case PRV_M: - fixed_cause =3D RISCV_EXCP_M_ECALL; - break; - } - } else { - fixed_cause =3D cs->exception_index; + /* ecall is dispatched as one cause so translate based on mode */ + if (cause =3D=3D RISCV_EXCP_U_ECALL) { + assert(env->priv <=3D 3); + cause =3D ecall_cause_map[env->priv]; } } =20 - target_ulong backup_epc =3D env->pc; - - target_ulong bit =3D fixed_cause; - target_ulong deleg =3D env->medeleg; - - int hasbadaddr =3D - (fixed_cause =3D=3D RISCV_EXCP_INST_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_INST_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_INST_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_PAGE_FAULT); - - if (bit & ((target_ulong)1 << (TARGET_LONG_BITS - 1))) { - deleg =3D env->mideleg; - bit &=3D ~((target_ulong)1 << (TARGET_LONG_BITS - 1)); + if (RISCV_DEBUG_INTERRUPT) { + qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " + "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", + env->mhartid, async ? "intr" : "trap", + (async ? riscv_intr_names : riscv_excp_names)[cause], + env->pc, tval); } =20 - if (env->priv <=3D PRV_S && bit < 64 && ((deleg >> bit) & 1)) { + if (env->priv <=3D PRV_S && + cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { /* handle the trap in S-mode */ - /* No need to check STVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->stvec; - env->scause =3D fixed_cause; - env->sepc =3D backup_epc; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->sbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear sbadaddr/stval - * todo: support populating stval on illegal instructions */ - env->sbadaddr =3D 0; - } - target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_SPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_SIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_SPP, env->priv); s =3D set_field(s, MSTATUS_SIE, 0); env->mstatus =3D s; + env->scause =3D cause | ~(((target_ulong)-1) >> async); + env->sepc =3D env->pc; + env->sbadaddr =3D tval; + env->pc =3D (env->stvec >> 2 << 2) + + ((async && (env->stvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_S); } else { - /* No need to check MTVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->mtvec; - env->mepc =3D backup_epc; - env->mcause =3D fixed_cause; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->mbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear mbadaddr/mtval - * todo: support populating mtval on illegal instructions */ - env->mbadaddr =3D 0; - } - + /* handle the trap in M-mode */ target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_MPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_MIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_MPP, env->priv); s =3D set_field(s, MSTATUS_MIE, 0); env->mstatus =3D s; + env->mcause =3D cause | ~(((target_ulong)-1) >> async); + env->mepc =3D env->pc; + env->mbadaddr =3D tval; + env->pc =3D (env->mtvec >> 2 << 2) + + ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } /* TODO yield load reservation */ diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 938c10897c..8039eb6e48 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -435,10 +435,10 @@ static int read_mtvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_mtvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->mtvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->mtvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: reserved mode not supported\n= "); } return 0; } @@ -607,10 +607,10 @@ static int read_stvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_stvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->stvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->stvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_STVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_STVEC: reserved mode not supported\n= "); } return 0; } --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552700276805180.26707749717377; Fri, 15 Mar 2019 18:37:56 -0700 (PDT) Received: from localhost ([127.0.0.1]:35429 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yGm-0003Cn-PP for importer@patchew.org; Fri, 15 Mar 2019 21:37:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6W-0004DO-C6 for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0h-0006MY-AV for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:16 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4472) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0g-0006MJ-Tf; Fri, 15 Mar 2019 21:21:15 -0400 Received: from mail-dm3nam05lp2057.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.57]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:14 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:21:12 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:21:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699275; x=1584235275; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=x8lQNO5paCWkVCC0cFa1W9TgFUEqQQxK7FdGwjLUJ4c=; b=hZuaBq70wdJzlhFdYKQ4G6ymgQ+OhDx2rnosWLyeqeGiGyqatr0ZP8ri RvNbPBJbIIY01OPDD+jorqjUwGbX+hRsNfZIa615DWrtwioeV7Jqq/74K flAdxmGXOaWzq2cg3mZjTqDZ9sxZg8TKd6rBgSo+crEmTMRiAnAN5jzmW bKHBG0RnAPhk0UZD/VGZ87fJ7CbYabYCfQQLasYQJo1FZUHteRbfDzmmi TBQjNmJDUyURRpN6zFuWJgqQ6/6nrcbrq4MFohbYv1fjjsS4ZaQbLF8cm G6NhqJ3I2Xs3gzMAxRd2S+SziWaK0F52l+HuvQrXU+UGWOPlXIaYn1g2t A==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549496" 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=B0dn5n4dfO2443E+WQhSNfgevtRsGFiOhcIlKBS8vr8=; b=HuFLMWnEPSwtS7KwqVCQYRKNSqehW/Oa9QRimyIhaoEEjCj7O7EKI97q2v1Um8GX7IzcbllKV5LbbMWZkPnWMtlrng/k+u4etLk8coxUEiTH8yeutyocnJYlUFxTQHT07LZkbEwuk5tqeK4sWVotsXYTdNzT4T/YOkAOjvsUHkE= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 09/12] RISC-V: Convert trap debugging to trace events Thread-Index: AQHU25aKhOEDzmTOS029etJsSPLifg== Date: Sat, 16 Mar 2019 01:21:12 +0000 Message-ID: <7a94334023d7306864826e7a13ba41f8e53ba29a.1552699115.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.21.0 x-clientproxiedby: BYAPR11CA0091.namprd11.prod.outlook.com (2603:10b6:a03:f4::32) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: 6af2112c-5594-41c5-af01-08d6a9adad1e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(14454004)(72206003)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: ptY0lhbjkdBFgMLAAdMV+pUKmT2uw5R0UMGpATkQi3/PGFxgg/YhpmbpD6XXkNUxd16yvGX6aMBlBUgJTd1oedk67x6etjnZONt8UDqR8xVix0O8ZbGxiynYMRgQ2LqMasyy3YTGLnLSfARxmL3GVFAcmJRyKOxqyQSgUZduFNKefq7DlBn8OXnvGQX2QUJl2+Ybg72hlw6ga99Iu4z6KsJnuW3lrBKOUhd4DrMlOzBzeIq1VX9twQ9YcRvzJzBt4UBeWf2xFM3KcMuiibrZz6ZP9a0tqihgbSWltlj9aZW/Pn4cbQ3kAYkLpeOyAemoYaxspWq3r1RHr9C0uC0p/GxnJqSCeHq+PpnbWKhBGF0Y9+KaVguO4tE1wvb8kHXjGdA6+jVX07wE4rwcoTHNawQH+PKW0jQWNX53X1dGKGc= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6af2112c-5594-41c5-af01-08d6a9adad1e X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:21:12.0150 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 09/12] RISC-V: Convert trap debugging to trace events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- Makefile.objs | 1 + target/riscv/cpu_helper.c | 12 +++--------- target/riscv/trace-events | 2 ++ 3 files changed, 6 insertions(+), 9 deletions(-) create mode 100644 target/riscv/trace-events diff --git a/Makefile.objs b/Makefile.objs index 72debbf5c5..cf065de5ed 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -186,6 +186,7 @@ trace-events-subdirs +=3D target/hppa trace-events-subdirs +=3D target/i386 trace-events-subdirs +=3D target/mips trace-events-subdirs +=3D target/ppc +trace-events-subdirs +=3D target/riscv trace-events-subdirs +=3D target/s390x trace-events-subdirs +=3D target/sparc trace-events-subdirs +=3D ui diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index a02f4dad8c..6d3fbc3401 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -22,8 +22,7 @@ #include "cpu.h" #include "exec/exec-all.h" #include "tcg-op.h" - -#define RISCV_DEBUG_INTERRUPT 0 +#include "trace.h" =20 int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch) { @@ -493,13 +492,8 @@ void riscv_cpu_do_interrupt(CPUState *cs) } } =20 - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " - "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", - env->mhartid, async ? "intr" : "trap", - (async ? riscv_intr_names : riscv_excp_names)[cause], - env->pc, tval); - } + trace_riscv_trap(env->mhartid, async, cause, env->pc, tval, cause < 16= ? + (async ? riscv_intr_names : riscv_excp_names)[cause] : "(unknown)"= ); =20 if (env->priv <=3D PRV_S && cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { diff --git a/target/riscv/trace-events b/target/riscv/trace-events new file mode 100644 index 0000000000..48af0373df --- /dev/null +++ b/target/riscv/trace-events @@ -0,0 +1,2 @@ +# target/riscv/cpu_helper.c +riscv_trap(uint64_t hartid, bool async, uint64_t cause, uint64_t epc, uint= 64_t tval, const char *desc) "hart:%"PRId64", async:%d, cause:%"PRId64", ep= c:0x%"PRIx64", tval:0x%"PRIx64", desc=3D%s" --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 155269977123351.446887643442324; Fri, 15 Mar 2019 18:29:31 -0700 (PDT) Received: from localhost ([127.0.0.1]:35270 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y8c-0005Ub-Qb for importer@patchew.org; Fri, 15 Mar 2019 21:29:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6U-00047t-PM for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0x-0006PJ-01 for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:31 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4487) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0w-0006PE-MN; Fri, 15 Mar 2019 21:21:30 -0400 Received: from mail-dm3nam05lp2052.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.52]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:23 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:21:21 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:21:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699291; x=1584235291; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OoDBb0gRrp8x7pFH1PJ7BMAIZYU656Kx2XUUu0aLtDM=; b=qIH0XL3tTEoEGUu2riCJGqidyN/KbH2WR4FiBxhI5pU4iHrVKAHgxjuo xIqj3XgfSWqp4GzJXtTwaU84z9ziJTw+NIUFr8bdMaMWHAWBvDCJE4n65 vHOsuIhlqgQdvjoyg1Be3OxqA0eFedynTLLhkQPHVkDRtkOMGss9wmt+t 65DDaimi7wBRlC/sHBHrvCdmHlmBZQWjmwr2np56OyP0X4vgej+YvVxnZ X1KjaeHn9v1m83Hjza6gBxzgtUUxPDzFZhAS1y2geqQmoPwk+D8iVglmu wsc7BaZB6nkwocGfKWgweeVGCvdhfYsfmTI+pHv88XUbSXx2kcWPDUTOQ Q==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549501" 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=ZJiOG/RdBCqs5f46FbeU/Qj00XbCvOvsG7bke7aAofc=; b=oq73cJd/xZDYeIcQ1kx30uV0VaGXqY6bSesROTbAaBRcDhYAJ9Q1yI/4yR4RyETWdTXlWCys2L22WtqzzQxwFVpMyzlxiodjKrj4M+IHkb3f08YVsgYAAdHXbjbmnksgBUmdckC74UN1j/QBROZ36EcYJsKleOCFQC1NY4NnGIk= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 10/12] RISC-V: Update load reservation comment in do_interrupt Thread-Index: AQHU25aQCMtUXtEuXkyBQ2tDm0ksYg== Date: Sat, 16 Mar 2019 01:21:21 +0000 Message-ID: <5acd86e676e5792aa95c9067a9808743abda3409.1552699115.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.21.0 x-clientproxiedby: BYAPR07CA0021.namprd07.prod.outlook.com (2603:10b6:a02:bc::34) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.45.64] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bf2b5767-5ed5-4147-b2f8-08d6a9adb2ac x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(4744005)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: gUeVpOY6h/Xv4WBpD9y5Unzma2Xjyl9WTPKtesDXhq4KSfP0Rvz8U8FzF1EfW5n28j0aRn56TQdFeALFCaCr2UzqiBrsr2b5OvzHrCAJeGIG1CkJp7tKOt5iIwgTpCOBlXUb6VV7ow0XHOtDMCFoGiydQDg5UWFMgB5TLu/0HYSR9IGImirZV080aZvJWODJJs0wthIAXtkgTQhvYYMrEqwKQ96zaVIQqoJUeJT3/8Al7sg5/cNRLJSUsxq745kqNXkW89OrfQknGfHOV5S8tKFHjpDLwScMt+r65WvqWraCZGC5OHD3k4I0Y3GtzAA1BaSNUMgEXd3QtRNT/+FaOV1nIAnOWIWLao2LkjaSQs2be3FZzdu0drYQxh5H23I18kCBMPftaLYV89ZSX5XpsPcWt2BhUE6UlYC3RNUy/Y8= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf2b5767-5ed5-4147-b2f8-08d6a9adb2ac X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:21:21.3564 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 10/12] RISC-V: Update load reservation comment in do_interrupt X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 6d3fbc3401..b17f169681 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -525,7 +525,13 @@ void riscv_cpu_do_interrupt(CPUState *cs) ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } - /* TODO yield load reservation */ + + /* NOTE: it is not necessary to yield load reservations here. It is on= ly + * necessary for an SC from "another hart" to cause a load reservation + * to be yielded. Refer to the memory consistency model section of the + * RISC-V ISA Specification. + */ + #endif cs->exception_index =3D EXCP_NONE; /* mark handled to qemu */ } --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552699774793589.0913024155648; Fri, 15 Mar 2019 18:29:34 -0700 (PDT) Received: from localhost ([127.0.0.1]:35272 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y8d-0005Uq-HO for importer@patchew.org; Fri, 15 Mar 2019 21:29:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6U-00047y-O1 for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y0y-0006QW-Rl for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:33 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:4487) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y0y-0006PE-F4; Fri, 15 Mar 2019 21:21:32 -0400 Received: from mail-dm3nam05lp2057.outbound.protection.outlook.com (HELO NAM05-DM3-obe.outbound.protection.outlook.com) ([104.47.49.57]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:32 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:21:30 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:21:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699293; x=1584235293; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=u74TnXoHqgJaMI9YwC42BRc60BX/MkgX5r7bYbIyldk=; b=QxxZpm0+lFhLmeH+ml7XAuvdiFuaYsb1LwpAqpHewy3zNUgGsngby/zd G0bN+Vdu8vW3IO3/0ndx3JfZs9sJwLp08SgwU7+Q17YehKfG1AlmtWZ/w YiZUL07CUPA8mt9cJk4/XwwlWJFK+HJfCwSZe/XoGdLQIB8Zajw0t6Azi bx4BbdqTe8cCmcFMO6cMzrPY3PlMd1ZTmoPIOPuvswmPNhiMnZahpv4Jo JxqpHWKqJqVjEN9YIgwaMxgiA1znkjDHd6Yp0kU97atbVRwqpk+GTrD0S vgJIbHC1R7lZh+26G4i5zfWHgDpipH+avdhtzsqSFN961JXSeVUO9yIn8 Q==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="103549502" 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=OIgiKuH00UQNf5djeqV/Ev0+4HL/0E8uTpexQKP+cwM=; b=VLe4Dp0kr4TcCtHXNZbE78+nOZBds7pbVDN/mdMWSdZCSOejzE3A6ysiPrPHYrtnf1UrsCyfhM9Xjq1no7XasHjELiDZMlR2N8fPMd6YoSJ1YzyRxTG/y2PKGpUqcJNY69R+WwbBJWo+1WbWKWs7+wW8INbEpK9u4bVKqt4fzKE= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 11/12] riscv: sifive_u: Allow up to 4 CPUs to be created Thread-Index: AQHU25aV0/HA9wQnfU6rSIigQWcfSQ== Date: Sat, 16 Mar 2019 01:21:29 +0000 Message-ID: <5aabc96cb72f00354da01b1527975c62c91f1f00.1552699115.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.21.0 x-clientproxiedby: BYAPR11CA0081.namprd11.prod.outlook.com (2603:10b6:a03:f4::22) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) 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: f876777a-19db-44f2-2c22-08d6a9adb7c1 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(4744005)(14454004)(72206003)(14444005)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: 8HtUU4oNUUKpcS3Sm/TFrUfyZ/v+AZehVBFRnnapDT1GRqCNyEI3bEg7yaxRssbyAUL56ESVC+fIsqkNUqSevPJudZGr7JLpGsOm3lUvuECAHb84INMkvYaNeYpkqnsjTmQdPRSoGQtAi44vHtldPVazLylWPJq/6NsFxPOLFFjOt0+TpxyN3OWiEHLAaWVrX/M1U5B5cE4aK4LxG1T8HNanCfIzJjbKgnz9uemS7B7zI6pWsAxo5rjc7bmQcFe7FTVm15jKjSRoRB0j8utGC59z/1GDf6Hgc3jSDAp8qYsIV0DSNWUtSr3f/tBW8JR7ors7r8MrG66ErD8seug+5Q0FK372AAE68ewaCeK2nlX8ngNwCWxZR/TFBhlNsREdhqrUB8Akye3mOhj36ZHJWke16hOmN5PxCzBzxgAj82I= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: f876777a-19db-44f2-2c22-08d6a9adb7c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:21:29.8741 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v1 11/12] riscv: sifive_u: Allow up to 4 CPUs to be created X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- hw/riscv/sifive_u.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 7bc25820fe..3199238ba0 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -398,7 +398,10 @@ static void riscv_sifive_u_machine_init(MachineClass *= mc) { mc->desc =3D "RISC-V Board compatible with SiFive U SDK"; mc->init =3D riscv_sifive_u_init; - mc->max_cpus =3D 1; + /* The real hardware has 5 CPUs, but one of them is a small embedded p= ower + * management CPU. + */ + mc->max_cpus =3D 4; } =20 DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init) --=20 2.21.0 From nobody Thu May 2 07:37:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552699950282233.57176096858177; Fri, 15 Mar 2019 18:32:30 -0700 (PDT) Received: from localhost ([127.0.0.1]:35341 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4yBV-0007s7-6u for importer@patchew.org; Fri, 15 Mar 2019 21:32:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4y6R-00047y-2V for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:27:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4y19-0006WB-0P for qemu-devel@nongnu.org; Fri, 15 Mar 2019 21:21:43 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:25890) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4y18-0006Vu-I0; Fri, 15 Mar 2019 21:21:42 -0400 Received: from mail-dm3nam03lp2050.outbound.protection.outlook.com (HELO NAM03-DM3-obe.outbound.protection.outlook.com) ([104.47.41.50]) by ob1.hgst.iphmx.com with ESMTP; 16 Mar 2019 09:21:40 +0800 Received: from BYAPR04MB4901.namprd04.prod.outlook.com (52.135.232.206) by BYAPR04MB5989.namprd04.prod.outlook.com (20.178.233.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.14; Sat, 16 Mar 2019 01:21:39 +0000 Received: from BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7]) by BYAPR04MB4901.namprd04.prod.outlook.com ([fe80::1c45:32d7:98ed:4cd7%6]) with mapi id 15.20.1709.011; Sat, 16 Mar 2019 01:21:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1552699302; x=1584235302; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=8QPahSntB17mOHQQQDymU6Bd+7o0p0OrEkQ1mlvsTy0=; b=VR/q88G4rsbLytwig+5WnxZbmbBf7lAYCmJdH72sZM6dItUhydWwMpq9 xG2wQHV492TFySNtv+PHOlb6+4e4V07oL0EuQTnDtLjT6bN/L1jedYlGk kxLQu1IQcNTgIHg8grTbrwX15U+kg9aUFeGGPjFH5M2Ja32wMXxZvUw6T h/qqRIAfOt/Uw2ksxaZ9r4wyco173VyVLbip7RZo65kRf433QbXVJr2BL kkl8I9CyuP24maPMfuOzq3UHavhBb2nSRmhOPny6xmbDEtKlffdh3goN7 UmN7uL973PAW4HMciGclOHgw5UmDYYb4EQFHxG1/1+jebmIXVuRGDasge Q==; X-IronPort-AV: E=Sophos;i="5.58,483,1544457600"; d="scan'208";a="108600749" 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=HXYrFWREaMqrff89Ydml5YpAqiB3FWdE8V5a0AehFak=; b=U1n5ZNDmIcKWGmQr6v4K5wWoX6yhYFCVoey9LYmm8LyKULDf/FdjUlT/BUNSuN8tm1Q40lQUHR3/8plu8n1sdGV3FzS7RnKw+JUDzVvpdRWRJKog3jU4k3sTOQ0HUpQshpUGVgnbox6zG5YVZAts1AZhScw65uniSZCs5wsny8Q= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 12/12] target/riscv: Remove unused struct Thread-Index: AQHU25aa7txH+oPDt0+RWNqWzi7WsA== Date: Sat, 16 Mar 2019 01:21:39 +0000 Message-ID: <0a131426e4b8d02a2923df22379df81c8314c714.1552699115.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.21.0 x-clientproxiedby: BYAPR07CA0020.namprd07.prod.outlook.com (2603:10b6:a02:bc::33) To BYAPR04MB4901.namprd04.prod.outlook.com (2603:10b6:a03:4f::14) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.45.64] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4b81e0d6-4543-4348-1243-08d6a9adbd40 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:BYAPR04MB5989; x-ms-traffictypediagnostic: BYAPR04MB5989: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09781D4C35 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(366004)(346002)(376002)(136003)(189003)(199004)(81156014)(6506007)(486006)(8676002)(110136005)(6436002)(256004)(36756003)(102836004)(97736004)(6486002)(50226002)(86362001)(2501003)(25786009)(44832011)(76176011)(6512007)(52116002)(386003)(8936002)(118296001)(186003)(316002)(66066001)(54906003)(5660300002)(53936002)(68736007)(446003)(4744005)(14454004)(72206003)(476003)(2906002)(2616005)(478600001)(6116002)(305945005)(7736002)(71200400001)(26005)(4326008)(3846002)(106356001)(71190400001)(99286004)(81166006)(11346002)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR04MB5989; H:BYAPR04MB4901.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: w4wP1EXrlbNMmzSySxysZ31KEo76u3P6ORvua2aWG5/YZvyA1vkubiNn5zOuCFc07zKxesbaWKJVFrxkjxmj0ap4CdGacsX7Wl7JmclcEQ86TWPj74eBtR14xlqZI2C4EMaQtwyYs/hTzyO9lDnAkR6l71XrMLrYC97lPSZFI34Dz2fFqWVeh0Px9OVUVBkz7wWwm6AAqf50yP+WGn303NOVMFTukHQGrPpyQACfmFTkove3YCn364oRGXTwqxrt+tYQX1Aby1L9mGHwc5F9H/mbtYoNtx6azPYt30JAq8cubir16E98Cl22R2r82lMBr/GqGNKUbUo4P8gWIFe6cJdUfgLpn89Nz4+x6N2DT1llXp2TwpWj9504103JTj4p20PHGZ17+VHSSS92nYT0zmf28HOoT4RV0Go+bbzOuK0= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b81e0d6-4543-4348-1243-08d6a9adbd40 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2019 01:21:39.1134 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB5989 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 v1 12/12] target/riscv: Remove unused struct X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , "palmer@sifive.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/cpu.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index cc3ddc0ae4..568c4cd637 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -80,12 +80,6 @@ const char * const riscv_intr_names[] =3D { "reserved" }; =20 -typedef struct RISCVCPUInfo { - const int bit_widths; - const char *name; - void (*initfn)(Object *obj); -} RISCVCPUInfo; - static void set_misa(CPURISCVState *env, target_ulong misa) { env->misa_mask =3D env->misa =3D misa; --=20 2.21.0