From nobody Sat Apr 20 05:42:37 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 1549674123168291.4824998079755; Fri, 8 Feb 2019 17:02:03 -0800 (PST) Received: from localhost ([127.0.0.1]:37488 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH1o-0006Cf-8D for importer@patchew.org; Fri, 08 Feb 2019 20:01:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsGzh-0004zf-Do for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsGzd-00060v-JR for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:44 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:1225) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsGzZ-0005td-R6; Fri, 08 Feb 2019 19:59:40 -0500 Received: from mail-cys01nam02lp2056.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.56]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 08:59:31 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 00:59:29 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 00:59: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=1549673978; x=1581209978; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=EJhwCJTuNK0s9NF5ThrN7bFUpo6FybvB83vIEm6flhU=; b=TNL19rD+nGZlhMekZ6/w4XXt5F/ZaF/6+xvNEAaZE6NJwAKaG0HhthvG 4uanqGGP/cVmJXdNdpHPLq0Wbnh5Br1Net0BF4NrofE6ANeS0APq3q0eO X7C4Dt92D2lWpJ7N2nt+U7769LqPIHE2JPf29R+GxgPJtvxwNVclEdnDS FJ21LXj917r9ZUDvHwyCtjJViKs6VhkcZz5MiiipCsB1Hk+D1JicQHqFh RlS9rcoVK3HZcMExXh8UbmXMulzpo3axqiuD4BaBgW+1bd9/SKvEePAq4 ufq54seSW8yl/s4xm5WjEvY1yVM9bMyiqlTFyOBV9u6MuzzH5MbV5BsDV A==; X-IronPort-AV: E=Sophos;i="5.58,349,1544457600"; d="scan'208";a="100821362" 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=GTTd05JqdcCCbZtMAgDdtM6kwkxp4U5GeWBxOjYfc8E=; b=nzpMRjTI+8voP5kb4PX0f+91NQyQneSTIKMayzx9NvLxAkpcavAKq/caLfcnVemM8DpwFTESnE0DL/42Btv+u3AhXnG1VXUijOS1b3qYT3GhDowb+2kq9TiqrrUH1B9YauK6jNoc6RNrYcP+vDeAgpNL99TZKgIoWirIZvDjcQI= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 01/11] riscv: Ensure the kernel start address is correctly cast Thread-Index: AQHUwBK13STffwFQRkqSN09t206+9w== Date: Sat, 9 Feb 2019 00:59:29 +0000 Message-ID: <8c6435dc844f00f14437dc1ef185ccd28e5cf0f9.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR04CA0026.namprd04.prod.outlook.com (2603:10b6:a03:40::39) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:vv7w4dE047zvikcaNcxJsQi7AuAOZMppiTGDOMW6rAvjMTp3n1o6QTEhNckAPQC866mfbT6fwpDIh6M4RZObsStxVXOGwFybJzOfmXog8akzjOTWU3ZEHttBelYsJbMgOB433SpysfkT0pGXu5q6Ee42IpRMBUZwByNwL2xYmw+2vJYcqHf/GwLOdhOXMyMwPyQaPQhg1ZhZF3T65Hq7NHbAt4AcTJSQ1FK8EFngN1kVeCP8bypaTvUFkCgs+/Fp5ldMvg3milgG9OuiHHAW9I8QxezNydFn3pX1mzq3nzcmJZ3ltfxqvBTgaK/Oeh8odDgrh1vXKD2DwPGqGBtD7TCEHJAoOycJpBmWpo5IKv2Wm94RhgXR70G+6M03QXeBiTHOxa+1bRCsApkn3AVzPusNuKcmou63nyKEEuW4ozRRqd0zcepHiZv5Bz12vdR7wfhlEWoTQ+8MbtXRsuNXjA==; 5:sESoONy9AfmHSgyVEOr9ah6zxctF8gHUwh2yg36fke421S3k+pHtPHvDxjuBKJqLRVa7e8389OkPmuxpoQPaEOV2VKvvjrVh1nTLgaL0BUd8RH/owM+H/lBL6d+4d0ZlslWHA+ccJ92LsyMPZKpWj47bYEshP2NA/bG+0P58FEWBDcJOo3DWTy2SGsqNDt+aZgKPsYn3IiV3VHcTy1N8zg==; 7:/IJOoinEl+rtJK9vGe+7ii5KGNU+VdIFYASQXE+US5t79qyv84uKANvvlTABdeLgKuEzsl5Q+ahLSvmYNCwbago1w2N4+YZBA9xbEwUY+aVIF8XJB15do8zRRZ3BM8i5883yJMqIbmq5W26Ucm/XDw== x-ms-office365-filtering-correlation-id: 92669010-995d-4103-a0eb-08d68e29d800 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: N4++IfAbp1x9xUu4b48nStyVloEh8xuW9xIhQbQw1EeO4k+bJX4pciGnB5J9yA2Q/8ZbdIcd0aDUmroqmRSKVF10M6b4l9d/A/1Kgy6alFUE7gKQh/lSFajDn38N5/Zs4ShNWn9U0X9c2TF8zlglDNnj+cgFWL631g91Yn9nkgCcnnYtfOPi1or4g98noK+GfIEGChTEHUTGBHVdfg4tU4s6tWOmKjGkdU9ZFQu8blnA8kWLFMoWuULFpN6krQAggajPgQ6W3EHpe/pIwQ0K6iMv6UkoRgUB+LsyCzvpYWaBXbaDDphVHNStgLJLLj3fqdGisHJelmHKE/ZKf0dZr1n7WCgGnE1cgBLVRudA5JcRcinuJp5cMJ8glDhyxrdsW+voHdBTPVGWA4XIy9N3vZPW1G5prugX1KEWi4cD1/s= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92669010-995d-4103-a0eb-08d68e29d800 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 00:59:28.6255 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 01/11] riscv: Ensure the kernel start address is correctly cast 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" , 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" Cast the kernel start address to the target bit length. This ensures that we calculate the initrd offset to a valid address for the architecture. Steps to reproduce the original problem (reported by Alex): Build U-Boot for the virt machine for riscv32. Then run it with $ qemu-system-riscv32 -M virt -kernel u-boot -nographic -initrd You can find the initrd address with U-Boot# fdt addr $fdtcontroladdr U-Boot# fdt ls /chosen Then take a peek at that address: U-Boot# md.b and you will see that there is nothing there without this patch. The reason is that the binary was loaded to a negative address. Signed-off-by: Alistair Francis Suggested-by: Alexander Graf Reported-by: Alexander Graf --- v3: - Add steps to reproduce v2: - Remove old comment hw/riscv/sifive_e.c | 2 +- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 2 +- hw/riscv/virt.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index bfc086609c..b1cd11363c 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -74,7 +74,7 @@ static const struct MemmapEntry { [SIFIVE_E_DTIM] =3D { 0x80000000, 0x4000 } }; =20 -static uint64_t load_kernel(const char *kernel_filename) +static target_ulong load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; =20 diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 2730b25b60..7bc25820fe 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -65,7 +65,7 @@ static const struct MemmapEntry { =20 #define GEM_REVISION 0x10070109 =20 -static uint64_t load_kernel(const char *kernel_filename) +static target_ulong load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; =20 diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index c66ffc50cc..2a000a5800 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -53,7 +53,7 @@ static const struct MemmapEntry { [SPIKE_DRAM] =3D { 0x80000000, 0x0 }, }; =20 -static uint64_t load_kernel(const char *kernel_filename) +static target_ulong load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; =20 diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 3e8b19c668..fc4c6b306e 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -62,7 +62,7 @@ static const struct MemmapEntry { [VIRT_PCIE_ECAM] =3D { 0x30000000, 0x10000000 }, }; =20 -static uint64_t load_kernel(const char *kernel_filename) +static target_ulong load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; =20 --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 15496742964961020.9775091065738; Fri, 8 Feb 2019 17:04:56 -0800 (PST) Received: from localhost ([127.0.0.1]:37504 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH4c-0008E9-DL for importer@patchew.org; Fri, 08 Feb 2019 20:04:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsGzl-00051k-DT for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsGzh-00063o-DL for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:47 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:21429) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsGzd-0005zU-Oo; Fri, 08 Feb 2019 19:59:43 -0500 Received: from mail-cys01nam02lp2050.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.50]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 08:59:48 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 00:59:38 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 00:59:38 +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=1549673992; x=1581209992; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AOaFML7kj36rjvBCxvBKU2+Olafu8d1NMlOnDxuHXWA=; b=Bq31ubqcMrjm3S8Ha2YmzEn/q/LA1JXwTOD5IfflUI/mbKFj6Wqpl06A APRsHpVw83ZacjBPuwNXFyCDkufcgTMpAFviXG7Mqvlx5Z6NlSdN5YIpL HUHXRRLPJQ0SYsBwUJ6HC+/9C/CDxYywJQS4kNMiuWbz0thg1HBZ8ue20 SRjMxiJs5nhWVhA38pa8qiibGjeyyU9teTENp9aBZ+DMVP1D4KBdmjI/W SeTm0C680ziLNqHA7QqsmGmadpoRFeNcdqk8VWkTgvoJx0GQSAZZE0VP9 fOcKnpvUMR+ZwgdaOPH7DA9Q8pcZYeFLGZiizoKN97Hjwxu6vfzLxCeWt g==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="198999429" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=McK/qEiyWRH1yKxgD4bsiQmUaVqmhQgC6fbggKB8x8Y=; b=nZal/Zbi6B4J4Q0Mt5fwcy9TTvhd4SErLTUZdMPy1GrHpij0NgI1SKLzZ14qllhgKLrPCYm8ppiaFQqv5BMn8I2Ns0PkVcDdq1M1Lr6PW1SNorXi90BL920UaTtHEuQ/CgzzOwfoLOQGju+aBqE7Owh/0NfXcupWDRJPowaZWWY= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 02/11] riscv: pmp: Log pmp access errors as guest errors Thread-Index: AQHUwBK7jOTr2znGkEqtlS2C/dKHeA== Date: Sat, 9 Feb 2019 00:59:38 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR04CA0031.namprd04.prod.outlook.com (2603:10b6:a03:40::44) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:0/RMWdDaxhyCOeUHNujKieLQoNu2Sr8YoTF0vjkv6aaMvFXKItIFUCys9WLfEY+f/NKK2vlyVqOJ3/RTWeJeBuqZkis1JfGX7c0xKU9GxHRpa/i2nAOaiMrrv8BT8P99Za8d5ldyLDwrDxu+sUFquG90JszinexR+kWp9IEW64f6ilOB5CJmcBR7vyRe0P3X+Is4K3kWCVcB3iBGThtjIaPqEpS3fx02hfnJYU1TAjWiLfyaqr7/ppvvF5Ec4/Ssun1Hl85x308uzS/5uEEa5adgVMbEHJWBywtqODpghwreHHP/M80ew9ZP8K97FByvPzkIY2AcYs1QPMj6YH2xO8GO9O2NYYj+mswbeUStCD//dAe/DirFmMsyaD+11uzwj+V2JT5sk562cbCCClpfBYvy4ePIkhN74yj39XZNnSAEcvLM374EQM8JLjgheWaSrk9wf0zPkOvI8aH1Gb47Og==; 5:X9vICU62vLVuKEdxa+MMuWp3bqR2QbpZ9UXmlkpUW644mRWVDLzhU4k+YpbOI46FWCUaFLySNK4LR19Y3sCXetuHfgYLUMIH1+AoO/UDqhFJg8UIt9iCtUUzya3wRoNVNXR6ADFaYXvT6e9MYcCmrm7+jetEfkhPgMUTJb1yDy6fvotZz6/b35UALTWxGM/qoDYBz/tc6fnpLs4o0+QCCA==; 7:fSBHgjK7B2DLeJC1OTBIzknNFJMoedmIBfPKTSdf/CzQKmEhYm4NEz9Os30djVJk5jvsV74fqdba+gDq8n+z1VhrCpE21ssG6wSN2CvBicw7BFy0bvxXBFznYXWKUks1FBpD6PCym/PkiYMMRlDo4w== x-ms-office365-filtering-correlation-id: 0ba7a395-375a-4186-4596-08d68e29dd62 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: bD78bJTHV9VM1HtVDRKtZDhCdgpKmld4olHgDWunn5wl8DHxWixTjglNhowSa/C+MiltBiSCh0BtkfFHZ+KQfd76m/Us18BKokAj42uWyIWfiOymolELzKOfCv+BUkf8ZUNVYRq3lvoGD3BDVRMeuhTCsjpQleJbG4sKtCJ0u8k0BJvslWvD1chp3PD8kbR+MBbQetpTAmKQFXMe8bQ0koCrjhnpbS1axGUYNRqhz0AXr5E7f8nq7K2d8Byt0C2axgugaBx8WQBg6YkB/rMFtpmrTVti5IPp2ZFVXYp9VMH8FE9jNoB2xD8WdsDDK6ONnYWZF+gREiB6iLXWK3OgdGam/VpDfSk8zqmZIS9FVxoUgUxyWVgfqCIbYTXe8+t9VWGVpB1L7r3K1BFCIIc5x08bq0Xz0F3X3yHONgG4ifg= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ba7a395-375a-4186-4596-08d68e29dd62 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 00:59:37.6550 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 02/11] riscv: pmp: Log pmp access errors as guest errors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- target/riscv/pmp.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 15a5366616..b11c4ae22f 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -113,10 +113,11 @@ static void pmp_write_cfg(CPURISCVState *env, uint32_= t pmp_index, uint8_t val) env->pmp_state.pmp[pmp_index].cfg_reg =3D val; pmp_update_rule(env, pmp_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, "ignoring pmpcfg write - locked= \n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - out of bounds\n"); } } =20 @@ -249,7 +250,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulon= g addr, =20 /* partially inside */ if ((s + e) =3D=3D 1) { - PMP_DEBUG("pmp violation - access is partially inside"); + qemu_log_mask(LOG_GUEST_ERROR, + "pmp violation - access is partially inside\n"); ret =3D 0; break; } @@ -306,7 +308,8 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_= index, env->mhartid, reg_index, val); =20 if ((reg_index & 1) && (sizeof(target_ulong) =3D=3D 8)) { - PMP_DEBUG("ignoring write - incorrect address"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpcfg write - incorrect address\n"); return; } =20 @@ -353,10 +356,12 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t a= ddr_index, env->pmp_state.pmp[addr_index].addr_reg =3D val; pmp_update_rule(env, addr_index); } else { - PMP_DEBUG("ignoring write - locked"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - locked\n"); } } else { - PMP_DEBUG("ignoring write - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr write - out of bounds\n"); } } =20 @@ -372,7 +377,8 @@ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint3= 2_t addr_index) if (addr_index < MAX_RISCV_PMPS) { return env->pmp_state.pmp[addr_index].addr_reg; } else { - PMP_DEBUG("ignoring read - out of bounds"); + qemu_log_mask(LOG_GUEST_ERROR, + "ignoring pmpaddr read - out of bounds\n"); return 0; } } --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674198896203.08108295381555; Fri, 8 Feb 2019 17:03:18 -0800 (PST) Received: from localhost ([127.0.0.1]:37490 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH32-00074X-Pt for importer@patchew.org; Fri, 08 Feb 2019 20:03:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49418) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsGzn-00053Y-K9 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsGzm-00068F-75 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 19:59:51 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:21453) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsGzl-00066Z-KM; Fri, 08 Feb 2019 19:59:50 -0500 Received: from mail-cys01nam02lp2057.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.57]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:02 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 00:59:47 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 00:59:47 +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=1549674003; x=1581210003; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=eQHutzBkg+MuK+9r7qFhvRqlUbAmjuoDuycfdsoW7JA=; b=TrXQFvxMle+cmPxvjNWJOYki6FiSuY892MYSYaRwmokTqY0W/a+5qQCF 1pZhkxUT1B1C7kbcb0+cbB2ggliXA5Zv+mcKA+lzEhbK6QhOG9RPhL5PK As7FrWmfaKD/ixHbRHfIyTVyPsbdBE62XIaccBAz6Q95sZLZD4BcMP9Ml tkhBbnYAAU4OcB/F4Na7FpL5JTxhoD0w/g7A/iCfxe69bwIJF/mqNLIof hZdoV+PpYMtvb9qthCoMCJmbyUXrWboa4kltQ0UGT4BTTaN6YPvFbOx4q yXNvowOGXlEpYMTO87zXRD9BDJOPeJD+AFzYSAsmMbHBtanvCMIsD1Eg4 g==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="198999454" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fV5SB8InIRHifiGcqdZUxttnMmEUfryYqpgS4uJJi9k=; b=aiTVf3frhSno6t5NFdKBJWihz/Y2jqkxPWXzprmY2H0/2Q2Zsah9e0XSksQYuRwshS1CaJ2XNkJxeJkwwhv3T3dSpZ0hYcvO3TlCukLXXlFnHDSIR3SB50HgsC60csuI9QAFSMh0JvXm/PSpEq/Fo6oNKSA7dbBms113hNi8h4w= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 03/11] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC Thread-Index: AQHUwBLAg9Cek6sczUOdM2721m37XQ== Date: Sat, 9 Feb 2019 00:59:47 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR04CA0027.namprd04.prod.outlook.com (2603:10b6:a03:40::40) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:8EwhbvtAv94cPSvynSJObRfMFh06A68EUA1S0y9sOEPa1s7d3MLl2n52dndR/R4ayZ+9ZrjZCZk33hVirat1x3PDc07miuVsWAvyRrlzdYPyrk36+o1V2TqwmlTIULpeMJaR1fZ9dS45ScswvsoIGV3Ntwt7UZPUKa5diGBdNbgzK767dYR/WzKRSL7vznDz9iERvdYRXaOMbsY+rZPfH357QxJcExo4ze13i1ad3/BRKSyhUbaxnFPZ/iFGAr9HN4MRxgSU2vKA0rWesJUr/U4yYjAe4aipwA4w/JhDmA9WWkgcyj2Su2XDrI2vpX39N0fFQVfwHT9f39uJxuKs1kxKVtKGDkaPScEylEGB6jl4sUuXaiFe7pkPLoym5EZSNID1zrz2gb7pNTF+5ypmisgy85p9RIlteRvkBUyxgh4sraqrRCm/P+bsCS7SiamipZgp3XQ1le7qvVpVaHxVNw==; 5:hvSJM4eIo/f115eKe+DWIsciN92Se8djls9QVLWagqpJxMFiKn3gVc30k64e9CpXV/HzAD0eZnt797xKMFibJjuMm+OkwxWgX8wLLV3gE2+ydlqLAz2B5/TKMMjDSlVcEuSloYDYrFgz1DB1e83wxRdJUw86tV27ZZdthvSoDh7P12tdv1+lkOfm+/aVUIeMvgrtoGvveN5lKcC5VErcRg==; 7:JxnUiPaHPF8M+r7HsZdZ+0iSJeBKya99WHpy2LYQYQv6qsQHVZ7Sx5C++uemwuzKlkjJpcDgL0guQVQ6JIxdCKvhbBEyXpjY70eB3CAkmI0xY1Qq9Ogtl16f4Wek6sQmBN5RIDwDgyBv4ZIICt+JOg== x-ms-office365-filtering-correlation-id: 3fd10182-fb16-4c1a-c987-08d68e29e2ca x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(4744005)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: iT0O+AsGIjt3KxeIEmG9LloK0Pq5t1pMEPeNUFGnpjJFtK/tiHCfykRFxFjzMfUcbsWvyxaeX+No9eafLV1BoZ5tnblREFnPJUCJyDJ7v1W4OXdvUpM1Who+h7rRi+G0xMJ9qH4lhUGI6LFDrKlNKWCDvL1VIpoGWlkX3ehixS2VeVJ8E+vk4l99/eWC+TwYWZPyoO5POPPJof2aFYT9AYyKfT+FBEp/ObpwqPXIe6w5bR2boF+EnWpFDkfxv2du3GoOr3VOdeMgc5jYrXBaqER7HL8wGtdUJrrBu9Pz1WJOdqsb+Uu9kuceyezahT/zFClqD5mBn/fhF2QFRIdLhRxYZI8QU1RAC3w+zeOci8JjFFx/WHIvNnQFHf3cvdbSTSPdsWFYL8iPlkqRxMVESRbEeUfhVF319+SgHauceaM= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3fd10182-fb16-4c1a-c987-08d68e29e2ca X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 00:59:46.7276 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 03/11] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index d12ec3fc9a..b859f919a7 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) p =3D plic->hart_config; while ((c =3D *p++)) { if (c =3D=3D ',') { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); modes =3D 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid +=3D __builtin_popcount(modes); + addrid +=3D ctpop8(modes); } hartid++; =20 --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 154967429590554.851123795490594; Fri, 8 Feb 2019 17:04:55 -0800 (PST) Received: from localhost ([127.0.0.1]:37506 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH4e-0008Fa-Q3 for importer@patchew.org; Fri, 08 Feb 2019 20:04:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH00-0005Eh-VY for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsGzv-0006Ge-Vg for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:02 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:21480) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsGzv-0006F8-LI; Fri, 08 Feb 2019 19:59:59 -0500 Received: from mail-cys01nam02lp2058.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.58]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:16 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 00:59:56 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 00:59:56 +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=1549674019; x=1581210019; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/ZV95K4nHrfbwHh0leF2LpjeFJuS8bDij/lV00ecMwo=; b=dO1lik0LGhHtoR+DK/XOgahCumhzeI4fxFDUic4ghFDo4cao9r+Bk2FS XGYIRgJDl240R/M7hk7d6/49ZTzYhyrJUGIM2ZST82C534U0p/Pmlj0jj UjXaCOwUXn1iJX+44jo807qdGQF9gVdXpDj/XZxR5sSVBbVikUQNnqDiC 88ZwEekqXFtDe4TR7A9A+n8lNLczwCb8Se09JsOS+N1FcgjmL3pTtMfJL uNOP3glau4iq1pnQRPW6xZE+OHvfEeYe7LgovsOD1k5V3XzBSdUGsoXpr JyR+bhh7e3Z0yCHqLCSBSfikcAqKzaiJHFE5RQdXve1078n3yp8iWaM1R g==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="198999504" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Oe/7r60kvHELNwLMSbBVf7H3g89G2/NlpqkIMvcRAH0=; b=fUgueajAt7/Zk7tsdaXWuRhfrhTLrEcZ5akW5YhbmPMma18kpTphO7tkZXeRt7Vb3y3RcnyhHxko42nmGOs+KVeFsoldV4rQDSM623KT+E40pmqQ3tT0w809H0BpidLrdD6UkXdaDsKkrNCxaRpaBLk2YHx7Sct0S0ZLvt0qyrE= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 04/11] RISC-V: Allow interrupt controllers to claim interrupts Thread-Index: AQHUwBLG14WX+MEk0UCiYs+PnsSttA== Date: Sat, 9 Feb 2019 00:59:56 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR02CA0047.namprd02.prod.outlook.com (2603:10b6:a03:54::24) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.170] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:m778Cxbqt/0sAed8mcOkGzyTZ9Cnk4F3JWeixJAlwz5GtkNq0FYldIJX/2Mqmhb/ljZqyi0Pqh9wJwZL6yhU1cALzuCieGCcwGdb/z+cyJKpLlnIbtbSWO7GPmr8XTCEYMRqj+/w5PM04NYs/wnQruWF/4gCAAHwttm2e8ffI8elQzaX5IkA/+APzvt1FI8U2NzrSjDjlvZc4lSRTRCFDN8hAsV328x48dmtAU+9Pmf2cFuudks8BfLMNhAXunpa0mmbFQN/sGEo3nuyV1Mb2+ASDeNxjuDzk0h7RKdkt5EPp+6MUpnp+aTq7wc9mOB/P3Ktxbw7wSc0mFepLscJGF/j9V3DaBpeCpANAhb+xxsCawurMQ1f46vVayR2+wObrkidVPLJzfhgBz2nGsNnVrXMLexqB3gRQx1O3YqcKdpx4FOZ9ql7Q9D3o7welDram6VACVLNVNAYGsS3FpeRkQ==; 5:F0ya3oWzpyvXf6SPqlIWui8qjnX2fOCNthPGcCuW8clvFDTM2Ls+wgOZgNirarXH9YbJ4ODlgl+/1W8wE5qNiW2nNjE26n+5TXsqkSIszo55P6gpCiYdLdZkabFuhJ9TOIhOekvOzn9mlZw560sx0ODQJRNi8/73i9K7qHW5S8W6YooWPBUyEklYSP6MRmo/UemvtUxXUmKt9HXngXGhow==; 7:XLAPJMXt7UA5zJJTmwNPw4+N3cIekIGnu5FjTJ6qCZ8kf/PrU7iAIzsBOEEXy9FNpey9HRt6Qsokn462fJI2lPTuBPP2fn5QjVgFlzUyFasSEJpvWLqlEFr0PpGbN3zhBgPOU/dnamF3t8GcE4eVDg== x-ms-office365-filtering-correlation-id: 69192b02-76c4-4589-ea1b-08d68e29e852 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(5024004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: EJznk98Av8+n9SdW45kMaMXrekrDBu5fra6ZVgrYY0rxe2JDoooknZ6/0zUSq1YV0riM98UBVqfJBoYTwqllzkckCEK0CxaV7TXwij9sC6l+1QnlnqmUdObrHgUkPqNcOYNhGfhPBiAyH6Uhae8wRJHpLY+j7vKLv+7lK7rFPgK73sSCvVMGH2N8pkTUjkQ16Z5FIbvOL0HgmvQsT+JS5RAdvY7HAHAE3BXEXUgzMd/sDgdudV61KJH4McjCqtIflvTVs6OJld693vCXGo/LgkoHl45ZHkkCLkS0MdmQza4ghvmjazqS7Z1X9pS5N/q1Spx72UaCdMkjJLLjUbGEfj4dwybSzPvbdAx3ji9dz3Ml9TzLPe0faP+KiA+9wF6/jsc+s/QvD7+PHbSGYgNLTEBaADb85BzWbr0a4JpH66Y= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69192b02-76c4-4589-ea1b-08d68e29e852 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 00:59:56.0083 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 04/11] RISC-V: Allow interrupt controllers to claim interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark We can't allow the supervisor to control SEIP as this would allow the supervisor to clear a pending external interrupt which will result in lost a interrupt in the case a PLIC is attached. The SEIP bit must be hardware controlled when a PLIC is attached. This logic was previously hard-coded so SEIP was always masked even if no PLIC was attached. This patch adds riscv_cpu_claim_interrupts so that the PLIC can register control of SEIP. In the case of models without a PLIC (spike), the SEIP bit remains software controlled. This interface allows for hardware control of supervisor timer and software interrupts by other interrupt controller models. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- hw/riscv/sifive_plic.c | 15 +++++++++++++++ target/riscv/cpu.h | 2 ++ target/riscv/cpu_helper.c | 11 +++++++++++ target/riscv/csr.c | 10 ++-------- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index b859f919a7..1c703e1a37 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -23,6 +23,7 @@ #include "qemu/error-report.h" #include "hw/sysbus.h" #include "target/riscv/cpu.h" +#include "sysemu/sysemu.h" #include "hw/riscv/sifive_plic.h" =20 #define RISCV_DEBUG_PLIC 0 @@ -431,6 +432,7 @@ static void sifive_plic_irq_request(void *opaque, int i= rq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic =3D SIFIVE_PLIC(dev); + int i; =20 memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -443,6 +445,19 @@ static void sifive_plic_realize(DeviceState *dev, Erro= r **errp) plic->enable =3D g_new0(uint32_t, plic->bitfield_words * plic->num_add= rs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); + + /* We can't allow the supervisor to control SEIP as this would allow t= he + * supervisor to clear a pending external interrupt which will result = in + * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be + * hardware controlled when a PLIC is attached. + */ + for (i =3D 0; i < smp_cpus; i++) { + RISCVCPU *cpu =3D RISCV_CPU(qemu_get_cpu(i)); + if (riscv_cpu_claim_interrupts(cpu, MIP_SEIP) < 0) { + error_report("SEIP already claimed"); + exit(1); + } + } } =20 static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 5c2aebf132..a0b3c22dec 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -140,6 +140,7 @@ struct CPURISCVState { * mip is 32-bits to allow atomic_read on 32-bit hosts. */ uint32_t mip; + uint32_t miclaim; =20 target_ulong mie; target_ulong mideleg; @@ -263,6 +264,7 @@ void riscv_cpu_list(FILE *f, fprintf_function cpu_fprin= tf); #define cpu_mmu_index riscv_cpu_mmu_index =20 #ifndef CONFIG_USER_ONLY +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts); uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value= ); #define BOOL_TO_MASK(x) (-!!(x)) /* helper for riscv_cpu_update_mip value = */ #endif diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index f49e98ed59..555756d40c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -72,6 +72,17 @@ bool riscv_cpu_exec_interrupt(CPUState *cs, int interrup= t_request) =20 #if !defined(CONFIG_USER_ONLY) =20 +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint32_t interrupts) +{ + CPURISCVState *env =3D &cpu->env; + if (env->miclaim & interrupts) { + return -1; + } else { + env->miclaim |=3D interrupts; + return 0; + } +} + /* iothread_mutex must be held */ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mask, uint32_t value) { diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 960d2b0aa9..938c10897c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -550,16 +550,10 @@ static int rmw_mip(CPURISCVState *env, int csrno, tar= get_ulong *ret_value, target_ulong new_value, target_ulong write_mask) { RISCVCPU *cpu =3D riscv_env_get_cpu(env); - target_ulong mask =3D write_mask & delegable_ints; + /* Allow software control of delegable interrupts not claimed by hardw= are */ + target_ulong mask =3D write_mask & delegable_ints & ~env->miclaim; uint32_t old_mip; =20 - /* We can't allow the supervisor to control SEIP as this would allow t= he - * supervisor to clear a pending external interrupt which will result = in - * lost a interrupt in the case a PLIC is attached. The SEIP bit must = be - * hardware controlled when a PLIC is attached. This should be an opti= on - * for CPUs with software-delegated Supervisor External Interrupts. */ - mask &=3D ~MIP_SEIP; - if (mask) { qemu_mutex_lock_iothread(); old_mip =3D riscv_cpu_update_mip(cpu, mask, (new_value & mask)); --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674364502850.477303164487; Fri, 8 Feb 2019 17:06:04 -0800 (PST) Received: from localhost ([127.0.0.1]:37538 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH5f-0000eu-Ap for importer@patchew.org; Fri, 08 Feb 2019 20:05:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49572) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH07-0005H9-9z for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH06-0006Ru-9B for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:11 -0500 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:26204) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH05-0006QC-U8; Fri, 08 Feb 2019 20:00:10 -0500 Received: from mail-by2nam03lp2059.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.59]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:07 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:05 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:05 +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=1549674010; x=1581210010; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=S6Y3NDTcZRwin8Bpei8FNMZBOIhbNRFJWIOwEvW4088=; b=WH2C/p2PkCTA+cT4l+cqreMgO3s4jaQ1fEUqyPynCmGZBqMwX+9DK8lh nBYRZBW2kOrngARLnOvegL495pgIz2m7pZvK6WAjS6NeyrjwCox0mDfLK bjyQ+e8L3gqLLiS5ntU5oUf3ZslMCY20uOi3oXHoiKnR1KJTRDeQJrJm+ xzh+fA26fptqr2pYW5EjKNaJmj0M73+Jcg5xw8YWrcN7eMgzpZt6GwSSc o9G9Oib30q8qoU9AFD0/lTK5XS3b/J71n1NQ0ZgHVl7IWaByBcJV8uB05 dzOqNYydRxRn1o3jTUlcQxvABFaEeKQWRcMGnmrQhPE+0F7ZNeV/w1c6y A==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="102120950" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/4eJCY3i0yvilQh83SgUwGJdWU6QwTUiY3wsGQ66N6c=; b=eTp6J49uQluIanw9+nfpEhvh5EnJaFsuOuN88Izymk3kTMHGEwd63MyrvFEIcNCacLdpgoZtd/enM94/6QCPJU/FKA3xx84WWXr+atryFGytwpxPTeQk37eDzNKYhCVrxMx8/eAc/uoWw8jNXQJbmgHaspIgreAsN4dzE3JDshk= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 05/11] RISC-V: Remove unnecessary disassembler constraints Thread-Index: AQHUwBLLuqT48gA+OE+NUmpSedDc8g== Date: Sat, 9 Feb 2019 01:00:05 +0000 Message-ID: <875b00b989a60fabb3a03353253ce8d939b5ce28.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR04CA0028.namprd04.prod.outlook.com (2603:10b6:a03:40::41) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:uAfM4nopF8Nz/Uis3qWawWxWN5byJ19kyY3n0tHCskC82/HVBHJLDEfb1nuJlCXgUJFkP4+g7gW/IiBbFrZWzvktWBpFxSDQk4TuJsWmV72WOodoUknJH3TmJHKKs4bLPC7ujzqp+UyNYoy650dxN9pVSOiwt34vQsvpDm513oeyrX7qy+3VwTsTv4shOQEWretgH4E1fcRuH7abpxihZkO6vgEBOzKvR9i1PHYGAQHIVhiOtSWdWzeyCHoD1IlRHYT6LyMp0PbHqFKbtNI8hbSlL2ElDsm2s2Vws3T4Jee/fF7Xm0oVCndhwMrdU+NIj/vr2sZWUtka9tk8CgtZOkMuC+lQJy0Gh9Pd7UV+AWcpzNe9WuPqGPXYBdfn46GPXgmmYWseDNVDl1HlWB0EZCU34rzMfkiG5Gv0b8ZkD3FuedNfKnwwY8tyj/ZsAGMySwcg4KrAO7Zz5Hc4IkmLsQ==; 5:UUWxSoeZbB1lmqf0vQ6Zw3BI3xGUmw6yITjPlb7pONdAZOFDSzNwJ1/re6IFTCoenLaIoNklMtEgOJT3vLRYtE8gTx8IVnwQL4moUPygey1HimCrorycnODfu1NAPj0bBHp6SmL/LTsQ2UVAT7wMj//e0Hstw9sWF3CFFsM/2rp1aW7TfqFGuo0XadmoQ7mLRzCUfXGg0JahvTwm+620YQ==; 7:hcgateeV3SadDyhVvNWqq2dWRWp7QGXCWghwhzpkZr5ZMYVYbpKaIKkRvEYwzNynutpD7+quNxtSLkDOA5lF3JqZO4y9gHPy6DZlf3YjdbQRLaj1NrSn7dn6Gib6Y78j0xcZIsCJDfDjAviynlR0rA== x-ms-office365-filtering-correlation-id: 0f446a34-1030-4a31-19ff-08d68e29edd3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: TkfU2wsBhqoK2xiyKI+BdULSnHDjXgaD2fE7NThF6leaa/ItbMJgmWgJj3wmfY98+zF+oBQrxarX3Xiw6+Yss5hYpQucIYIuPjYAO6E0xY+L7ikMy0awDgmLgUmihZ8RXwXC+CHz2lnGTdDIW/MsEtZ6PSD2NMNdJ4skGkekaFKq5y/coSkHP3PU70M6gMCLgpJdDgpP/Jq2lyEJTrzQvOJYMaQuCzwZDO9tIcDz9fR0tU7JlSU7AsTu+kCsiqZxQvmVPQo/hio4fd37PBQo8PVoHxeATH6mevzrEFPGNRqcExaHZgXRreiUEAh5zMWKZzlre1KUOVCNwVbyF64+vu/33yy9wqh2fahUl4e8apOernpl1rid9SUktD7ZjioakJTrh2xPqmhx0E9WrOczucore25tStAlxPi92I1+ncc= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f446a34-1030-4a31-19ff-08d68e29edd3 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:05.2350 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PATCH v1 05/11] RISC-V: Remove unnecessary disassembler constraints X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- disas/riscv.c | 138 -------------------------------------------------- 1 file changed, 138 deletions(-) diff --git a/disas/riscv.c b/disas/riscv.c index 7fd1019623..27546dd790 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -87,33 +87,10 @@ typedef enum { =20 typedef enum { rvc_end, - rvc_simm_6, - rvc_imm_6, - rvc_imm_7, - rvc_imm_8, - rvc_imm_9, - rvc_imm_10, - rvc_imm_12, - rvc_imm_18, - rvc_imm_nz, - rvc_imm_x2, - rvc_imm_x4, - rvc_imm_x8, - rvc_imm_x16, - rvc_rd_b3, - rvc_rs1_b3, - rvc_rs2_b3, - rvc_rd_eq_rs1, rvc_rd_eq_ra, - rvc_rd_eq_sp, rvc_rd_eq_x0, - rvc_rs1_eq_sp, rvc_rs1_eq_x0, rvc_rs2_eq_x0, - rvc_rd_ne_x0_x2, - rvc_rd_ne_x0, - rvc_rs1_ne_x0, - rvc_rs2_ne_x0, rvc_rs2_eq_rs1, rvc_rs1_eq_ra, rvc_imm_eq_zero, @@ -2522,111 +2499,16 @@ static bool check_constraints(rv_decode *dec, cons= t rvc_constraint *c) uint8_t rd =3D dec->rd, rs1 =3D dec->rs1, rs2 =3D dec->rs2; while (*c !=3D rvc_end) { switch (*c) { - case rvc_simm_6: - if (!(imm >=3D -32 && imm < 32)) { - return false; - } - break; - case rvc_imm_6: - if (!(imm <=3D 63)) { - return false; - } - break; - case rvc_imm_7: - if (!(imm <=3D 127)) { - return false; - } - break; - case rvc_imm_8: - if (!(imm <=3D 255)) { - return false; - } - break; - case rvc_imm_9: - if (!(imm <=3D 511)) { - return false; - } - break; - case rvc_imm_10: - if (!(imm <=3D 1023)) { - return false; - } - break; - case rvc_imm_12: - if (!(imm <=3D 4095)) { - return false; - } - break; - case rvc_imm_18: - if (!(imm <=3D 262143)) { - return false; - } - break; - case rvc_imm_nz: - if (!(imm !=3D 0)) { - return false; - } - break; - case rvc_imm_x2: - if (!((imm & 0b1) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x4: - if (!((imm & 0b11) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x8: - if (!((imm & 0b111) =3D=3D 0)) { - return false; - } - break; - case rvc_imm_x16: - if (!((imm & 0b1111) =3D=3D 0)) { - return false; - } - break; - case rvc_rd_b3: - if (!(rd >=3D 8 && rd <=3D 15)) { - return false; - } - break; - case rvc_rs1_b3: - if (!(rs1 >=3D 8 && rs1 <=3D 15)) { - return false; - } - break; - case rvc_rs2_b3: - if (!(rs2 >=3D 8 && rs2 <=3D 15)) { - return false; - } - break; - case rvc_rd_eq_rs1: - if (!(rd =3D=3D rs1)) { - return false; - } - break; case rvc_rd_eq_ra: if (!(rd =3D=3D 1)) { return false; } break; - case rvc_rd_eq_sp: - if (!(rd =3D=3D 2)) { - return false; - } - break; case rvc_rd_eq_x0: if (!(rd =3D=3D 0)) { return false; } break; - case rvc_rs1_eq_sp: - if (!(rs1 =3D=3D 2)) { - return false; - } - break; case rvc_rs1_eq_x0: if (!(rs1 =3D=3D 0)) { return false; @@ -2637,26 +2519,6 @@ static bool check_constraints(rv_decode *dec, const = rvc_constraint *c) return false; } break; - case rvc_rd_ne_x0_x2: - if (!(rd !=3D 0 && rd !=3D 2)) { - return false; - } - break; - case rvc_rd_ne_x0: - if (!(rd !=3D 0)) { - return false; - } - break; - case rvc_rs1_ne_x0: - if (!(rs1 !=3D 0)) { - return false; - } - break; - case rvc_rs2_ne_x0: - if (!(rs2 !=3D 0)) { - return false; - } - break; case rvc_rs2_eq_rs1: if (!(rs2 =3D=3D rs1)) { return false; --=20 2.20.1 From nobody Sat Apr 20 05:42:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1549674460196252.7033488072086; Fri, 8 Feb 2019 17:07:40 -0800 (PST) Received: from localhost ([127.0.0.1]:37564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH7B-0001jX-3z for importer@patchew.org; Fri, 08 Feb 2019 20:07:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49636) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0F-0005Sb-H5 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0E-0006qg-D6 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:19 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:43756) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0E-0006iV-1Q; Fri, 08 Feb 2019 20:00:18 -0500 Received: from mail-by2nam03lp2059.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.59]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:15 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:14 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:14 +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=1549674018; x=1581210018; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1PiYgcM7gr2VOj4eFrg/q4577fExdLTf5WIRDk3nfZc=; b=M+xY83Mci2lB1NOe0oB7sILLL5qgICc9VbKQMt0+5MJdkUx2xvoC1/vb LxmMCcnv/EAuCzRdQJgM3pukIzihMZfrXMtU3gm9cRsEYwmjaa/nTVa0O 6HPeQqHgc+oWiC0Di3mHbIW7QqPI8gDfqXbWveQr0wQuBmcX7UIPXTpn7 lmf6ZCm/2efSQmdnqUCeG7SuOtkzDpl1QACPcXdsNa4dACxdgwHewcfR3 /K0zDe2AyVRhxwgPKqBFxxD8054oSSmEQc6GHhzX5DBAAR+VNnQxHTbnF 7iTHj2pXgO2N7P8GaKBODujLMmNvMT55Lh+LzRy+BAONnKPqJqVIdBf3c g==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="205937703" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yiAEUNipFoEG1WMRVcW3SIK9batgNWEQBZPp4TnqOgY=; b=AcFPENPGkvWyBMEvOsIR552ixjWq2Gcz2Q/EPZPMEvWhADpDNfGe9VquPLum2UOvJdkCU1LWlGQvLeO9HAdVL2cXwGjKAWq3GYt6aSDnKFNpbcQz2EJZrEhmOiNQ0JK4Vd6G1yYCMeii/zOxhHvSDcwlC7XN9/MdMCTltR8yY1o= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 06/11] elf: Add RISC-V PSABI ELF header defines Thread-Index: AQHUwBLQ7SxWUWfnGk6MIQgNJiEIng== Date: Sat, 9 Feb 2019 01:00:14 +0000 Message-ID: <9bff68f6edb19516f63ba853aa63984d4d3eef4b.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR11CA0060.namprd11.prod.outlook.com (2603:10b6:a03:80::37) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:q8GET1foJDn1PIac7bHjvn6OTIsILQzGYcEtqd1QWJo20ypr2Aal1dEwuCQCQkxi5Pg3FO2gUnLLj2wgE6pKwyIrcM7A5ZdZexqIM5VcEnSLO1WTs9j+10ESuxlqe+pZ+g3bkcO+nR+aph9bHDkDKjYWfmQ/FtcRJ8IQzk/MzlNOFtM2/4xzWdrRmJFXSW7VGfOaccuJ06hsTZ8GzaVSyTuZpLWxtlfqLTISNXZjraZ9SXhV5cqNAG9vag2xxR6H0iS+4VF0LPWCWsfuifW4YGIvARQakCiLj2oavIq9XHXLchASlRW7hihBDcfWVO5Epu5EKkCFEshmzOC//Dp/gnNuqlcO94HLK0GBMiMgs/uoBi7Fs0pAYW+6Gd96pJv72u9suI+FxO2g4/lZvYJcQF28DMiSq+8+LCqCDrg0AXBgHik58WVBxZz0o7uPCc8dbT2hznTr/p9sg1SVtCMGkQ==; 5:Q4HpBGhvHocR7rfdxGxuPdg+ETvEYgf4rzjYFm7wcfB6sUKfN0UJK5qGNpUQQk6i79RTNfwtJ41wjfgPVHnFMMp1dV1MUrfU7iqwDscdcX3+UB6l8EAbHWFjo7lQPFM/FDfQpwzypzWoLrmRCDkqYQIr7wOOVq8HmbvN6fYF3MF6QZTB7f4ofUg/UDhJ04OtEK1nmfn090lpkwWCQ+ISNg==; 7:gNKAczLo228ajkwAdc2+qLcqQw107YNFEo3gcNc7P5yI6p2gCFS+PwURxek7LnXDNLoOt/yaEvgEeB96+FL2pTO3k/ZV6+/SNqaCa/UDLz3u34rHEXw/Us5SKLZ8j0Zid0k3/VMXW6fBFs0+Z9LOsQ== x-ms-office365-filtering-correlation-id: 994a11b1-6a91-4b08-079a-08d68e29f323 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: x-ms-exchange-purlcount: 1 wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(6306002)(53936002)(217873002)(97736004)(44832011)(256004)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(4744005)(6436002)(50226002)(966005)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: CuTewRrMZseK/uBrS8Gqf7Fg43lqzXJowK9zYkKlVnGhJEHaDvRJ/GcQAMZRvZZDUvkCug7Wt1xd++mq5D5Q9f2gMRb1qhPmUhH1dal+ueHeGzu7lKbAAyBZGv6s+94tphDlr/+aSkEY11yMVFQ1gmGiSyAEm+wX7xVGCzZl1nC+sb8lvLlJo6Flj2YXASzWA13FVrlsB2eHryRfu0tKUVnKb8uZ+NpXHEqzuohuL547MdYrydEkzcLIfMzknoh/x6SziDsC7We0yVv7tX/GBEykjpdQ0IaWb7vYg+gDooJ21g2Cf4dTFDI0XQoftIbhk0hDlXstFy/K518QfCgkR9DZ2Z3Lx3kkL1BK/9R78O+hLIh+BqLcEUi55QDFPky0XOCfNDyL47q7eoszLwbs6LK10TZZIT2XBly/X4tKLfg= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 994a11b1-6a91-4b08-079a-08d68e29f323 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:14.1484 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v1 06/11] elf: Add RISC-V PSABI ELF header defines X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev Cc: Richard Henderson Cc: Alistair Francis Reviewed-by: Laurent Vivier Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- include/elf.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/elf.h b/include/elf.h index b35347eee7..ea7708a4ea 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1393,6 +1393,16 @@ typedef struct { #define R_RISCV_SET16 55 #define R_RISCV_SET32 56 =20 +/* RISC-V ELF Flags. */ +#define EF_RISCV_RVC 0x0001 +#define EF_RISCV_FLOAT_ABI 0x0006 +#define EF_RISCV_FLOAT_ABI_SOFT 0x0000 +#define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 +#define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 +#define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 + typedef struct elf32_rel { Elf32_Addr r_offset; Elf32_Word r_info; --=20 2.20.1 From nobody Sat Apr 20 05:42:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1549674459523980.1667317414499; Fri, 8 Feb 2019 17:07:39 -0800 (PST) Received: from localhost ([127.0.0.1]:37562 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH7A-0001jO-A6 for importer@patchew.org; Fri, 08 Feb 2019 20:07:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0R-0005gF-N7 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0P-0007L6-S2 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:31 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:21525) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0M-000750-9D; Fri, 08 Feb 2019 20:00:27 -0500 Received: from mail-cys01nam02lp2054.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.54]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:29 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:24 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:24 +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=1549674031; x=1581210031; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=s7cdeuwWPw4XIDx2G1GZwXBr44UKN8BU1njWfpy+Hs8=; b=hBbusw/qHQXfm6LjZYXypKVflaUCYLwgW64OkEQ3qa7wfE8Tet0xZc4T FS9hcsnA0CtpuUorBKEB5yRjcFgsut9iN7uiYZs9esnEXxV2A3Pia4VUy 0FxDTF3fbRGO1L3lucXVsVLJP645UyyoTOZcKmPu4lo9vbz/HiPZTgzds ChMjQO57D0rjxiZQGP5LAMiYxYCmAXU1XJOxTTwP1jSYE2/1QxTbYd6+6 Q+K70dhNEQ10JyZ2dZ1NcbBKmc7f5PxhNQixyu6YHJw/dvg+qkzLcLBJ1 FlTgAkCcH1uaOVuJ21s8PF+se0MCE7Ye7+3s5KcHfqCCaeRGo7VDZ9J2k g==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="198999544" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kjRcIc+pv/5xFVaMUKn29xpMOojQmLLnxA2w6ml31Vo=; b=iLhjRHNzq+Rfrghghz9Zj6l27xuo8ctjeAzhEcFZBybkQwaEQrfKBRNnTTnroRwnvvrboW7z9fCkiiAk/HITnhmcEdXi2r7U0ucU/AgkQENWZvIHaSQH0irk444CvAv7jgrK69sIChHVF3vID3+rEtyTpodP/ID5YHCexI/ayRc= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 07/11] RISC-V: linux-user support for RVE ABI Thread-Index: AQHUwBLWcPgSkCvCJ0ikpwB+FvePzQ== Date: Sat, 9 Feb 2019 01:00:24 +0000 Message-ID: <324185f0d64e77f4c16896fa160e1b81d23eb47f.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR11CA0051.namprd11.prod.outlook.com (2603:10b6:a03:80::28) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:UNP3CeFaefeU4gRHYC6Lj5pRmXMPpuPFbqZ47orEZcs+giR+WMTFqUXd5tO6bE/wbxYrklWYXJk1qBq4kjdYxurdDLE3onSTeNq4CuHj1x7Z85Uv7liVTlsDUOtDwuNoZRpP2fm7Uq0QONDrFmcHQl8MOVs0hqCUCWjOs3XOpTnyUtpmG+EqYINIXamYADiTazVDOTqFVowO2jTpFfhalTSWEFNOJWYrrvHPuQ6EGI3OEpBPWAkLF3hvDkXJ2Y31T0iuxPm8k5/cHdEMSnldmXLHMH0N01mRINQ7rs/1XPXOSwDiW9X8ges1v/FSdDvb2cDc7EqpNHO+26CJlG9nmFuOoVl7T94k6WkRJ55MgMgk4aVN3s5MvmuHewDmnRKBSYLam++mBqn5o7jTUvySu/AGrpPooUDQpdJD2dguw5DBTwknAlw1KO4QkT1U81L4v9zq5pmtLcwEq2fvE4b+uQ==; 5:6Fu3uUdE1GRY26PskBQnJWiQhXTH2LA3+pOW7+bsfLHByA7ZRuXQBlczW1azbpN3fnyZdfX7j9Z7VZtbibiRDe205e/Y6YO/Wnp1Ax48TE33JMFrawP+fn3Yqg8cKM19Ar/aHXmc9FLfX6w0MWeLaaAsbKAs11NtO5zHU8UOy6OnlnYq7Z2bucIQy6fmfWdsnVKieZFPyvtwMgzMTW3lTQ==; 7:jVn1bIaND0KhwyZflfmP7ZLd14MWxct/uWb7RL4F0EX4kpbTjhrHrRXRE+pg3uzlWInYiDho16a+BOw8r4maSZtwevjUGIE+8KbEV9liD9f2QKeOvVwtOD3WtwRqZnsFwitUnXmmz0nLe68FDzatHA== x-ms-office365-filtering-correlation-id: a5203f93-54c7-4a42-e066-08d68e29f8b1 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: y1OFkGjjc4kBAK9ZB8DevYbksyKmbSosNeb2LmfsVAW2NJ/dCErv6Obs+BQfOE9okeIzqlrbNVcu500rIR4IWanHPJlwlklsM9fkK5OSvI27mbQnzV3iciLEBc3k/i0pBhCsPH+LmLDHGXhtRglqMNFrJUPX8ZU0z8YYKH6HfbvQakbwRyB9dBBRljg2lRezLLeX0QGQlsnzZfeo0KC7SalrvaUWr4zECsSDBx8lVqzByF7wNNgYUS/J1SHb11Or5rJXNPVzCKECycDNmhxUkniagLPkNRPuWNAuz3VeFyhiu1i8WKIcHsCtIVDNPrPawgM0fAWuhVBeWbbU2DIeGD6ToSGVz7fbWa7ttNa8yuUMMizFNGCQTpgEfcffscpaufSN3E/nANPZwYZZC/V9iVjbAkSRI4arNHqP47/Whk0= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5203f93-54c7-4a42-e066-08d68e29f8b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:23.4732 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 07/11] RISC-V: linux-user support for RVE ABI X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Kito Cheng This change checks elf_flags for EF_RISCV_RVE and if present uses the RVE linux syscall ABI which uses t0 for the syscall number instead of a7. Warn and exit if a non-RVE ABI binary is run on a cpu with the RVE extension as it is incompatible. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Co-authored-by: Kito Cheng Co-authored-by: Michael Clark Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- linux-user/riscv/cpu_loop.c | 15 ++++++++++++++- target/riscv/cpu.h | 4 ++++ target/riscv/cpu_user.h | 3 ++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 4cf3e94632..a9bac4ca79 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -18,8 +18,10 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu.h" #include "cpu_loop-common.h" +#include "elf.h" =20 void cpu_loop(CPURISCVState *env) { @@ -53,7 +55,8 @@ void cpu_loop(CPURISCVState *env) ret =3D 0; } else { ret =3D do_syscall(env, - env->gpr[xA7], + env->gpr[(env->elf_flags & EF_RISCV_RVE) + ? xT0 : xA7], env->gpr[xA0], env->gpr[xA1], env->gpr[xA2], @@ -113,6 +116,16 @@ void cpu_loop(CPURISCVState *env) =20 void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs) { + CPUState *cpu =3D ENV_GET_CPU(env); + TaskState *ts =3D cpu->opaque; + struct image_info *info =3D ts->info; + env->pc =3D regs->sepc; env->gpr[xSP] =3D regs->sp; + env->elf_flags =3D info->elf_flags; + + if ((env->misa & RVE) && !(env->elf_flags & EF_RISCV_RVE)) { + error_report("Incompatible ELF: RVE cpu requires RVE ABI binary"); + exit(EXIT_FAILURE); + } } diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index a0b3c22dec..8e4b5cfe26 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -123,6 +123,10 @@ struct CPURISCVState { =20 uint32_t features; =20 +#ifdef CONFIG_USER_ONLY + uint32_t elf_flags; +#endif + #ifndef CONFIG_USER_ONLY target_ulong priv; target_ulong resetvec; diff --git a/target/riscv/cpu_user.h b/target/riscv/cpu_user.h index c2199610ab..52d380aa98 100644 --- a/target/riscv/cpu_user.h +++ b/target/riscv/cpu_user.h @@ -10,4 +10,5 @@ #define xA4 14 #define xA5 15 #define xA6 16 -#define xA7 17 /* syscall number goes here */ +#define xA7 17 /* syscall number for RVI ABI */ +#define xT0 5 /* syscall number for RVE ABI */ --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674597199563.5760455320574; Fri, 8 Feb 2019 17:09:57 -0800 (PST) Received: from localhost ([127.0.0.1]:37582 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH9W-0003Zj-3L for importer@patchew.org; Fri, 08 Feb 2019 20:09:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49741) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0o-0005uH-MF for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0n-0007k6-FX for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:54 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:43787) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0n-0007XW-3D; Fri, 08 Feb 2019 20:00:53 -0500 Received: from mail-by2nam03lp2050.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.50]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:34 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:33 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:33 +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=1549674053; x=1581210053; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/gOAmNvsydMG67UaJC2PD2qnb65CTzoNUErgLy0F96s=; b=mh1diVd3GW+6NUa9BlCJTEOwaRCSvSE42ukqeV15G8GJNKR7JfsbIRfl xgJrAouu6h+S6JY+IacpJ/Cv8IyVOsXaMXU9qw1wWma9CRaTU9D45NgYm oDsB83i5fAEtl7n5V/fTKQEDvyl+Zrk1iIhJDV1VbK34WQfEFa1tmxHWV 2AsC/r0g2sIA1AMC7DIvUrb7Ro2+jP2mAJqBzKd0VFQJHbm17t2ApNdZp 6E8ScP5FRCFubboMZNWnM9oPCLZwsk7RGKn2HWKA5eviExnWD8dqNhZPK byN79cgpQNanGlvmCy2LrOEPbqSrNUJBUGAEBNq5rci3Tr4HTR3Pw2319 w==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="205937719" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/kUQ29t5TrfYlfzqWOQXVR8Cybxb9FdATw7XRW5RQBw=; b=fRfJRFWxoKfQMkAYLtk5VSe6FypNOo4VVXcmJQe1jIS+IYvqd4ZzyzBTRA5rQnhfUK3tnxPGtBFcVowNShlISi+C8KVWh5lp3OUVvsNXwmnQqiw58Mi8ny1Tbz7C7ndWvUWlVAr7ReB3yXEpFgukl4IOzdCWo7agMzB/HtG5Zpw= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 08/11] RISC-V: Change local interrupts from edge to level Thread-Index: AQHUwBLblBDj8Nkt/UmFryx5VjyNww== Date: Sat, 9 Feb 2019 01:00:33 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR01CA0052.prod.exchangelabs.com (2603:10b6:a03:94::29) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:5De+Tct7E92iwt6IZzFhSLtzZktobml03AoZFvjyH9A/JvU+f3YFSuJK7rrQSoOxEBYJXwN04sl+IZGPhVDmI8TvwbIdiOQHgrobklqRXLxMsVcy6SQFhIdGe60S3CGTDVSz0beYhfPIEXjVnA+usqQw3HzWiLarme8T7H9QEUJzlZIWe1y97iXcVhE4rVBP8cx5kt3Ea3Mtjb+MHGQz5qhrZ95T3sx8VjWQaG5EUI8bgugCu6+FXs3HR7Vsn48jQng/Fa4CFFydtHzxBEwMtXnwkFj+MqIy8k5Z+Bnr0jr37IA7q0wQIiCcVQKvBkrJTA4giiLXZcfeuaKChdq0f+9EJ8m+KuXKvKZ11BG4CkahGXvsJ+vW7Iy18qxEdv7n0tZ3jzHa9ptU1jIcD4Zw7l3bmRmjAHBKMD9LnYxupFPllAKqzi05CGWdo69Xw8KL15jmbHFfaPzV6yd17cEjtA==; 5:I/N/BPDkLkzZPDhbELeZxWCQ/oN5S18VtcAsLJ84zi384DhzpNHllg5/UlgWj4fUWzY/Z8aT36V21X6Z6Rs3R4LnQdzoTJUQbJSf771h+jmZaajrNMfr1PzrqrDvr4prCN2Cc0d5VYq6io8d2zCV+BdvU26GCKJ41QX8TNfG31HRBg3AzmJSDIlYRJiIcu0VcyDNviCzUp/CC/67mKHG5Q==; 7:49s6k6FuE1hDu+IXLvY4B5qlDPFeRDYrh6n4wO/HH9IpRwfePrfqc26jxnZ0ki9eKQ2w2dqV1uK/oIhKX/LumQR+fYUu7XVQYiJH5SnJAzSrBt1mSOa4BifBPZrPmLI89KaTxvc2b7x3BqAiqIzHbw== x-ms-office365-filtering-correlation-id: 135e4669-ef35-4671-6ab2-08d68e29fe21 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: x-ms-exchange-purlcount: 2 wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(6306002)(53936002)(97736004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(966005)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: EtXQzn3F56taBf4KAlvuY/uh3RxMNa7KwZxT207AK92jvoBBYaDkAJccizRfG8oyQYdchf+sfH33E+8GD56glkvR0yfi0Cfo1HbfnsuzG8TyZ2WzVKQPLdNzurqh3RIf0ipO+eec+5JH9oyEF6D2CwF4/QQfn7mCWNqivt/oX+c5VyXkBnE2nznnCIT+RYZ8caguEMI1mYMvo8gz/zvl4bZSsJzNYXvCpvBdffCKBeXiZicBSv5PXCPoTZDnzoJ0nVo0FeAXW5PucdaHYEr4LUW/L+Ghuv1zCezzgkMhFce+v8uLdi0M9PA2FvNRgFrL2wd6kl1iG+fNYe9Z39UGBvudHiOK4P3Wec1VDMdnX/lUxkOxlVLEcP5rXuxUNXwQhXkKasY2MMsEbVUe/gSMI2HRdFK5Hqf78KPYReypmrs= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 135e4669-ef35-4671-6ab2-08d68e29fe21 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:32.5918 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v1 08/11] RISC-V: Change local interrupts from edge to level X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark This effectively changes riscv_cpu_update_mip from edge to level. i.e. cpu_interrupt or cpu_reset_interrupt are called regardless of the current interrupt level. Fixes WFI doesn't return when a IPI is issued: - https://github.com/riscv/riscv-qemu/issues/132 To test: 1) Apply RISC-V Linux CPU hotplug patch: - http://lists.infradead.org/pipermail/linux-riscv/2018-May/000603.html 2) Enable CONFIG_CPU_HOTPLUG in linux .config 3) Try to offline and online cpus: echo 1 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu2/online Reported-by: Atish Patra Cc: Atish Patra Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 555756d40c..073bdcfe74 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -95,9 +95,9 @@ uint32_t riscv_cpu_update_mip(RISCVCPU *cpu, uint32_t mas= k, uint32_t value) cmp =3D atomic_cmpxchg(&env->mip, old, new); } while (old !=3D cmp); =20 - if (new && !old) { + if (new) { cpu_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); - } else if (!new && old) { + } else { cpu_reset_interrupt(CPU(cpu), CPU_INTERRUPT_HARD); } =20 --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674600528706.7409752458018; Fri, 8 Feb 2019 17:10:00 -0800 (PST) Received: from localhost ([127.0.0.1]:37584 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH9W-0003a9-Ax for importer@patchew.org; Fri, 08 Feb 2019 20:09:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49772) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0p-0005vB-IJ for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0n-0007ju-Et for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:55 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:43805) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0m-0007dw-Ss; Fri, 08 Feb 2019 20:00:53 -0500 Received: from mail-by2nam03lp2051.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.51]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:43 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:42 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:42 +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=1549674052; x=1581210052; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dE+Cec88GoO5/zv+M7uR6/QvE5ML1q257t2DPzVzr34=; b=gZDJdQlLPi7RiX61w3WRl7axj97tLI9FisAa6fEigPbDd4NNfNW6IpXs f6jLu+i+XcwhJoMp9ylhKo01tYCWlMarwEzUoJJxFjGXK8i1zEY/FdMon +hEAt0dPMhcafdWNvh5TtgUP+TtKMx7WHBI0F1O1K+YDibMu7R7XHVzWE nr2q6mn2mzhsUBDy4XGqDGhl4Y4qfbEP1UMxjV7yasm5ljXx08LmAPAZ6 LDdYgmCLVfw6XEj024P95toESVo3Deb8jjMCns2rUYI9S6emtxEeaI6lL kHy+TLuxfozwCMgPg+pm8BtsU+sH5iZTg1aFxKT+aT9w+cwNOPUBGmaUJ A==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="205937729" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ef+eU7n/zHfPDvSf1+ijxm4TbGPfpKgPEXrqhWFzykA=; b=KgfRGZh9RAUmde+QxEzbqhxgi49dKlUGHv2akO258X9DwVfDtCDtV3J+8lb1Ng161mx/5gOZW/fbXq+n8RMoHQLgbu6vXWt1rB+TbeRx2LcT2L8bTq3qkO4TG8SW/znh+qrBQ6zYDzecxifgRTGrCFlyC5gahQngLqMcNbyiU8I= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 09/11] RISC-V: Add support for vectored interrupts Thread-Index: AQHUwBLhk+Z9Cpxy/0uUQzBwY0O5Ig== Date: Sat, 9 Feb 2019 01:00:42 +0000 Message-ID: <06a867e9a21d725d0974d66e213a8eb58b0914f4.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR02CA0058.namprd02.prod.outlook.com (2603:10b6:a03:54::35) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.170] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:pP87ROTjmGLDMxlY2K8auw1m5N6G2hKwX1s5KWyEySqDrzTJQ/JG5IXM7cOSNBG5OUH0E2k26n9RBD6uKkKdevz7KmfULGyWv063oF01EZc79yjKsSYwhbRMOU9CsOKbzWkdwWEMlggczRpHHRUppQlFE0VLdzWnSTzDhU9liRH8L634RCluPkgJXZRQ+5prEz3YlfdSfAd0T5kyZlE7+SYFol4F2eBmi3iimKB677HVsGK/yvCdYIVcgue4V1dqyJJ4bUWaWxU6n/1rXv47U1GCBiEvGBg7l3X5lMcVzO8VIjDVlSwer4U+m9qEH0bLAjPR0v+DQY3vyaT4myhCyu3IklKibpHoc1aB9DsWfKBZ9ayTW3tToUekBvBsECN7Airlc8sZrreU5OvAQgkqJmGamhMf9d9psXnIkhlDZqu9tYVZBvFxsc8lu7/DeinZkKHOzesDxetKlMvzZw07AA==; 5:83KwjD22TYiF8r+xX2/kPlrkWCSwFxbRo7M5MKLHiIO6sDSAtGMTLODYpsOOQYbKUpx5xzAu0p/yniOS924N42sPjQNVV1MZcSYotnX+XGeEk8Cu9HB/0ild4c9QYltaDawhTkI70MjNNCu3PODSx/+0Q2U1ByIpQYaeE2yOwVVxzlSQZ/tWaryCVRuqBXmmn23Q9Q0T2nhnLtMWZwjb2Q==; 7:r+IyC6odkas6cyvhww2kR5y9xeSRG0/ip8zD3hjA25AKzddhPMJ8OJvIBttCdweODgyQtqJkd4TDYQeneuJeacNcgG7blua9+klH1H4fTKMDsNmaic7EvescKHPckXeA7uQOeWHfvtT4acwqhsvCOg== x-ms-office365-filtering-correlation-id: 03bb074f-6511-476e-7878-08d68e2a03b3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Um9C3ZzTKrq03VZy0YES1fQ7km9k0yaGp5qND/PktRCxs9UE8b/eGQE1kpoqllpKz4YLUrjowZ/twNK/lY/mqhDItXA/RQbrK3csbu3UC+044n4F1/TdMaQX0COhBhdczkbtF6iBaFWiHKpz+6/kyT695jtg5OLmuIPEqZR/EeozpEO9RHe7Ngo7oYvvO4YHo9xdbk+tn76eECqsTLDCW1vOHmBfsrP/1fvZhCSh+4RhHbALhcS8ReZ8gTIY3JnKed/oEN8DHYL8DVZbxZL/RaOj6xZVrbKjCY7zhuoLKUkd0xabYK+F7zIJ4LvWmyUXwpGWsbnmvXS8FwGk7golDJzN3YIZtQSzsx0CucVpy79qUAf3Wf8VPWICIMWTudSkTnUkruzYbvVh51OBpK4PlgkPFZqy3cEVKkm1tcsb+nw= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03bb074f-6511-476e-7878-08d68e2a03b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:41.9406 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v1 09/11] RISC-V: Add support for vectored interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark If vectored interrupts are enabled (bits[1:0] of mtvec/stvec =3D=3D 1) then use the following logic for trap entry address calculation: pc =3D mtvec + cause * 4 In addition to adding support for vectored interrupts this patch simplifies the interrupt delivery logic by making sync/async cause decoding and encoding steps distinct. The cause code and the sign bit indicating sync/async is split at the beginning of the function and fixed cause is renamed to cause. The MSB setting for async traps is delayed until setting mcause/scause to allow redundant variables to be eliminated. Some variables are renamed for conciseness and moved so that decls are at the start of the block. Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 145 ++++++++++++++------------------------ target/riscv/csr.c | 12 ++-- 2 files changed, 60 insertions(+), 97 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 073bdcfe74..a02f4dad8c 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -454,118 +454,81 @@ void riscv_cpu_do_interrupt(CPUState *cs) RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; =20 - if (RISCV_DEBUG_INTERRUPT) { - int log_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - if (cs->exception_index & RISCV_EXCP_INT_FLAG) { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": trap %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_intr_names[log_cause], env->pc); - } else { - qemu_log_mask(LOG_TRACE, "core " - TARGET_FMT_ld ": intr %s, epc 0x" TARGET_FMT_lx "\n", - env->mhartid, riscv_excp_names[log_cause], env->pc); + /* cs->exception is 32-bits wide unlike mcause which is XLEN-bits wide + * so we mask off the MSB and separate into trap type and cause. + */ + bool async =3D !!(cs->exception_index & RISCV_EXCP_INT_FLAG); + target_ulong cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; + target_ulong deleg =3D async ? env->mideleg : env->medeleg; + target_ulong tval =3D 0; + + static const int ecall_cause_map[] =3D { + [PRV_U] =3D RISCV_EXCP_U_ECALL, + [PRV_S] =3D RISCV_EXCP_S_ECALL, + [PRV_H] =3D RISCV_EXCP_H_ECALL, + [PRV_M] =3D RISCV_EXCP_M_ECALL + }; + + if (!async) { + /* set tval to badaddr for traps with address information */ + switch (cause) { + case RISCV_EXCP_INST_ADDR_MIS: + case RISCV_EXCP_INST_ACCESS_FAULT: + case RISCV_EXCP_LOAD_ADDR_MIS: + case RISCV_EXCP_STORE_AMO_ADDR_MIS: + case RISCV_EXCP_LOAD_ACCESS_FAULT: + case RISCV_EXCP_STORE_AMO_ACCESS_FAULT: + case RISCV_EXCP_INST_PAGE_FAULT: + case RISCV_EXCP_LOAD_PAGE_FAULT: + case RISCV_EXCP_STORE_PAGE_FAULT: + tval =3D env->badaddr; + break; + default: + break; } - } - - target_ulong fixed_cause =3D 0; - if (cs->exception_index & (RISCV_EXCP_INT_FLAG)) { - /* hacky for now. the MSB (bit 63) indicates interrupt but cs->exc= eption - index is only 32 bits wide */ - fixed_cause =3D cs->exception_index & RISCV_EXCP_INT_MASK; - fixed_cause |=3D ((target_ulong)1) << (TARGET_LONG_BITS - 1); - } else { - /* fixup User ECALL -> correct priv ECALL */ - if (cs->exception_index =3D=3D RISCV_EXCP_U_ECALL) { - switch (env->priv) { - case PRV_U: - fixed_cause =3D RISCV_EXCP_U_ECALL; - break; - case PRV_S: - fixed_cause =3D RISCV_EXCP_S_ECALL; - break; - case PRV_H: - fixed_cause =3D RISCV_EXCP_H_ECALL; - break; - case PRV_M: - fixed_cause =3D RISCV_EXCP_M_ECALL; - break; - } - } else { - fixed_cause =3D cs->exception_index; + /* ecall is dispatched as one cause so translate based on mode */ + if (cause =3D=3D RISCV_EXCP_U_ECALL) { + assert(env->priv <=3D 3); + cause =3D ecall_cause_map[env->priv]; } } =20 - target_ulong backup_epc =3D env->pc; - - target_ulong bit =3D fixed_cause; - target_ulong deleg =3D env->medeleg; - - int hasbadaddr =3D - (fixed_cause =3D=3D RISCV_EXCP_INST_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_INST_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ADDR_MIS) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_AMO_ACCESS_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_INST_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_LOAD_PAGE_FAULT) || - (fixed_cause =3D=3D RISCV_EXCP_STORE_PAGE_FAULT); - - if (bit & ((target_ulong)1 << (TARGET_LONG_BITS - 1))) { - deleg =3D env->mideleg; - bit &=3D ~((target_ulong)1 << (TARGET_LONG_BITS - 1)); + if (RISCV_DEBUG_INTERRUPT) { + qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " + "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", + env->mhartid, async ? "intr" : "trap", + (async ? riscv_intr_names : riscv_excp_names)[cause], + env->pc, tval); } =20 - if (env->priv <=3D PRV_S && bit < 64 && ((deleg >> bit) & 1)) { + if (env->priv <=3D PRV_S && + cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { /* handle the trap in S-mode */ - /* No need to check STVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->stvec; - env->scause =3D fixed_cause; - env->sepc =3D backup_epc; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->sbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear sbadaddr/stval - * todo: support populating stval on illegal instructions */ - env->sbadaddr =3D 0; - } - target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_SPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_SIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_SPP, env->priv); s =3D set_field(s, MSTATUS_SIE, 0); env->mstatus =3D s; + env->scause =3D cause | ~(((target_ulong)-1) >> async); + env->sepc =3D env->pc; + env->sbadaddr =3D tval; + env->pc =3D (env->stvec >> 2 << 2) + + ((async && (env->stvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_S); } else { - /* No need to check MTVEC for misaligned - lower 2 bits cannot be = set */ - env->pc =3D env->mtvec; - env->mepc =3D backup_epc; - env->mcause =3D fixed_cause; - - if (hasbadaddr) { - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr = 0x" - TARGET_FMT_lx "\n", env->mhartid, env->badaddr); - } - env->mbadaddr =3D env->badaddr; - } else { - /* otherwise we must clear mbadaddr/mtval - * todo: support populating mtval on illegal instructions */ - env->mbadaddr =3D 0; - } - + /* handle the trap in M-mode */ target_ulong s =3D env->mstatus; s =3D set_field(s, MSTATUS_MPIE, env->priv_ver >=3D PRIV_VERSION_1= _10_0 ? get_field(s, MSTATUS_MIE) : get_field(s, MSTATUS_UIE << env->p= riv)); s =3D set_field(s, MSTATUS_MPP, env->priv); s =3D set_field(s, MSTATUS_MIE, 0); env->mstatus =3D s; + env->mcause =3D cause | ~(((target_ulong)-1) >> async); + env->mepc =3D env->pc; + env->mbadaddr =3D tval; + env->pc =3D (env->mtvec >> 2 << 2) + + ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } /* TODO yield load reservation */ diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 938c10897c..8039eb6e48 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -435,10 +435,10 @@ static int read_mtvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_mtvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->mtvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->mtvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_MTVEC: reserved mode not supported\n= "); } return 0; } @@ -607,10 +607,10 @@ static int read_stvec(CPURISCVState *env, int csrno, = target_ulong *val) static int write_stvec(CPURISCVState *env, int csrno, target_ulong val) { /* bits [1:0] encode mode; 0 =3D direct, 1 =3D vectored, 2 >=3D reserv= ed */ - if ((val & 3) =3D=3D 0) { - env->stvec =3D val >> 2 << 2; + if ((val & 3) < 2) { + env->stvec =3D val; } else { - qemu_log_mask(LOG_UNIMP, "CSR_STVEC: vectored traps not supported"= ); + qemu_log_mask(LOG_UNIMP, "CSR_STVEC: reserved mode not supported\n= "); } return 0; } --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674519719869.038731267282; Fri, 8 Feb 2019 17:08:39 -0800 (PST) Received: from localhost ([127.0.0.1]:37566 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH8D-0002WT-Kg for importer@patchew.org; Fri, 08 Feb 2019 20:08:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0q-0005vq-4x for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0p-0007mJ-0m for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:00:56 -0500 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:26315) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0o-0007jj-Ht; Fri, 08 Feb 2019 20:00:54 -0500 Received: from mail-by2nam03lp2059.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.59]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:00:53 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:00:52 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:00:52 +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=1549674054; x=1581210054; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jA326jaOdBclUs98XFCb2NG8T31aNeTLMFQGs/nKT80=; b=RJTm3V0YAD8+qjrDaRP5Sw6OxaaC3hP1TjI0DGMiHjTg5OdjhYpqYwmz 3j444TVmejhaWUyEAF9kV5LKVP8ngxsPqLb9s9Px7POQBT98JOQ4xcjlv ydIxdqTUX243mSSSsm2bu2wlZpgJ+p5Dd8/g8XLVGrq6W3u3fiy9Zdc9s /PwPOSeykgPRgWqkMp1nZoqmfXtQ4h6RtL5l5gq/wbJY+gHo8n8xLfKWD JXg1dyxarMkd0E3czWKA44TFX806vaj66iXwxOSna4sIK+UEP1bdiiTk9 mjbQmEW/P5Tn710gbVLStN52iYmHGz7UqRiY1jwcOO0ndEq8MaLnaFI+x A==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="102121004" 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=e1aBIdKwiQXxbw1qyJlO6TeKNFNC/yH4hPJBCczM79I=; b=QcW1s/cZ0tt17Abv2qgGAjEsef7zorMpPALAvcAmpePTfTnwzUaVEqoNDKG6fNJWxlVjUC1eDrO1dURyiKzWLKEOSP1p8uOsJuGXFLqHzJkP9wqw7QOKzcYRfVWitButQPN/GOczA4lBd9BQiP2Z3GfdH3lBpGL2QEz+p0CB3xw= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 10/11] RISC-V: Convert trap debugging to trace events Thread-Index: AQHUwBLnmf2sxB9j80mOclMiz1cp/g== Date: Sat, 9 Feb 2019 01:00:51 +0000 Message-ID: <539d54b254204d3bcafb60af6d3b9bc7c9fab28b.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR05CA0055.namprd05.prod.outlook.com (2603:10b6:a03:74::32) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:wadHJvX2eRjtwZxPB9H1Id47EYCOMoEx4q5YAgtuzeN7L28ODRBymTrKi7zMqQaIwNOzU4PqXWf9acFoc6e5Dv8q4RGsN5nxrEglxzmsPqFUMyouyBK2oD0akBKVmv/V/On8fixZ6AuTKdqxn4Q8D1XQ+E8TopteMn+LXWS5fJ0AoYI1xIQirjSc0M19zFpymPnsgr9WqKLHALMnRaYTRFsFe8WIlRzsLkKJtsRYii9vSGKu2eWHG/xMQWDLMr8FChuUiJW4oUF4M8QFZ+MioLQtMqNAH1rLh/iKevZbJljoDoQS8Tp4KXnd7SWjfJ48BiwKEimUT/WumpV354pvVmSjVQ72mDaICVKbTo2kof0+3IsFwZ6wSe+AVXw4spktjeiLp33E83sRU2mcILhkMi30/8mz1TILfGeL7JNxVWqS3v/kGc+dg1CgMc2cmBKvNHTJ7cYfYUt7/Fpqe8xoGQ==; 5:c8P9jMoVpFA7UBVz3u032yaRc5+cwxDKOhiqSbCRI/N4YmA4ElU/4hCwxI62InH/fI/XJ1iJRqQsXeKer+xyxkHBzYaMhbAX2T7VGZXgrc3OImuIOJ6ILt+yzxNmR4PD4ycwrp3IHyZNBK3TeqAadJQntMuGjDjAPpyQ+2okkN737zjyd7sqG3Y64A/pvAxNjRFgu3nYDWnUAALmg8wbvw==; 7:shpTOjQ8nccZYAJfGiZNTaxTSSs/pFCrimwzsZNFh0waHhMkJc1V6X6Xze6o02wNjLthZC0d3erKvovljRBXqwudaPycOBgkmzXFo2mzETHGRB6Zb7bZzWdwlhpVd7GXfbOenxxH7kTKxQErWLTU3Q== x-ms-office365-filtering-correlation-id: bc840b3c-3bf5-4bd3-c1d3-08d68e2a094f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: MPnTMZlcQAi6hGgKM9dT/q/Lq1ennfvhDRdGVhwbRRQk6rF19FygA+LO11cQyRPaVWz4o1V1gct8GQ9szDEzSH52ffVaujmS6dLndiFeSr7LVuNrygG/ZlfheodrU2XhowqukNLmjwiU0aEjniyLvdWNtDpUWrO2/7HPmy7YdZLbEq6AKAuH/uJkZNDfYh+Yx63cJ7dqGX1iHN42DsGsaTFGtqx+wgzNh6Yhg/MLhVrBywyG9zwte28tHIHGpNClInYhoaTje5B2n3zKcC7E9RZdiC9UAFua9euaJ/ZFoiqSZeZggvoNP/WOVjs6mTHK6UFgoVrJNohrohBYN/aOSCY98ly3eGupzMQKUlePk/C3r+PuuAoQS/rYfJP3tLZom5uPiA4hG+0IcvVR8ixufYv65JLc+hrGMYlIvu4J3Qo= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc840b3c-3bf5-4bd3-c1d3-08d68e2a094f X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:00:51.3514 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PATCH v1 10/11] RISC-V: Convert trap debugging to trace events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , 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 b7aae33367..a2c5b2d186 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -196,6 +196,7 @@ trace-events-subdirs +=3D target/arm trace-events-subdirs +=3D target/i386 trace-events-subdirs +=3D target/mips trace-events-subdirs +=3D target/ppc +trace-events-subdirs +=3D target/riscv trace-events-subdirs +=3D target/s390x trace-events-subdirs +=3D target/sparc trace-events-subdirs +=3D ui diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index a02f4dad8c..6d3fbc3401 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -22,8 +22,7 @@ #include "cpu.h" #include "exec/exec-all.h" #include "tcg-op.h" - -#define RISCV_DEBUG_INTERRUPT 0 +#include "trace.h" =20 int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch) { @@ -493,13 +492,8 @@ void riscv_cpu_do_interrupt(CPUState *cs) } } =20 - if (RISCV_DEBUG_INTERRUPT) { - qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, " - "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n", - env->mhartid, async ? "intr" : "trap", - (async ? riscv_intr_names : riscv_excp_names)[cause], - env->pc, tval); - } + trace_riscv_trap(env->mhartid, async, cause, env->pc, tval, cause < 16= ? + (async ? riscv_intr_names : riscv_excp_names)[cause] : "(unknown)"= ); =20 if (env->priv <=3D PRV_S && cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) { diff --git a/target/riscv/trace-events b/target/riscv/trace-events new file mode 100644 index 0000000000..48af0373df --- /dev/null +++ b/target/riscv/trace-events @@ -0,0 +1,2 @@ +# target/riscv/cpu_helper.c +riscv_trap(uint64_t hartid, bool async, uint64_t cause, uint64_t epc, uint= 64_t tval, const char *desc) "hart:%"PRId64", async:%d, cause:%"PRId64", ep= c:0x%"PRIx64", tval:0x%"PRIx64", desc=3D%s" --=20 2.20.1 From nobody Sat Apr 20 05:42:37 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 1549674653658904.1488946238997; Fri, 8 Feb 2019 17:10:53 -0800 (PST) Received: from localhost ([127.0.0.1]:37616 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsHAN-0004Tq-Ka for importer@patchew.org; Fri, 08 Feb 2019 20:10:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49931) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsH0y-00065Y-Eg for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:01:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsH0x-0007vG-Lu for qemu-devel@nongnu.org; Fri, 08 Feb 2019 20:01:04 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:21611) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsH0x-0007uN-C8; Fri, 08 Feb 2019 20:01:03 -0500 Received: from mail-by2nam03lp2054.outbound.protection.outlook.com (HELO NAM03-BY2-obe.outbound.protection.outlook.com) ([104.47.42.54]) by ob1.hgst.iphmx.com with ESMTP; 09 Feb 2019 09:01:26 +0800 Received: from CY4PR04MB0392.namprd04.prod.outlook.com (10.173.190.148) by CY4PR04MB0409.namprd04.prod.outlook.com (10.173.188.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.21; Sat, 9 Feb 2019 01:01:01 +0000 Received: from CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286]) by CY4PR04MB0392.namprd04.prod.outlook.com ([fe80::2057:d590:6918:b286%9]) with mapi id 15.20.1601.016; Sat, 9 Feb 2019 01:01:01 +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=1549674087; x=1581210087; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vUbiUoxF5v3tPITvpHyD4UpG/CsVsAdU+OyzsdjA1FQ=; b=gktqDzAyc6Y/SFfEi3SbAKOSDDHdcT4tqLdIpCrt5z/NtssmGc3MypXQ FwV84f0G9V3p5UMS2oVufnkVKeJ54Xbmq7FdGX0gF3jtPCnJVhbPjHtrp Db3YjzyijNua6FKyZJHNaOex5D2i3aTCoNgp681zfTaNSOaz6t6t3hqY4 OPonQV9N4rrWzfZBxIuXZ5DzTgjUSg7AoqYsE1DlaNuTb5Ef/Xa500QSh nCoJe3JtXoNF6LXi9+30WuA4mpaDeOAZ4nuekORZpq2tXATS4BKBFgcKS 7Dyx0+Kne5jPCWY28bJdQ9oTHfBSrimFh8WAdO7fJ6k+R7w18nxzcIWR2 Q==; X-IronPort-AV: E=Sophos;i="5.56,564,1539619200"; d="scan'208";a="198999592" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xhOTWMkwTOyGNzZTX8ku3wNwQu+cDajmGgGs2rcNW1g=; b=Ea4ONfH2VVotbijGe0nRjzIPSgcF39EPfrCYk2hSOjxBA2EMzh5AaCcAIjvXcIAKqHvrIk/AlXyCrDMrljaAz9Rq9Wg/vcgOrGcekyiV1pXVlvfVoJaEQfLFthjDIO074Y+W4iuV3kRc5bXFfeytk87402mZCZve6UE5GJz9Z4o= From: Alistair Francis To: "qemu-devel@nongnu.org" , "qemu-riscv@nongnu.org" Thread-Topic: [PATCH v1 11/11] RISC-V: Update load reservation comment in do_interrupt Thread-Index: AQHUwBLs4KdlAd53X0OX9eCegVfLig== Date: Sat, 9 Feb 2019 01:01:01 +0000 Message-ID: <463204ef8a90d618f07f231676ffe5ae7183935b.1549673900.git.alistair.francis@wdc.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-clientproxiedby: BYAPR05CA0037.namprd05.prod.outlook.com (2603:10b6:a03:74::14) To CY4PR04MB0392.namprd04.prod.outlook.com (2603:10b6:903:b5::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [199.255.44.250] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR04MB0409; 6:Rg9RfryREc/qURfKOi8QVZWQ9TnMMmp9LrbkVGl2WNTkyjtq4M+iViwZrYP9rdSeYTR/+zo+AtQzems7hCsU++Dt/SwIaQFSk1JhUOAGRPVe4N89JY48Cy4+9rQjMwE2v8KnsA/8458fWMyPxCN0Q+JZOvaBFALr9SsG25i1yXJ/IzDf4FT/Dk45NxApgC8TKyvEvRqTdJBMF0yc0rhmw7z/0iIn6zciBgepiYNAUX5h37unP/bym6tUYNGCcFuLedaNBwIu57W0Z9mAbmXVIBJzn+VuOWEm/tF9Pojj7TyTqD0ChL2//w43W0UbN/5/TK/xwdI7W6jc1OnuyQT8weLlq5e1VDyFg/EJaE7WctsCunVNtdTy1kSDOZFYhFG7JJiWIpKZGV81AXzHQeZAq2AN2/L6fNyLZAIQjZLGZhxQvQKsvP1rA2DGm1KuOZ9a4obDf6HoIqUYDW0OSQ7Q/w==; 5:96MBqph9wY/3QLQBBYpO8r/dGEJxCmAHKtOIM7ykNDK8pUtsG0IMDBDswVLIK781/ZabgzE53GmerC5HU672EIjD0WigokdgFhwnzwTNIicBNU1++W30KApSs4/aTCIlSkW6dKibnWaiVyeROicSfGQqCBa3EQYJ6+NsZo+GYapK/BUMQfxboWMApSaDCrK8TwYGjBp3erXQTXSDegXH9g==; 7:qMnKOsYjHZeDoAhfKM7uV3xEMtff1skIhIc3XpJKDe6/Ki1C4jqnt2N+RfgMz0YY02/OGJzbjTovcG1lTWP5kD+UhB2V1TKdWynUeXBmfNSDPV13OsiTiuGO3wwWxQ7dVIV0dWyGR3d3dty5owhQAw== x-ms-office365-filtering-correlation-id: e9d4e9eb-cbb8-4769-f134-08d68e2a0eb0 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0409; x-ms-traffictypediagnostic: CY4PR04MB0409: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 09435FCA72 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(979002)(136003)(346002)(366004)(39860400002)(396003)(376002)(189003)(199004)(316002)(6506007)(386003)(86362001)(102836004)(53936002)(97736004)(44832011)(256004)(14444005)(66066001)(71190400001)(4326008)(71200400001)(6512007)(36756003)(25786009)(7736002)(305945005)(68736007)(2501003)(2906002)(72206003)(4744005)(6436002)(50226002)(14454004)(6486002)(2616005)(81156014)(118296001)(11346002)(106356001)(8936002)(105586002)(476003)(81166006)(3846002)(6116002)(52116002)(76176011)(99286004)(8676002)(186003)(54906003)(486006)(26005)(110136005)(446003)(478600001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0409; H:CY4PR04MB0392.namprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: +JR5lFmNyvEWbA3TP8cz8e71vvVMa5c9WCKh2iddqLvszTthLRuppNgRbol6gRMKE3CvWzsThbYjqoPJyFCwfWeZEaIoKcscIFqfEO34Z0fGxnd2uza7udwuKHJHmRZf+jeiqkvb7aQ4EswrQrlqRv19cZOosQltSYiSkA68geNkvwDBLaJrWqD5EF0qCq8MpQ1QfYxAY10PTpt+iUlx948RuNA9nAZATh7oSvLGR38T0IuuU9onqYqcMTZmRqvoik5vLob4+NigYMp8rKM99zWKM17vPvB9PKZAiPUVIBrEqYYYDw54b33Gs8F7XjBbE8m01SjjUgsOEzx2QIzhYgUxgWt/B6uOvtZ4DPgjbOIFuPaZDUWGaa46oWi7PqLOWBqgkoqHI5C1Cd5caESHO+GkgcxjjcvIFv4RG229pTY= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9d4e9eb-cbb8-4769-f134-08d68e2a0eb0 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2019 01:01:00.3759 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0409 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 11/11] RISC-V: Update load reservation comment in do_interrupt X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) Content-Type: text/plain; charset="utf-8" From: Michael Clark Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Signed-off-by: Alistair Francis --- target/riscv/cpu_helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index 6d3fbc3401..b17f169681 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -525,7 +525,13 @@ void riscv_cpu_do_interrupt(CPUState *cs) ((async && (env->mtvec & 3) =3D=3D 1) ? cause * 4 : 0); riscv_cpu_set_mode(env, PRV_M); } - /* TODO yield load reservation */ + + /* NOTE: it is not necessary to yield load reservations here. It is on= ly + * necessary for an SC from "another hart" to cause a load reservation + * to be yielded. Refer to the memory consistency model section of the + * RISC-V ISA Specification. + */ + #endif cs->exception_index =3D EXCP_NONE; /* mark handled to qemu */ } --=20 2.20.1