From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608143302; cv=none; d=zohomail.com; s=zohoarc; b=mwj4aSxc6lEVNEhX0d8E4Fxpa10sTrCcIhtlry+6prMbZFVQdhWpfMknfRxziwwatLorRFs8Ceorq64mmzpRdQlbPWg3AP2XbaY4PaKzVasWlzwTTwaTSzmjwyQx8TNG3bOonXJ1ctED16h6r5u7xza2nlHiWgBOPK4CAjCIcr4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608143302; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PausFEWbS2QF5CTl7z7NEHCws15xAMSs9Eom3P96+zg=; b=Xh/6yBhGbKMES/ri3nVL+s4cr1WMnc1837xFoeIX2OhPCvdLXMDpsguGwv7Owjj6DpTuH6+txr0xpPh3+cH7iOH1uEqyDYDlcXpXN46NCL22FMwZc6RmpTpU5GHWaQ2TwIOHLrDN6W9u7tE5iOhHZa9oeYODRMyI4+Nefi78DeA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608143302764426.2720609109077; Wed, 16 Dec 2020 10:28:22 -0800 (PST) Received: from localhost ([::1]:46194 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbX8-0004Er-Rn for importer@patchew.org; Wed, 16 Dec 2020 13:28:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33562) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRc-0005Fx-0V; Wed, 16 Dec 2020 13:22:36 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:41995) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRU-0000K0-Jr; Wed, 16 Dec 2020 13:22:34 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:09 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:02 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:27 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143412; x=1639679412; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=skbURR6ModVPJ+4rDadZSuPRHH6j2CX9z8T6S97zPzM=; b=Rm7sHd7UlRoCp1ndiL3oHftrTDXCJlPknLFe8hV2IkAyGhbVNC0a+n5K q/svhKtkuIaVyh86D83zo4u9rmcNRDb7hLeFO8o9xlg6MZDodIEBAiS7F YVRCsbwNY96nL43Xza8hQF8MRuaXkLOqaV5+NHqql9M6OmR/ArqsW8FLv jCKUn6JilV57nQsesMTteQLNKWPAF2yINg3UZd2g2ZAHGdJWaoKqrT5Cd CKlCaHn7h2aqXOw+KogIqk7FA39jRz4sK5N5MF6fsvkuge6FSEzc42jZg zPfg+mCDF+wQzaGup00rnyeBrEFUuttQPvjuwb8gZlcaO/Ji22OZo3gls g==; IronPort-SDR: zG0RENUKyK9/+zRUYQdNvWksUZU8t/pcaEy0bFPYQFFaRcd6eZWpIoE5UeP6HxHaZDPg/Dy3go wj8AAhMxm5SKp6top1cJAFEAhs1eb1RvGSGBhQrwdQ/BIhsWhdtwzIUP+UMz/ihlL57AniDQEA R0Elba8vgBOpTZgreQ+rgumhIbGbtsNqqU3ddn0eeUkVaPzZMEBsKvO4DDepxVBYpGvSXayx+q d46QoRYUYy67UxNyWz+9zz786Qy0XEsLIRBVfs2bn0NwJuSTeHwgFnNqTUf7q/2Ww/1W/F9v3v dyk= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080334" IronPort-SDR: 3yF9k052S7eb1hqRCilO6YHwIV5bdG+oO4juPXP3uo459Tx8mItX4R6tllXyFE45ocP+/ia5hn 55lk4PjaGxNgWg/mGjzdItckEkUdjepCb5WgqKe1PoBSmXhNq8D1wBkA0UZe12LHK+i1Rm5ATs XSRfUSumClMZeFWLMoPBRboJCAnPJvzrmixvlqozWeCIBTIARn9HjVZlERcRV+dg/LHrgsMA6Z YxsvJFFCV+J58n+dF+30oA7Pp4vNK7Pkaz0WSogB3+tXLiP5H6dy0Rz1HUtxmCSYLM8w6/6diJ cS9hLSpBPAKyCyDhiMgvzhU0 IronPort-SDR: CPfrFAtsPnx43CVmSfvq+eMY0G5lvHUMZ0TS4tVmKJbp6a+ytGxjRWKO+rynwAyGfGk5uWYwTy OS/uKvfEG70Bd3fAFoA64ZSeaKQM4nAdy+XRBi6vMcRtoyyT9uHvbRM8bKc4qsgcezfOxmOSh1 fxQqmVQScbRhCUqiMzngD//9r9CacPyv3hIzYqqX7AaPCgONid/3FqAC0UTTdqLQhoXkjs5HPp L5vne4tDh98tGzPyWD8FCMeMSmIKrUAh06Lo2NYPWjtbBMsD/ERHenkX1/UeXHjFRsjSXSx7tQ wVo= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 01/16] hw/riscv: Expand the is 32-bit check to support more CPUs Date: Wed, 16 Dec 2020 10:22:26 -0800 Message-Id: <9a13764115ba78688ba61b56526c6de65fc3ef42.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Signature date is -110 seconds in the future.) Content-Type: text/plain; charset="utf-8" Currently the riscv_is_32_bit() function only supports the generic rv32 CPUs. Extend the function to support the SiFive and LowRISC CPUs as well. Signed-off-by: Alistair Francis Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- hw/riscv/boot.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index d62f3dc758..3c70ac75d7 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -41,7 +41,17 @@ =20 bool riscv_is_32_bit(MachineState *machine) { - if (!strncmp(machine->cpu_type, "rv32", 4)) { + /* + * To determine if the CPU is 32-bit we need to check a few different = CPUs. + * + * If the CPU starts with rv32 + * If the CPU is a sifive 3 seriries CPU (E31, U34) + * If it's the Ibex CPU + */ + if (!strncmp(machine->cpu_type, "rv32", 4) || + (!strncmp(machine->cpu_type, "sifive", 6) && + machine->cpu_type[8] =3D=3D '3') || + !strncmp(machine->cpu_type, "lowrisc-ibex", 12)) { return true; } else { return false; --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158434; cv=none; d=zohomail.com; s=zohoarc; b=Chgj2yyUBm/r0dcL1iBacMXTX+iyimxUA8nIG+Hx0/l5dDU7x5v1ybDCoqabM3O9LZhKwF6bK2HM0d2FbMiHNSPiKdx9+18vHBYHPUnSO3qTQs8CDuIM8TcHl5nv1rDXJ8F60J/ioX9o4L5GFSx7GoXY3CFLJAf24k3ivv5QP7w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158434; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=czeynstYfDgEj+R/feDc++x/5mNjpeVP3PgL08cP/2I=; b=GBig9pJoYj1XxuBqnzgUpJXLLjdd5isKJvM3Qwv8gEUAMULqXlzusUHXWII1wTMncdsMySXcJOmUfBvlZB2Xw0wwEGF6q41vU+60erqVjPn56FzXmelRxSUouWfR70Foib02Lo4qd5hZ2lJxlHIi0aTXhZHFlUbx+zi0+wqQO8Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158434411464.0853146743974; Wed, 16 Dec 2020 14:40:34 -0800 (PST) Received: from localhost ([::1]:40318 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbVK-0001iZ-Bl for importer@patchew.org; Wed, 16 Dec 2020 13:26:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRZ-0005DQ-Ki; Wed, 16 Dec 2020 13:22:33 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:41986) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRX-0000Jv-7F; Wed, 16 Dec 2020 13:22:33 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:13 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:04 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:30 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143416; x=1639679416; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1FsVWvXDkzpGo7WOfcTOiZ9qIBSHe4jFzMmEKpGYgg0=; b=Tk+V3d/hiEPp/5pkDwnaKoH6zTXMZ9A4sRIWo6LN3RZsMjVfyvdIYt9z n2b5qJtEG+3jFR9Y+2sfYF9YAmspOpdku1T7h+TAB8CPLb+/D3u7bvWYL AZFaSCzlbrxu961/a9irJKVg/TI2wu067x5UGzxHa3Y959LRbzvTax0Bl diFeJVEwimYhdy0cpQ2x4S0SMUYfO4yI8GVck4fHICom444lPz0wkSimk U4SV3cufif9JIma7maKKP/rTxfb1BIZhsxoseH8r4OqbypiTVpPWudmxT Tto1qPHs7V4PfuTMhu7fAOht3AqPbGyWJ+pecwKYhZGiYFUpT/Ey/5yLB Q==; IronPort-SDR: izNZcq/MggtTNymqyJFiXXNEU8zEdFbMSHDz64byBDSZpLYQq3AqMQmdm4GzXnAOCstJZEdH7X K2+CVu8Ae4TO1bGtLnqch1b6sq0JferyKA10XEo9H7vsuExm4RQA8krlqzPvuC5IO+obBhlney 4pE8jm8KyszQlt8X47C1IYUd4wPJmOIUFiOKn+Ydppldcj6MB0DQnnurKEJp+ZZTOFTD/98UZN 94rvWzuQtGkdgZu/q+p+aW9lsLoFG6fMCrgM0K4kzXK14LkPIESz2CQClikyByX/3GQ0FfKopT Gp4= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080339" IronPort-SDR: NupsxXf8+hNHxLDPXAlakMt5sRXapV1aBReTcccceqcsvOD5hITXJNFEyeUA+iOBidf0el5sUg IEB+cTiI//Xka4OHb25iZRhNXUvPPBRDVNG8HlGVYzSDDKsl3S9dNUIzI9WY13KiP2x3G9Rk45 /1H0vdK/ciIdoxB/3mQ87EDhO5e2kCgkHASlQ49KP8skZBGY7TekRYbK0CtzV6C5c4uvQljd89 3cmRnC+7PdgCL5sih9LtyGJnbaow6AsKlgEFBcGTZLTwkUX+4ifcbQcKBNx27i1WqY0qk4/mwe HM6vfgiWUcjiOdNsvWZCWciv IronPort-SDR: u3dl17np6lsRRmywRQuW4RFLRIKSOGCyRgXu6FCzmlS0doz1OpXqXsnVsVpSM+8mQRoa4jKQ+V hO5kHFRxMj4YCEKAwLqXq+VLBZYUXhMGEjxqtE6F2rCoezX9WWTogc5faRgyj8DVyPyDGdJOBp ENL+sL5M2DDwUctyGc+y3Bx8bGMonTVEuwA3lJITMBMLE2+j5h3Oq2IdZL+iaPpGLIElIkcQs6 y87JXZzhpsTCnmhZEEUS1GxMVyUBw2FqvTsu45Zzt9JhBaHzrJT0E6QiUSBVcEdOR82eKUfIMJ FaQ= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 02/16] target/riscv: Add a TYPE_RISCV_CPU_BASE CPU Date: Wed, 16 Dec 2020 10:22:29 -0800 Message-Id: <86e5ccd9eae2f5d8c2257679c6ccf6078a5d51af.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- target/riscv/cpu.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index c0a326c843..9c064f3094 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -44,6 +44,12 @@ #define TYPE_RISCV_CPU_SIFIVE_U34 RISCV_CPU_TYPE_NAME("sifive-u34") #define TYPE_RISCV_CPU_SIFIVE_U54 RISCV_CPU_TYPE_NAME("sifive-u54") =20 +#if defined(TARGET_RISCV32) +# define TYPE_RISCV_CPU_BASE TYPE_RISCV_CPU_BASE32 +#elif defined(TARGET_RISCV64) +# define TYPE_RISCV_CPU_BASE TYPE_RISCV_CPU_BASE64 +#endif + #define RV32 ((target_ulong)1 << (TARGET_LONG_BITS - 2)) #define RV64 ((target_ulong)2 << (TARGET_LONG_BITS - 2)) =20 --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608148143; cv=none; d=zohomail.com; s=zohoarc; b=W87DUV4h0BDcz7GD02uZyObTM5qO8y3m3PD5EF95bceXOualF9SqjvLnaFHaxQcCunWqmINiIWaqPsFg2pNrMKEw5dN2DMMsKaVN1mjGeEBLfRHnYLRlcxn7NTfpbirdZ8HKNEStiiHnOhhZ0sZGoBOKg9lOU1yqtuFsuFmqgcY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608148143; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0r/WMyIKmdpAQZyNvVNy0G0ar6NSZBlvDplWos9g1Cg=; b=JjvxGnlcYKOjjAV+uVf9kaOur/3c4848s0u5nXLhwtOzYY3f23jY0aNCO7kWnWGr4JrEquI0hB91VzgHQpM5u3ZLSow4woKVn+CE0tv3hcPUKsPY3sVn3fOYuB8fbhFYsJKf+JMRhYYRs7XgJHTE4IVxNkZehNO6v9UTy57nycM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608148143260638.2115395392906; Wed, 16 Dec 2020 11:49:03 -0800 (PST) Received: from localhost ([::1]:60734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbSs-0006tn-HC for importer@patchew.org; Wed, 16 Dec 2020 13:23:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRb-0005Gg-BL; Wed, 16 Dec 2020 13:22:35 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42002) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRZ-0000KE-Ky; Wed, 16 Dec 2020 13:22:35 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:18 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:07 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:33 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143419; x=1639679419; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dIZhUPPnS8fRBpzxHuUtyzyYpCZdc5azvxeYlWE61A8=; b=rflf212s7woYt15I8mNqukNq6rcSPVENPEO0d9KUpTeWc65m7K6sV6CX ZVZz8j7fVuuddSK3XR6+ZJVKgzGO02vhjdAjsDQjWKqKrSifEE1H4uXbT X846amMjF8QrN/cQnCHEcSWmai+qWtD9z3TCgtbbR9f1Bkaurscg/E9+V fSgzjejdDz95CSexgeGqCXrt2skKlKXIYyfuCoIkC/EfYhH7ZNva/IQBT p8EFsVOylMYIu+czh+nQyULmUl3Dz+GP8fUMAKJPJUPhB/4hv7D1pHtIj MWrovShlCHo5apxQKdmxHbfDW3GRdEACRolRYLUVKR5eunJFAXKIT2PWl g==; IronPort-SDR: 1cYEzhBNKU9CqEslsHMxUueTrIU1hQAZxXi4djfiT58Qqf9+WviUnQwUi4Z1aj6/elvbjQ9yB+ TDtP3GbMqI8BF7TjDyN/pyv0btEgXWk8kwkcjoxKObP2SZeD/5h1lNoh0W+7alIvcgx/84gD0/ W7HXHOOlaWAJ0B4ZVH4TDMuLCwxjyrt+ncCidYkrCiGVIAzJsWOip2uo31k6Dyc3WgsDNBFNBM LjfbXhqba2SvTtFDINT8AIrHnHosvHwV1+NPlQG9lzz7Ynh1rSJUH+HVrzy4Nlc7068sL3YDVz kVo= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080343" IronPort-SDR: bNRcdLuHEruJcXo7aiCGwLJs9Jvy1klWtJUlq6pyXGXfHxT1uEq+w+/qiGPpTZTSqnXlvmP90I SVHzDdu/uZzaDnen3rcMB+KsDxAeDGagPSSQ5sgqlMaVevApnTMc4UPyb8pXvsEnKbtFCWOa5K 2KTYjOROYcsGnUv2comJtUUmyRMKsll86enlAlCvYJYliOBVWEc+3yzKcM2xM+NGsBp1kFIpob 6rfcyjUjKY90rogpuo8BhTeZ6v7bY0a8ZLAOJhfxQWMvTX5UKnvv0Dm2eutfmOPzQLW2afJabC tKXK+b1WGeKt2TAfedoX5Rqp IronPort-SDR: T1/4RBbyRaN16ih5DCzX4VeymoHfdurKdDGVDIRNiomHEVaIbcFJJKCi9yo4JGSnIHdOthej/4 jMpmqMsL//z1BDcEsrYjvjVh2sjIO9/F0boqyrPNHhsTqF+0vCiTZ269RhSgB0n4gSw2TOyW1M jeLRnyWDZw68tQ0VII61A1nQQJQ7A973cUMZAz6iM/ieAUPi6eSVBUSREFSh/A+RiEJljqeXIK YTA1+6zAvOTciHeOWfDZrMeJ5rf3gHclT0enzBHHkzVvFCWklVLU7I61CNMeAenLXVa+DzFDMD HzA= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 03/16] riscv: spike: Remove target macro conditionals Date: Wed, 16 Dec 2020 10:22:32 -0800 Message-Id: <04ac7fba2348c92f296a5e6a9959ac72b77ae4c6.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- include/hw/riscv/spike.h | 6 ------ hw/riscv/spike.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/include/hw/riscv/spike.h b/include/hw/riscv/spike.h index cddeca2e77..cdd1a13011 100644 --- a/include/hw/riscv/spike.h +++ b/include/hw/riscv/spike.h @@ -47,10 +47,4 @@ enum { SPIKE_DRAM }; =20 -#if defined(TARGET_RISCV32) -#define SPIKE_V1_10_0_CPU TYPE_RISCV_CPU_BASE32 -#elif defined(TARGET_RISCV64) -#define SPIKE_V1_10_0_CPU TYPE_RISCV_CPU_BASE64 -#endif - #endif diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index facac6e7d2..29f07f47b1 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -317,7 +317,7 @@ static void spike_machine_class_init(ObjectClass *oc, v= oid *data) mc->init =3D spike_board_init; mc->max_cpus =3D SPIKE_CPUS_MAX; mc->is_default =3D true; - mc->default_cpu_type =3D SPIKE_V1_10_0_CPU; + mc->default_cpu_type =3D TYPE_RISCV_CPU_BASE; mc->possible_cpu_arch_ids =3D riscv_numa_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D riscv_numa_cpu_index_to_props; mc->get_default_cpu_node_id =3D riscv_numa_get_default_cpu_node_id; --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608157945; cv=none; d=zohomail.com; s=zohoarc; b=AbK96pr8QvRuc7gZL5P7b6HozH9cPkzwAN8S6gg7QKZLaqMAwIOT3PC9y7QnhdLmmzqXm3C35qIvXympdxp6JKw7rmxWrFmPbbUgyDprlEZEDoG44cCtgviRkR89/KDn/7BNT6HN+CRyOg/HZRxRRk01BFMC/lxmB7AwRWO0zU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608157945; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OyP1Njdptw8sZhvPe/e7gpqDPzXmsFHot/IHyucTDUU=; b=kOktEZlwALYZOdOget70ECkI9dem67RsiXl73iLgv2UnwAqavlWIPILFv++T0Wk7Yqi9l8L0/QqlOXF1P+IWK93/2B9GK3/gatxQ2Wmrt8apUxqcTNQkVuc38qQYcZ3GtKbIoV30DEksksM4imXop4a9oC4rhwyNbtgtwwiFFUg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160815794505530.023388053694475; Wed, 16 Dec 2020 14:32:25 -0800 (PST) Received: from localhost ([::1]:51378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbYo-0006NL-AT for importer@patchew.org; Wed, 16 Dec 2020 13:30:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33580) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRe-0005MS-C6; Wed, 16 Dec 2020 13:22:38 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42002) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRc-0000KE-Gl; Wed, 16 Dec 2020 13:22:38 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:22 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:10 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:36 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143424; x=1639679424; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Tvj0hR/ia+IZz/tDIIw5JFrhXmw6w6Q1yB09R8QDOtI=; b=LpNsI5Jnlup27e2MHgTkrUlqv9lpysrxQFEC/YclnyFchxjom3TE/y9c CHhcjL9ZLnMDo6cO4PXO3uljM96c54iTJqmIeIBKlHhEN9vY8u0+iF4eE M6x8nP/kxyYsRHx30Bk3Aki0/yFUFSZxjWft2ox3leYuPGXHypFTXpKc1 5s5quho0crd+wZd+ud1/odwzsPI2hI+1zi3HBIk99FCH1sW94qFsBD9Jt JjGOvCFN+64fnycSkYp2hYkjiWYoyjpRjrx1YvGEPiFwvq0/YVaUkoPYV AYBAk51Q/ZH0mG6GLAMTmnGlY012y/AlJ02E0g0GWTRjgoSQXE5yRhDBu Q==; IronPort-SDR: bXHzR7J2fyCFOg65Y812SbVr4MlXgEJkD+ziYcRc36yAmL1SnNTClT09UJ6Kgmplf/pFmXLPBh OZZKm8lnjKZYGwuO4383VvWO2nejxmdU1oOwdCmdfWUIgj/zBq8fUXzupIh28mLmYdVYZO/c7f eZainjkh/TVnZJ+kO8TG9oRBy8ihpFdzdKzRYxRkLep/FF6APjit5ZSCJ91CPjNy7SVtzg/syf 5fgGE5tBXh92L5d4b1BEHzmIomQVowU1LacHGv2h70KAjH7VVVi7LzqORuAiGI6YfuE3ongJH6 yR0= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080353" IronPort-SDR: BBaj0kRzqGKopGAN2EMvh/GWOfseAErcycnHrnjBkfOZ+6kK2bszSMdztzicqQ+R/vXlsd1dXj VxEhm1qfSN3mIlG7RKrreB76CsbeJBh0xsNba4WEZYVC5lDL0Vwwf7DaipXvxc+lBxrOIhXE+V zMSLx9kDoSLSBS6l7gDlfUFfUp76bAT+Nb/yiV4WBjwEUQUuj40d6ztwXZgf+v5uBIqtk/Zq7h nrM9Da37JaAG1Cfl0qsL+yi68lB2tJdpgxam3sXEMXhmBJNBvOjRpavqp1gTQbZlKqdKtOCs2q vyYHuteCYK0NdfuHuBkoWkkx IronPort-SDR: Ys8Y9AjQliFiaKpzA/hZuAE6f1hULwx4PG8tyiyWDYbmZKsF3ETfvfLxxaDcN0z93v4uYLPAu4 F4q1OQYiUpOpu1uPcmK2MSL2X6E6FEFvjtn6xdgGJgN3V2PMneSp/4v1NJZCMUb0jDvaKKU07b K5JM41Nf9vqJs997Th/09hBi5QL/zlT08HvhhF7rwaRQqaDM00gQiXwtUfF4eDWcZy6uxagPyE 5ZN+8Lq+ofki8m7Ty+bDzsWqDewpq9lkLuJTfIcWfvMKx1R7UF9mfYuTrunWAEQ1Oo63LsYtTl Yrs= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 04/16] riscv: virt: Remove target macro conditionals Date: Wed, 16 Dec 2020 10:22:34 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- include/hw/riscv/virt.h | 6 ------ hw/riscv/virt.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h index b4ed9a32eb..84b7a3848f 100644 --- a/include/hw/riscv/virt.h +++ b/include/hw/riscv/virt.h @@ -89,10 +89,4 @@ enum { #define FDT_INT_MAP_WIDTH (FDT_PCI_ADDR_CELLS + FDT_PCI_INT_CELLS + 1 = + \ FDT_PLIC_ADDR_CELLS + FDT_PLIC_INT_CELLS) =20 -#if defined(TARGET_RISCV32) -#define VIRT_CPU TYPE_RISCV_CPU_BASE32 -#elif defined(TARGET_RISCV64) -#define VIRT_CPU TYPE_RISCV_CPU_BASE64 -#endif - #endif diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 25cea7aa67..995e1c35f1 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -706,7 +706,7 @@ static void virt_machine_class_init(ObjectClass *oc, vo= id *data) mc->desc =3D "RISC-V VirtIO board"; mc->init =3D virt_machine_init; mc->max_cpus =3D VIRT_CPUS_MAX; - mc->default_cpu_type =3D VIRT_CPU; + mc->default_cpu_type =3D TYPE_RISCV_CPU_BASE; mc->pci_allow_0_address =3D true; mc->possible_cpu_arch_ids =3D riscv_numa_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D riscv_numa_cpu_index_to_props; --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608143209; cv=none; d=zohomail.com; s=zohoarc; b=MImLCn2RxKcED1znbSo4FC2+hxm+E8dFBFotXrhlscRdKX8DARPgvhYfUPWsHq6EFgJvTzq+5U0wen3qux2EgJ+g+HnqMepcTEsxoFRXRmGg/+Adp0OsvjDVpkUjXP4rgoz2b/SipBZ6g4sFrSGrv97sLzVaZjymx6xY2EIsFoA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608143209; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Bn3vn5dyRpfCqExjvTiPy2LwdNPlD+00G1F/tin0x4Q=; b=iCGRW5eIfmdio3PBf18lC5qOOOOsJqIiUnr3yyqGr8WoiNgJgAl4BaP3PJYSmubkUE+8VsO+cmtG6EtZ81p2KugjANWxsHRevTFiMYGi2RRzbaTDffLrti4QkbDc1wvdyNHYC3w2DtQT97aFYctZp7g3UA9LyNBEKnZUJMvvQa8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608143209567336.86236246839303; Wed, 16 Dec 2020 10:26:49 -0800 (PST) Received: from localhost ([::1]:41138 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbVd-00028l-0N for importer@patchew.org; Wed, 16 Dec 2020 13:26:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRi-0005Sv-AZ; Wed, 16 Dec 2020 13:22:42 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42002) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRf-0000KE-7S; Wed, 16 Dec 2020 13:22:41 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:26 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:13 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:22:37 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143428; x=1639679428; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=y+e4tKfKA2crtvYoeoSfmsm9gsPyoMiD8pikBVFoL9I=; b=gK37DhT3huPX+egmFdyNVzSKpwl3HDTKOw8KK2m6NbkKXO/tAklD50O8 gGPB29SCnHUr5APiAM4WuN/mkpCjFJKHqJHbydta75RZqwSVMV+f+H5Yb VLe/n4VxxPTiWwN3HoShwtphcWxHnJUiSFhHmWFenh/yQbGtwZ1LvPPP6 cLjiDCzwrgTpI84O/t9V11PxWCSofe2NtsGE6C49F6Nx1kMFNSpl8hycr DAFdix/Pzw63a3dUBolsz4eXjgnc7hkZWmU8Fx+QYueNMJ/zZAPA3vumQ BDf95h36JYAl/ci0aAStA5Ol34EIZftiamIrCIxVKL6ZazzXE8/lE4Fu+ w==; IronPort-SDR: 2GaFrBXS39sCVS/ShFPvBqdXuvonUI73fIV+4HETmy/4r3JTbBWQHtCGMYvICdxJrsxsPLOGgu iblfN93xyLXzCmhqOk16HvPmzEbh+Ky+WSQ1LlT3qOUZcyi9ZVaRPSHg/2dSdR0Tp9RiZdGpOo Cbm7BbAo/cyW3ytfD7RwyGK6N+KbvbXMFayh5Epw8wyPMKPqWAYnxtjNFd9v/sJva0DA5wS5Lt 8/2FIMH1CUz6OzyTm3+mYQ6kRb0uMPrpTMUsQZrORp3Yia+uSJ8G32qlCNVSfGxOe8g3/f9zbV 1JA= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080358" IronPort-SDR: pPCiLSkifIfWAZ5yqUXvh2nnFucnySaLKyIs527Xf102e4S+KGVlfZkRgXor0JDT1neSc1ruIi m2u6PsZd55XLWjYGg7pXRs+qCwJcPwisMQg9TmyG8fzlfe04YH/hQgcv4ZmVF5FY/Kr/fQvDf1 e68FHRMmAcsDXc+VUhR7YRFKUmgRWqOfjI0z5y3HOQgDoxWl24sX5AJ84q+l2BbAb6spyVkJcZ 3Jm3UX8SbjOsC8OOaBfXwbl9YqqrMrAwUk6vr2iY660z/iszyY2drojDEmLOpN8F4lsx7WLNRx 8oi9f/dRu6ocdAkuMOza4Dyd IronPort-SDR: nLZp2DH9TE8A8/QvKz27XDB+MWwF7pFMS77mSJfFkveyyto0nvzdLrmUrJwgM9sqCSc6WqfSb7 i2iGeKJwZnnUMH4iQ0L1uCWEQRbKWfSvHK+fddx+QzONRSJk5eYiHZz3YP9y4C0EFzUh9uW8yq qWrJewSdLjzEZSSXvZKrTq0L44S3/46Ri3D+6N2jB5fiu8W5x+Mj9d0gy0w4o9GPQ/OF0/TQC7 Bs+JMt3WRHyIue3q0Vh3ZAX7KOgDPjiagyyaK0KgJPien+sBygxQ2Gj1/wapLkdNegczV27Jkv 78o= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 05/16] hw/riscv: boot: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:37 -0800 Message-Id: <51e9842dbed1acceebad7f97bd3aae69aa1ac19e.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Signature date is more than 3 minutes in the future.) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- include/hw/riscv/boot.h | 8 +++--- hw/riscv/boot.c | 55 ++++++++++++++++++++++------------------- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 3 ++- hw/riscv/virt.c | 2 +- 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 0b01988727..b6d37a91d6 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -41,10 +41,12 @@ target_ulong riscv_load_kernel(const char *kernel_filen= ame, hwaddr riscv_load_initrd(const char *filename, uint64_t mem_size, uint64_t kernel_entry, hwaddr *start); uint32_t riscv_load_fdt(hwaddr dram_start, uint64_t dram_size, void *fdt); -void riscv_setup_rom_reset_vec(hwaddr saddr, hwaddr rom_base, - hwaddr rom_size, uint64_t kernel_entry, +void riscv_setup_rom_reset_vec(MachineState *machine, hwaddr saddr, + hwaddr rom_base, hwaddr rom_size, + uint64_t kernel_entry, uint32_t fdt_load_addr, void *fdt); -void riscv_rom_copy_firmware_info(hwaddr rom_base, hwaddr rom_size, +void riscv_rom_copy_firmware_info(MachineState *machine, hwaddr rom_base, + hwaddr rom_size, uint32_t reset_vec_size, uint64_t kernel_entry); =20 diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 3c70ac75d7..6bce6fb485 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -33,12 +33,6 @@ =20 #include =20 -#if defined(TARGET_RISCV32) -#define fw_dynamic_info_data(__val) cpu_to_le32(__val) -#else -#define fw_dynamic_info_data(__val) cpu_to_le64(__val) -#endif - bool riscv_is_32_bit(MachineState *machine) { /* @@ -228,16 +222,24 @@ uint32_t riscv_load_fdt(hwaddr dram_base, uint64_t me= m_size, void *fdt) return fdt_addr; } =20 -void riscv_rom_copy_firmware_info(hwaddr rom_base, hwaddr rom_size, - uint32_t reset_vec_size, uint64_t kernel_ent= ry) +void riscv_rom_copy_firmware_info(MachineState *machine, hwaddr rom_base, + hwaddr rom_size, uint32_t reset_vec_size, + uint64_t kernel_entry) { struct fw_dynamic_info dinfo; size_t dinfo_len; =20 - dinfo.magic =3D fw_dynamic_info_data(FW_DYNAMIC_INFO_MAGIC_VALUE); - dinfo.version =3D fw_dynamic_info_data(FW_DYNAMIC_INFO_VERSION); - dinfo.next_mode =3D fw_dynamic_info_data(FW_DYNAMIC_INFO_NEXT_MODE_S); - dinfo.next_addr =3D fw_dynamic_info_data(kernel_entry); + if (sizeof(dinfo.magic) =3D=3D 4) { + dinfo.magic =3D cpu_to_le32(FW_DYNAMIC_INFO_MAGIC_VALUE); + dinfo.version =3D cpu_to_le32(FW_DYNAMIC_INFO_VERSION); + dinfo.next_mode =3D cpu_to_le32(FW_DYNAMIC_INFO_NEXT_MODE_S); + dinfo.next_addr =3D cpu_to_le32(kernel_entry); + } else { + dinfo.magic =3D cpu_to_le64(FW_DYNAMIC_INFO_MAGIC_VALUE); + dinfo.version =3D cpu_to_le64(FW_DYNAMIC_INFO_VERSION); + dinfo.next_mode =3D cpu_to_le64(FW_DYNAMIC_INFO_NEXT_MODE_S); + dinfo.next_addr =3D cpu_to_le64(kernel_entry); + } dinfo.options =3D 0; dinfo.boot_hart =3D 0; dinfo_len =3D sizeof(dinfo); @@ -257,28 +259,24 @@ void riscv_rom_copy_firmware_info(hwaddr rom_base, hw= addr rom_size, &address_space_memory); } =20 -void riscv_setup_rom_reset_vec(hwaddr start_addr, hwaddr rom_base, - hwaddr rom_size, uint64_t kernel_entry, +void riscv_setup_rom_reset_vec(MachineState *machine, hwaddr start_addr, + hwaddr rom_base, hwaddr rom_size, + uint64_t kernel_entry, uint32_t fdt_load_addr, void *fdt) { int i; uint32_t start_addr_hi32 =3D 0x00000000; =20 - #if defined(TARGET_RISCV64) - start_addr_hi32 =3D start_addr >> 32; - #endif + if (!riscv_is_32_bit(machine)) { + start_addr_hi32 =3D start_addr >> 32; + } /* reset vector */ uint32_t reset_vec[10] =3D { 0x00000297, /* 1: auipc t0, %pcrel_hi(fw_dyn) */ 0x02828613, /* addi a2, t0, %pcrel_lo(1b) */ 0xf1402573, /* csrr a0, mhartid */ -#if defined(TARGET_RISCV32) - 0x0202a583, /* lw a1, 32(t0) */ - 0x0182a283, /* lw t0, 24(t0) */ -#elif defined(TARGET_RISCV64) - 0x0202b583, /* ld a1, 32(t0) */ - 0x0182b283, /* ld t0, 24(t0) */ -#endif + 0, + 0, 0x00028067, /* jr t0 */ start_addr, /* start: .dword */ start_addr_hi32, @@ -286,6 +284,13 @@ void riscv_setup_rom_reset_vec(hwaddr start_addr, hwad= dr rom_base, 0x00000000, /* fw_dyn: */ }; + if (riscv_is_32_bit(machine)) { + reset_vec[3] =3D 0x0202a583; /* lw a1, 32(t0) */ + reset_vec[4] =3D 0x0182a283; /* lw t0, 24(t0) */ + } else { + reset_vec[3] =3D 0x0202b583; /* ld a1, 32(t0) */ + reset_vec[4] =3D 0x0182b283; /* ld t0, 24(t0) */ + } =20 /* copy in the reset vector in little_endian byte order */ for (i =3D 0; i < ARRAY_SIZE(reset_vec); i++) { @@ -293,7 +298,7 @@ void riscv_setup_rom_reset_vec(hwaddr start_addr, hwadd= r rom_base, } rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), rom_base, &address_space_memory); - riscv_rom_copy_firmware_info(rom_base, rom_size, sizeof(reset_vec), + riscv_rom_copy_firmware_info(machine, rom_base, rom_size, sizeof(reset= _vec), kernel_entry); =20 return; diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 2f19a9cda2..d550befadb 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -550,7 +550,7 @@ static void sifive_u_machine_init(MachineState *machine) rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), memmap[SIFIVE_U_DEV_MROM].base, &address_space_m= emory); =20 - riscv_rom_copy_firmware_info(memmap[SIFIVE_U_DEV_MROM].base, + riscv_rom_copy_firmware_info(machine, memmap[SIFIVE_U_DEV_MROM].base, memmap[SIFIVE_U_DEV_MROM].size, sizeof(reset_vec), kernel_entry); } diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 29f07f47b1..875f371f0f 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -296,7 +296,8 @@ static void spike_board_init(MachineState *machine) fdt_load_addr =3D riscv_load_fdt(memmap[SPIKE_DRAM].base, machine->ram_size, s->fdt); /* load the reset vector */ - riscv_setup_rom_reset_vec(memmap[SPIKE_DRAM].base, memmap[SPIKE_MROM].= base, + riscv_setup_rom_reset_vec(machine, memmap[SPIKE_DRAM].base, + memmap[SPIKE_MROM].base, memmap[SPIKE_MROM].size, kernel_entry, fdt_load_addr, s->fdt); =20 diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 995e1c35f1..f8c5509f13 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -656,7 +656,7 @@ static void virt_machine_init(MachineState *machine) fdt_load_addr =3D riscv_load_fdt(memmap[VIRT_DRAM].base, machine->ram_size, s->fdt); /* load the reset vector */ - riscv_setup_rom_reset_vec(start_addr, virt_memmap[VIRT_MROM].base, + riscv_setup_rom_reset_vec(machine, start_addr, virt_memmap[VIRT_MROM].= base, virt_memmap[VIRT_MROM].size, kernel_entry, fdt_load_addr, s->fdt); =20 --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158603; cv=none; d=zohomail.com; s=zohoarc; b=L5M1nCw5wOxVo31FRmst75wuUdViAOhcElAHu7OFyh5RgSqDV3CPjbDYlrTn+AztodUrwD9uuxRL088dSXq3qxuMsR/uyEFgOqW4pImQr7D0Ska/NVXiKBx7KXakyF3Tgg3/dndIGlCnie3A2TLwClr3kosvgEbbhLREK7kmihw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158603; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gEDg5uYenSBZbt+RYqi2CSPYHVDpSqMxDWKodL4H2SY=; b=n50MIwaus6FVZLP8nA3n/Xc9BBGWRWC2Iwp4A7O5oHwurHwlYd6J9gWTsKEExdcJwroDZcd24ZybShPBmyae2z+GiPHhjl8ZH6IbL7hOBMplE1dOkU3YTyXqsLbwYDkIpdBpykb7iP5smFHfs0nOzmTazXDDuQsUljPodJ8mqj8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158603782261.8082891504572; Wed, 16 Dec 2020 14:43:23 -0800 (PST) Received: from localhost ([::1]:56988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbc5-0000OM-RI for importer@patchew.org; Wed, 16 Dec 2020 13:33:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRl-0005Z5-Q1; Wed, 16 Dec 2020 13:22:45 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:16660) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRi-0000LR-U5; Wed, 16 Dec 2020 13:22:45 -0500 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:22:40 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:07:58 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:41 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142962; x=1639678962; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/nC7PAhAJaVY2Xe/jmmOCERLaZAjZkzXoGUEMzkzfig=; b=ieuKv968s2r1oiNfxvFgEJRIQgviOoIDMbYYopCao1gUESimEEYFnsVx PLCZRul7rWY2vxKsLkqgHR+wHUs1PG8kvODbBO2lXPqpbwbzHNrQ7Gq1w srYzCe2BgbAxMgBjoxKhoNhJwdwSEgFNPSQPxtRJvvjUqRGnkwiWJ2bN2 JC3Qf41guTg9/8+BKr6KOPRJ4LdZZb4o19qw7ZX1nuzY8cftNOewMeV6D ekV/fINXufSrKoONWg340+uyDsL1p19paqQbqiIsgK8Ubp4og3l0L2MG+ IE5LeJ4P6crsgrPIqYJei3BeYkWbs3McTQ1neOPIXWYv1V5YSBGkqVT/3 Q==; IronPort-SDR: j7dMHFgpdUB/n+tDQN8RF8j2YTwbwDIaENEAzm8G2az+SWZXE09w6z/s9QNl7e+wRA9+w4qgx6 RvzHCsgmvegzrbReOa4aXvo2kH3JFHEzQjv7SgDj3W77ZymrkVkayY53QCD26lVZRiW7sCqoXl iYLcP5NMG/huA5ip6aGuv1gxBXK49ZZ+3BS9QYNzccCjI/ak2g8N3rJSuRfEQOkqX5zVFxOW+5 CP3JflwnUVZWx0GZMUma7b9cRQ9GC9wikOEk1HaJZ4RYdXs/+iVdicz4hrQGit2rs6phesQXmY uVk= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="265507617" IronPort-SDR: 80fO/ji/LVFoDcJKNQPRTefS5U6yGXo4TYXYOqkhAjwKfxUhx8gtfrWMbSX3JyKTvmslIegxGU BxfOW6RXoz/sW60Wr+Ajv6/a/Rw2PzNtx6pvr0WoFAdSSH32tZJfsfmLg6n68wQLOrlr0PtaYu iVhT2fvKchh1Z2/T/uGUTMSq+W0u4zN/ZOG0/an74y6TGN6ywyYb13PaUn+aPAnsnMlkx3qafm krzwaZIPfvTLckSkTnPwGnO1RT5Izg4n+ujIT6zn2TOL52rAtTFeJNxAIkpGsfpGy1/JYmGbMa nOcdxjornruORy5snv9FDmmw IronPort-SDR: LghPFi81KCRxv/kA71JRwHzuybnuq0/AsOvTE+d+c9DNTfXXZ/gBozsP7OoASqHfL8HJUfGcq0 id5xp5E2od7QMpK2+emQ2GSbZL0hbV5r5B5eyTOopukee1J5v9yzXcA1TNPPrlp4A6x0YUgNBU eE4dGJcdDj4ZnGNrqg8i/Q7+6oBMzSs2CJalo/2AMczRFSOG2pxiL+SMcjHB4JYlbiJvRLHm1h QSCRlLZ9Pajqz7ezrpfdHSw6bTvB/RCqF40oS7G7+PpyCXQlyv3RZ4ekgOu+q4sBBKo2VQBWRU eUs= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 06/16] hw/riscv: virt: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:40 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.141.245; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa1.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- hw/riscv/virt.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index f8c5509f13..915e9ae216 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -43,12 +43,6 @@ #include "hw/pci/pci.h" #include "hw/pci-host/gpex.h" =20 -#if defined(TARGET_RISCV32) -# define BIOS_FILENAME "opensbi-riscv32-generic-fw_dynamic.bin" -#else -# define BIOS_FILENAME "opensbi-riscv64-generic-fw_dynamic.bin" -#endif - static const struct MemmapEntry { hwaddr base; hwaddr size; @@ -177,7 +171,7 @@ static void create_pcie_irq_map(void *fdt, char *nodena= me, } =20 static void create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap, - uint64_t mem_size, const char *cmdline) + uint64_t mem_size, const char *cmdline, bool is_32_= bit) { void *fdt; int i, cpu, socket; @@ -242,11 +236,11 @@ static void create_fdt(RISCVVirtState *s, const struc= t MemmapEntry *memmap, cpu_name =3D g_strdup_printf("/cpus/cpu@%d", s->soc[socket].hartid_base + cpu); qemu_fdt_add_subnode(fdt, cpu_name); -#if defined(TARGET_RISCV32) - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv32= "); -#else - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv48= "); -#endif + if (is_32_bit) { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv32"); + } else { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv48"); + } name =3D riscv_isa_string(&s->soc[socket].harts[cpu]); qemu_fdt_setprop_string(fdt, cpu_name, "riscv,isa", name); g_free(name); @@ -608,7 +602,8 @@ static void virt_machine_init(MachineState *machine) main_mem); =20 /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32_bit(machine)); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv_virt_board.mrom", @@ -616,8 +611,15 @@ static void virt_machine_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[VIRT_MROM].base, mask_rom); =20 - firmware_end_addr =3D riscv_find_and_load_firmware(machine, BIOS_FILEN= AME, - start_addr, NULL); + if (riscv_is_32_bit(machine)) { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv32-generic-fw_dynamic.bi= n", + start_addr, NULL); + } else { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv64-generic-fw_dynamic.bi= n", + start_addr, NULL); + } =20 if (machine->kernel_filename) { kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608157846; cv=none; d=zohomail.com; s=zohoarc; b=IIYCeOCSdZ/3NKgxqPvZs7ff83ooCP7Da2s2fXjJ1/f5lOr/7qh+VoEFd9mCLjBk7DHvILdUH++A7cWG18R/Ue7JsjjwBz0iFPmYrl6lYCUqjWTQlmjTFxzwMygxJDZc/X10w61N37l+BemQFNgwWgr8B761ANr+NDiGpFkv6xk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608157846; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fWQvFTL3mzdmDXd2NTEx4geCCvCfnRyWunVhKGDMYwI=; b=GJo3uT4QBM067mJuqtCT/5U9JTLpmrByEjat+AhyxF2X55L5EoFv4gkr10atDRmgaoOQYuEDG7hv4AHvn+Hl8nu4ZbMAaBXegkhV3MT+FLEmQV0pA/tljosowPC+Px6fAVbckWxlyXVVQj8Ngn5JRt5TcDFXABJ6CXRKm50Fk58= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608157845820900.116548477239; Wed, 16 Dec 2020 14:30:45 -0800 (PST) Received: from localhost ([::1]:33620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbTI-0007Lf-5c for importer@patchew.org; Wed, 16 Dec 2020 13:24:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRn-0005cA-Qr; Wed, 16 Dec 2020 13:22:47 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:19121) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRm-0000Lf-1C; Wed, 16 Dec 2020 13:22:47 -0500 Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:22:43 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:18 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:22:43 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142965; x=1639678965; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jgAaj3YJCkNIm/yFLjdSK9i+A93xcJKp0ArRJQcFbUo=; b=Hjn3a0xqOTCQAWR5DQ345mEhzLR9f9PV2t7CKavk3H7CAwOEskQcSB+8 0Bj9Pj2T0vzcQhiEn7V5FafAstHQqrn04cE4aDRIJdmAUrHfD/et6gvs9 LQBxuzfcf/64t/vqczt9jaZZPEShlJMRvsL8ldSqa0I4uyu4tAuXnAd8o 3KeIBrvhVwP3dy31UNCy7qwjWmCjvQZGFbikegxvxWVMVUHOIuYFag+R2 21GtqTcyNi59Um4t3pVXDEl1egxDtXW+YVKEqeUpzVe1n9Exs6xVN5N/P is3QSGwPbkef5RzL/dltsH7VxrQDNQnCCNAp9u7bzFBVfsLgb1/bM9kyT A==; IronPort-SDR: BvaBjwpFbrlEIS7vhz0EQRotX7dOTqjvQIpuFH7xmacMeUEwajRXK22WzH1OY1JFiMEDJbO3nb ql2OrIg4NYhbC3M/WGSQaaCv/2Cb9+Vd+TeChvwZzqdZPO9aUtfxH4ZV8lYgLKZ/jb+tHrPEC8 rQUPqa/8WMbB8nbzzaJdSyUMSCh+QmHFqdD2L8KN4O/NtoCz8aUh0a9celo0YyLOSevQyS5zlK ypYk7sl0N+J+LBeOuwA/nSMULVOD1mZZHzfPhjQXNkVU9wyM+JgBBM2WPR6ecoHfBWEpSHlpkL xYU= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="159755918" IronPort-SDR: pZeCCJDHlyd8LEf4sJFZMcsHhATf3q1qYf8cg0LCD8T6EZJZ/g6tEy+C+zIl0EJiHt3t6Xwa8O e08ld7tjAu7+8jCgFHNOw/ckxEyn5AgGKnRSRFC30IVVv/edlGPCF/E3qOhjAthQknYjxZGmgG 1eFNGP1NJvG761abBPcWYEmLxHI0kZMqDRfbUseZQF0PlUzMyMMZUYg6egkQtALPN+fAUBp0HH J4J2IjD+OzOgRQMgGEqS4nYWO8WC1PK4eeRbq6BeE+BYVFz63XVAJnLpfY5pZtEHPvQk2UNcxd lGzXoRYRCWMxfNdjKQBD/rcN IronPort-SDR: mkaJRPvUw0nXYFTaqyTtI6XDSgzrcpI+6LUxv+kT8FvBRONxqE06JTU8WGxOdeqYtCDg9oEFGO PNOqRaNzwAYE/RPHxfqpZvvLTv2jccRmoGZYQl+Fiy6Vekq2R5c/vkfoDM5cA3yVG2qJ2OdLTb Up7Xxmtnh0FBk32pk9LEpzPbCr/RNEzc5k4I5ntgH9X95UY7iGnvv4nPw6jSjuNnwqaOtlwF+6 eGj1qh1vxU3ljANyYb2DeWgKyZC6viPlrjVs8NJ5y4BzMg6KURV6tTuqlynm7ofVAMrKj99qDl 6/I= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 07/16] hw/riscv: spike: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:43 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.71.153.141; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa3.hgst.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- hw/riscv/spike.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 875f371f0f..3e47e4579d 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -43,17 +43,6 @@ #include "sysemu/qtest.h" #include "sysemu/sysemu.h" =20 -/* - * Not like other RISC-V machines that use plain binary bios images, - * keeping ELF files here was intentional because BIN files don't work - * for the Spike machine as HTIF emulation depends on ELF parsing. - */ -#if defined(TARGET_RISCV32) -# define BIOS_FILENAME "opensbi-riscv32-generic-fw_dynamic.elf" -#else -# define BIOS_FILENAME "opensbi-riscv64-generic-fw_dynamic.elf" -#endif - static const struct MemmapEntry { hwaddr base; hwaddr size; @@ -64,7 +53,7 @@ static const struct MemmapEntry { }; =20 static void create_fdt(SpikeState *s, const struct MemmapEntry *memmap, - uint64_t mem_size, const char *cmdline) + uint64_t mem_size, const char *cmdline, bool is_32_= bit) { void *fdt; uint64_t addr, size; @@ -115,11 +104,11 @@ static void create_fdt(SpikeState *s, const struct Me= mmapEntry *memmap, cpu_name =3D g_strdup_printf("/cpus/cpu@%d", s->soc[socket].hartid_base + cpu); qemu_fdt_add_subnode(fdt, cpu_name); -#if defined(TARGET_RISCV32) - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv32= "); -#else - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv48= "); -#endif + if (is_32_bit) { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv32"); + } else { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv48"); + } name =3D riscv_isa_string(&s->soc[socket].harts[cpu]); qemu_fdt_setprop_string(fdt, cpu_name, "riscv,isa", name); g_free(name); @@ -254,7 +243,8 @@ static void spike_board_init(MachineState *machine) main_mem); =20 /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32_bit(machine)); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv.spike.mrom", @@ -262,9 +252,22 @@ static void spike_board_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[SPIKE_MROM].base, mask_rom); =20 - firmware_end_addr =3D riscv_find_and_load_firmware(machine, BIOS_FILEN= AME, - memmap[SPIKE_DRAM].ba= se, - htif_symbol_callback); + /* + * Not like other RISC-V machines that use plain binary bios images, + * keeping ELF files here was intentional because BIN files don't work + * for the Spike machine as HTIF emulation depends on ELF parsing. + */ + if (riscv_is_32_bit(machine)) { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv32-generic-fw_dynamic.el= f", + memmap[SPIKE_DRAM].base, + htif_symbol_callback); + } else { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv64-generic-fw_dynamic.el= f", + memmap[SPIKE_DRAM].base, + htif_symbol_callback); + } =20 if (machine->kernel_filename) { kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158419; cv=none; d=zohomail.com; s=zohoarc; b=Zlwn00Og5Xt5lLeYWNY0kDMiK1GXMMausud2Kw8hWl8Sb6fRIkgfJEtPQCvfH2xUnbzAYippca6V0i+iCGo8xr7nIZZJmdhvmcl+uLh/nmCHMd1gkBVKNGl7GGCanayEsdB0gzQQfA+3GRj3flrj7UD2RYQso0TUT1DtVgfnlW0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158419; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=b4wORiG9Ac8GfNMYO8QuuNfADkB7w/0GcsDvH5BPiKA=; b=d+JKQS9rRfyte6hN4dFsSzxK/ysK/KuNwT7xng512O+mobmvehA3jb1Ncw6/ECyUVrEtBrRuTht+Q2Sf9aGxHYQltaSpIr+EldCdlBk70q9QzivshgCC7Hx13n9vqtRwva+c8jC80a8z/WYEGZUwjFAEwCZ15KD67hCo1gUS9Rs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158419501391.4852837227779; Wed, 16 Dec 2020 14:40:19 -0800 (PST) Received: from localhost ([::1]:34168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbTP-0007ZJ-Kt for importer@patchew.org; Wed, 16 Dec 2020 13:24:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33678) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRq-0005fm-PJ; Wed, 16 Dec 2020 13:22:50 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:39413) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRo-0000M7-87; Wed, 16 Dec 2020 13:22:50 -0500 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:22:46 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:08:03 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:47 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142968; x=1639678968; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=a8qfRt40LCf1BxwHJa2hSQSCSjRfNAKPcMpT/IOw8Lw=; b=Dun3ViQDo7jr7Coh8Clp9BtjdMB2bHRdZ+b+1tRdwajvuKANuJ74VZR3 ZzdA578t6YgT1tegAG/YVNGr58q0JmN1W0uXgyxxRTLeVOJZLqTORpgM3 d/ic2SpYu8O6VJE22jELbDYtdaKXeQ/TXHI2l9xNpQmFDFnea0fRqGqf7 1CzKtfyM9xupkNRGPRxrsxTeBOY4PZAv3CHeMvQRzt62dAZk6Vq6TPk7c q5mKOHRcM4T0eaD5HWjR5Z5RIv9UB5d/PlQwv2ANSD8x6Uu9d+iZFLEc4 Lnd5Vdgs84EFcxkyKGsTauZrzalbeEWlu0LkUcx/kpEfh/phHeKk7cbhh w==; IronPort-SDR: 1b6LEX9VP6voOnm87rwKHBX16U6CHyf+MMq77AZyaMezbHtvDg/fEwkmALoVxKBPR6Tu8yq3TB zEdKpYHp2dxOy5w49O6IcRvOgtVIPbxHAXWlzcZ7mnfK4iOP9q5OUCPx+ROG3ZHzoqeHttONV5 un84tKsCXGY/0OsdOZiLeVDLpbVMpn8sq6hVcNg6khGb93dsFFM5eFRbAsplr1DYUoEGVbBKPV bD1tSdrh3qVDFPLZSTzFKmK51KlTjcyCWo68an1Nv3QC0gNmhjQNNTrZeIH6ouPY/Vm8NoMsLQ OD8= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="156514501" IronPort-SDR: 2NFH6SdFWRGWbqD9CPG8vIJ6saCD9tr2S3UfY3zarJ1J0S97sbuNlGxHDk5KM5Ortr9fhn7P9K 0nTlLM46voMLt2ssBA/k1C7o01e4DtO6NrIaLEwMtD2BPV4bo+goxEYgN0AzBlvtAuVZ1lq+61 epUM4rypO6arpm7KgyRDQSQtqoquxdPbHgSi75yXAZnDjVhNWUWJ/mrXjUGkosf4+UzGpXtaJu NqXrjdf2j83jrYuqku9L7LPAMcaEr5Pyy8QCFJ4khyTJxd0zqKHl28E7tNJMgmlM8ZaS5lq/eI 0EG7PqQBDU2GuFRucYTwzLxL IronPort-SDR: 1GW91h4GSMJBXoIb++f2tZlIhcF67PFN/Uujr4R0sgA3L0g2QrJrdTYbNoHFAQUKjWd5giN9hK l9KrpOUqkrg3FvQr9iEcxRGQL5nX2fbIHi6ZcolZamjhTwxY8VNg3yKEz8elksoWxflMi7voGY UbxXdB5zt+apdR4s+7CIBOXbSubkEA619XuHIMhL9EOMG00Qhah9Y0FySFtksDnLPCZwp3qNgf OB8d90187OKl9oj/FWt71jDXdv+7dmV6icvovOuJYoR2Ml20lisUI/RCewYu1/L/AudvsdzHNW Qng= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 08/16] hw/riscv: sifive_u: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:45 -0800 Message-Id: <40d6df4dd05302c566e419be3a1fef7799e57c2e.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa6.hgst.iphmx.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt Reviewed-by: Bin Meng Tested-by: Bin Meng --- hw/riscv/sifive_u.c | 55 ++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index d550befadb..7216329237 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -60,12 +60,6 @@ =20 #include =20 -#if defined(TARGET_RISCV32) -# define BIOS_FILENAME "opensbi-riscv32-generic-fw_dynamic.bin" -#else -# define BIOS_FILENAME "opensbi-riscv64-generic-fw_dynamic.bin" -#endif - static const struct MemmapEntry { hwaddr base; hwaddr size; @@ -93,7 +87,7 @@ static const struct MemmapEntry { #define GEM_REVISION 0x10070109 =20 static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, - uint64_t mem_size, const char *cmdline) + uint64_t mem_size, const char *cmdline, bool is_32_= bit) { MachineState *ms =3D MACHINE(qdev_get_machine()); void *fdt; @@ -178,11 +172,11 @@ static void create_fdt(SiFiveUState *s, const struct = MemmapEntry *memmap, qemu_fdt_add_subnode(fdt, nodename); /* cpu 0 is the management hart that does not have mmu */ if (cpu !=3D 0) { -#if defined(TARGET_RISCV32) - qemu_fdt_setprop_string(fdt, nodename, "mmu-type", "riscv,sv32= "); -#else - qemu_fdt_setprop_string(fdt, nodename, "mmu-type", "riscv,sv48= "); -#endif + if (is_32_bit) { + qemu_fdt_setprop_string(fdt, nodename, "mmu-type", "riscv,= sv32"); + } else { + qemu_fdt_setprop_string(fdt, nodename, "mmu-type", "riscv,= sv48"); + } isa =3D riscv_isa_string(&s->soc.u_cpus.harts[cpu - 1]); } else { isa =3D riscv_isa_string(&s->soc.e_cpus.harts[0]); @@ -458,7 +452,8 @@ static void sifive_u_machine_init(MachineState *machine) qemu_allocate_irq(sifive_u_machine_reset, NULL, = 0)); =20 /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32_bit(machine)); =20 if (s->start_in_flash) { /* @@ -487,8 +482,15 @@ static void sifive_u_machine_init(MachineState *machin= e) break; } =20 - firmware_end_addr =3D riscv_find_and_load_firmware(machine, BIOS_FILEN= AME, - start_addr, NULL); + if (riscv_is_32_bit(machine)) { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv32-generic-fw_dynamic.bi= n", + start_addr, NULL); + } else { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv64-generic-fw_dynamic.bi= n", + start_addr, NULL); + } =20 if (machine->kernel_filename) { kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, @@ -518,9 +520,9 @@ static void sifive_u_machine_init(MachineState *machine) /* Compute the fdt load address in dram */ fdt_load_addr =3D riscv_load_fdt(memmap[SIFIVE_U_DEV_DRAM].base, machine->ram_size, s->fdt); - #if defined(TARGET_RISCV64) - start_addr_hi32 =3D start_addr >> 32; - #endif + if (!riscv_is_32_bit(machine)) { + start_addr_hi32 =3D (uint64_t)start_addr >> 32; + } =20 /* reset vector */ uint32_t reset_vec[11] =3D { @@ -528,13 +530,8 @@ static void sifive_u_machine_init(MachineState *machin= e) 0x00000297, /* 1: auipc t0, %pcrel_hi(fw_dyn)= */ 0x02828613, /* addi a2, t0, %pcrel_lo(1b)= */ 0xf1402573, /* csrr a0, mhartid */ -#if defined(TARGET_RISCV32) - 0x0202a583, /* lw a1, 32(t0) */ - 0x0182a283, /* lw t0, 24(t0) */ -#elif defined(TARGET_RISCV64) - 0x0202b583, /* ld a1, 32(t0) */ - 0x0182b283, /* ld t0, 24(t0) */ -#endif + 0, + 0, 0x00028067, /* jr t0 */ start_addr, /* start: .dword */ start_addr_hi32, @@ -542,6 +539,14 @@ static void sifive_u_machine_init(MachineState *machin= e) 0x00000000, /* fw_dyn: */ }; + if (riscv_is_32_bit(machine)) { + reset_vec[4] =3D 0x0202a583; /* lw a1, 32(t0) */ + reset_vec[5] =3D 0x0182a283; /* lw t0, 24(t0) */ + } else { + reset_vec[4] =3D 0x0202b583; /* ld a1, 32(t0) */ + reset_vec[5] =3D 0x0182b283; /* ld t0, 24(t0) */ + } + =20 /* copy in the reset vector in little_endian byte order */ for (i =3D 0; i < ARRAY_SIZE(reset_vec); i++) { --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608147040; cv=none; d=zohomail.com; s=zohoarc; b=GyQmwXrPDYT3zU1Qygxf2hpjs63WiXDiSIU863G6cl9XdMHeMpYeWlbCzrl/lt3PywHygNgykls7sNsXla9+RwD109XwgGXQDiuYd+4jWlcatWq8ycj2ul+YN2etwG4IwhJNFXjfGAV5n9e7IK30wMOebaAFhssA+54/P/kpgjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608147040; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/GAS23j5MffRAf9qOsusNeSgd/NZuD9rGpuwCWFfeQY=; b=gY3c4uf6mXnUuoR2/gm1cXoGX1nzV5UTqdbnxgPy9iVzCToYrHakzVrZLkAWlgd06ut0D4g2bW6F4k0L3WBLhxrf9LvuDtKg7K9r5E3T7Uy0Qbp7hgrkNV7ItRwOcoBjObRyPnVYwQ7a6CMPwgTO5b9VkPGrgQXCQ9iokAYHfsw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608147039942657.8679621589321; Wed, 16 Dec 2020 11:30:39 -0800 (PST) Received: from localhost ([::1]:35692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbee-0003I7-LV for importer@patchew.org; Wed, 16 Dec 2020 13:36:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRt-0005i4-0j; Wed, 16 Dec 2020 13:22:53 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:39420) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRr-0000MH-0x; Wed, 16 Dec 2020 13:22:52 -0500 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:22:49 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:08:06 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:49 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142971; x=1639678971; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SMeTl7U3zpeMqNWLj+6YQlPe1gJ/9JEGsgefexrXroc=; b=Kt1dfjbmIoDG5pr12CuInjx3k+YsjNGPARaOGxsMO76VszSz/SeLg1ev 4RpW1DYySX1Soc7wlTNteFoGbhdSfLEwMMW4C1VGvB2KU9NZdUnnlEnTV rXq/rzBzQ/y+YJ8sgBTSVVmqsxlCrrDZq7DBJafdiy5oLphAoB/D1+QFm 7DD3zUOb/mvzpzc1gK8+cvMxPviDhBmvkTpORrNy28Hl8woofdSsjr446 qapf1rvKLSp4B+A6Nvjjqwg0/Ztj6RoHN9j37VaR3exrD7E90H97+u6hd FIPj7YGywaiGoqewKG3n3krgF+6SxDj+Iy95g7SnF//tK1LeoMhUnoFdP g==; IronPort-SDR: jvQrbNq7n3RK+yEOd53OjXHTfI1dDICkZMmbDFJLDtRb0erKz1lBveCLwxJlvvk8/RkcIz0XLh kyceFCogkAl3WS0UOB2yeLLeG3N5/hoXomoybekFe9nz6e9kPatpIj2w2oMiIebrR/42nKhFaP 3KnmWSXFoyRMZ8AX1gCZtsE+IuKZeItDKxJ1FluPLdH9TAk37FlrjtoIRfdwTe+SPAo8odemVZ 2FY/UkXq5Rzzaz+y4rulIXWQr2qVAqe/NCvGYZEfPjxXwuCqIlkhMbPr76flcOfKxFlSgSgYIm /oo= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="156514504" IronPort-SDR: zWM3iIqCNHHBlosiB+A1fWhxPiBj5IiSIJ/GM6GzoNTw1swGNND/tt2YFJUZ5SIPNhArnkJ4h7 hRmbdDEVIF+E5OfsxqVwl0oF4YyMHmDram/vnh1GNAM9frVlt4fXV+S3R/8JHpkm4TDyfcT8yO 42XGstWKARWkWOIhOKVTzJZfOwpiFXRhFlnYwtQJpEtdljGGR9nPeb14gdyWlLIQaWf2NBTtiL N9JgZgs8m72pAbZXZUgeB4KniaddHZYhNh4dPT+q4cwEMUi39+nNlIlgy7p678UzYdhe5q58Hk MH80WrvrjEamFuKaixe5kSyo IronPort-SDR: eVtGVJ2r9rgV4o9xoQNKzH59Xa4mLWEZZyHOpHKMwc7+xnSI+swF7D3P5Q/oy8gZPJy9Gkp/aU N23hUl47Mq6Ck2DBRflgj+hlgU8lVTGicmd32h270gUGFpScF1v+GOfKn0g15/Fs2iLy3Aok7j BIFfZWkI+vN33NZNcDyBi0oV1wQmTOcNC7tjUWlmGbR23fodlmZ5hwuUTZ5kBS3TljOtAjxXjd KBDHF3cCfTRKbIXS+pSWADpsYJvYoRDz1vhy9FY2qOpGpz1qEYwx8g3uE2Mzy4fJ4XWl8hw4Lb /oA= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 09/16] target/riscv: fpu_helper: Match function defs in HELPER macros Date: Wed, 16 Dec 2020 10:22:48 -0800 Message-Id: <614c369cb0000d070873a647b8aac7e023cba145.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa6.hgst.iphmx.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Update the function definitions generated in helper.h to match the actual function implementations. Also remove all compile time XLEN checks when building. Signed-off-by: Alistair Francis --- target/riscv/helper.h | 24 ++++++++---------------- target/riscv/fpu_helper.c | 8 -------- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/target/riscv/helper.h b/target/riscv/helper.h index 939731c345..e3f3f41e89 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -27,16 +27,12 @@ DEF_HELPER_FLAGS_3(flt_s, TCG_CALL_NO_RWG, tl, env, i64= , i64) DEF_HELPER_FLAGS_3(feq_s, TCG_CALL_NO_RWG, tl, env, i64, i64) DEF_HELPER_FLAGS_2(fcvt_w_s, TCG_CALL_NO_RWG, tl, env, i64) DEF_HELPER_FLAGS_2(fcvt_wu_s, TCG_CALL_NO_RWG, tl, env, i64) -#if defined(TARGET_RISCV64) -DEF_HELPER_FLAGS_2(fcvt_l_s, TCG_CALL_NO_RWG, tl, env, i64) -DEF_HELPER_FLAGS_2(fcvt_lu_s, TCG_CALL_NO_RWG, tl, env, i64) -#endif +DEF_HELPER_FLAGS_2(fcvt_l_s, TCG_CALL_NO_RWG, i64, env, i64) +DEF_HELPER_FLAGS_2(fcvt_lu_s, TCG_CALL_NO_RWG, i64, env, i64) DEF_HELPER_FLAGS_2(fcvt_s_w, TCG_CALL_NO_RWG, i64, env, tl) DEF_HELPER_FLAGS_2(fcvt_s_wu, TCG_CALL_NO_RWG, i64, env, tl) -#if defined(TARGET_RISCV64) -DEF_HELPER_FLAGS_2(fcvt_s_l, TCG_CALL_NO_RWG, i64, env, tl) -DEF_HELPER_FLAGS_2(fcvt_s_lu, TCG_CALL_NO_RWG, i64, env, tl) -#endif +DEF_HELPER_FLAGS_2(fcvt_s_l, TCG_CALL_NO_RWG, i64, env, i64) +DEF_HELPER_FLAGS_2(fcvt_s_lu, TCG_CALL_NO_RWG, i64, env, i64) DEF_HELPER_FLAGS_1(fclass_s, TCG_CALL_NO_RWG_SE, tl, i64) =20 /* Floating Point - Double Precision */ @@ -54,16 +50,12 @@ DEF_HELPER_FLAGS_3(flt_d, TCG_CALL_NO_RWG, tl, env, i64= , i64) DEF_HELPER_FLAGS_3(feq_d, TCG_CALL_NO_RWG, tl, env, i64, i64) DEF_HELPER_FLAGS_2(fcvt_w_d, TCG_CALL_NO_RWG, tl, env, i64) DEF_HELPER_FLAGS_2(fcvt_wu_d, TCG_CALL_NO_RWG, tl, env, i64) -#if defined(TARGET_RISCV64) -DEF_HELPER_FLAGS_2(fcvt_l_d, TCG_CALL_NO_RWG, tl, env, i64) -DEF_HELPER_FLAGS_2(fcvt_lu_d, TCG_CALL_NO_RWG, tl, env, i64) -#endif +DEF_HELPER_FLAGS_2(fcvt_l_d, TCG_CALL_NO_RWG, i64, env, i64) +DEF_HELPER_FLAGS_2(fcvt_lu_d, TCG_CALL_NO_RWG, i64, env, i64) DEF_HELPER_FLAGS_2(fcvt_d_w, TCG_CALL_NO_RWG, i64, env, tl) DEF_HELPER_FLAGS_2(fcvt_d_wu, TCG_CALL_NO_RWG, i64, env, tl) -#if defined(TARGET_RISCV64) -DEF_HELPER_FLAGS_2(fcvt_d_l, TCG_CALL_NO_RWG, i64, env, tl) -DEF_HELPER_FLAGS_2(fcvt_d_lu, TCG_CALL_NO_RWG, i64, env, tl) -#endif +DEF_HELPER_FLAGS_2(fcvt_d_l, TCG_CALL_NO_RWG, i64, env, i64) +DEF_HELPER_FLAGS_2(fcvt_d_lu, TCG_CALL_NO_RWG, i64, env, i64) DEF_HELPER_FLAGS_1(fclass_d, TCG_CALL_NO_RWG_SE, tl, i64) =20 /* Special functions */ diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c index bb346a8249..7c4ab92ecb 100644 --- a/target/riscv/fpu_helper.c +++ b/target/riscv/fpu_helper.c @@ -223,7 +223,6 @@ target_ulong helper_fcvt_wu_s(CPURISCVState *env, uint6= 4_t rs1) return (int32_t)float32_to_uint32(frs1, &env->fp_status); } =20 -#if defined(TARGET_RISCV64) uint64_t helper_fcvt_l_s(CPURISCVState *env, uint64_t rs1) { float32 frs1 =3D check_nanbox_s(rs1); @@ -235,7 +234,6 @@ uint64_t helper_fcvt_lu_s(CPURISCVState *env, uint64_t = rs1) float32 frs1 =3D check_nanbox_s(rs1); return float32_to_uint64(frs1, &env->fp_status); } -#endif =20 uint64_t helper_fcvt_s_w(CPURISCVState *env, target_ulong rs1) { @@ -247,7 +245,6 @@ uint64_t helper_fcvt_s_wu(CPURISCVState *env, target_ul= ong rs1) return nanbox_s(uint32_to_float32((uint32_t)rs1, &env->fp_status)); } =20 -#if defined(TARGET_RISCV64) uint64_t helper_fcvt_s_l(CPURISCVState *env, uint64_t rs1) { return nanbox_s(int64_to_float32(rs1, &env->fp_status)); @@ -257,7 +254,6 @@ uint64_t helper_fcvt_s_lu(CPURISCVState *env, uint64_t = rs1) { return nanbox_s(uint64_to_float32(rs1, &env->fp_status)); } -#endif =20 target_ulong helper_fclass_s(uint64_t rs1) { @@ -336,7 +332,6 @@ target_ulong helper_fcvt_wu_d(CPURISCVState *env, uint6= 4_t frs1) return (int32_t)float64_to_uint32(frs1, &env->fp_status); } =20 -#if defined(TARGET_RISCV64) uint64_t helper_fcvt_l_d(CPURISCVState *env, uint64_t frs1) { return float64_to_int64(frs1, &env->fp_status); @@ -346,7 +341,6 @@ uint64_t helper_fcvt_lu_d(CPURISCVState *env, uint64_t = frs1) { return float64_to_uint64(frs1, &env->fp_status); } -#endif =20 uint64_t helper_fcvt_d_w(CPURISCVState *env, target_ulong rs1) { @@ -358,7 +352,6 @@ uint64_t helper_fcvt_d_wu(CPURISCVState *env, target_ul= ong rs1) return uint32_to_float64((uint32_t)rs1, &env->fp_status); } =20 -#if defined(TARGET_RISCV64) uint64_t helper_fcvt_d_l(CPURISCVState *env, uint64_t rs1) { return int64_to_float64(rs1, &env->fp_status); @@ -368,7 +361,6 @@ uint64_t helper_fcvt_d_lu(CPURISCVState *env, uint64_t = rs1) { return uint64_to_float64(rs1, &env->fp_status); } -#endif =20 target_ulong helper_fclass_d(uint64_t frs1) { --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158657; cv=none; d=zohomail.com; s=zohoarc; b=Sg2YPtrdUjXkXPLYD/4nbgFwkn/B6D50c1Z+RwM8r5GYKTZLfO72yNj4SUAW5N82vdLW3Kqd5s4aQ2Ovzeag8V5bGSLwgESjgipalhPOIo5SeByVIOShVRWcrgZvW6wrqtEmBkoA8qQXpQ4orLiOF4Nz5lN3V2sJqUzpNGL25vU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158657; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qwmp76jOZEbhZtUZpO9RDjCYnr7+Y6XKi7f1tiyHXaM=; b=Sojf7OB95zN+NhjajiqkqlF5VAv4ZMlKdX0Id+8IeEMkhN6fBXfJ7ILLQO3j4VrMK3juzQloKe5FjXFdD0OYXaLZ3VzbhA1fh6FbGr3mnn8fUU0XS56wnRpWxxdsmufASNUFfffMDcN6MGNXDB0OP9ZMiSXhlACMP7J3lV8yvSY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158657455507.69084226761015; Wed, 16 Dec 2020 14:44:17 -0800 (PST) Received: from localhost ([::1]:42006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbW4-0002VN-Tw for importer@patchew.org; Wed, 16 Dec 2020 13:27:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33708) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRw-0005kG-1z; Wed, 16 Dec 2020 13:22:56 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42030) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRt-0000MW-BV; Wed, 16 Dec 2020 13:22:55 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:47 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:26 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:22:51 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143449; x=1639679449; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=QElF5Cl+M14uOP2get+i3gs/AtZ1Ri5bYCtqT6FdM/Q=; b=MwPnBLx2NY5sn8CdY6Z/Oz8bRma80P1TWJ0MwIdWU4lRZ5s3JdZAiIWT YNjEQYSeTntZxWBqkaMyt1/Aa+YMSzUzUcRyHr4NcHcsNxG6SCZvV9q0V zluzYvEAagIw3fhjJhabSDdj62mzJqztRuSl1nZKl5z3BceOcO08T4/v/ tUQtfD+bYHLdTN2EOMfiP4y7USldRf6UV/T1kJ5++FiyW+YT/qmdBnBKg GZWbpSeLwAB+4MxmwoehR0zepJLE1U2dSraMMknY6XVaO5IvSrEp9je65 c0JN9kwcDC+BGkw4hx7we9u7AIgSbcTIfzr7Bw4T2+nxOF1r6pnnm2Uwc Q==; IronPort-SDR: dpZS70brWcONIPqkDDGlKCaYrRV/WnB2z4txFqZGnvSxGxc1PdwxQulToJnpwqjN1z3LA9VfVr CUMLCt/BY2YGqNvFLlQCFYyU8XJPsq3LOaOcfvrXEjomqtwRWlJ89bEMAEl/pEe/vAlntJSrCN pKLjrEwLh8uBK4prZk43QZ//DpguCiLAsUhizackCaqU/nBNmwpMOGnmCLYCbBmBmqV2Jv7qqV r9MGphe3jJKq6wiwT2aovLzMfg8/LqswGPe7e2tyCgaeLEHCaMoB/fRBmtYjx0gPVwJeVtmjcS bIs= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080369" IronPort-SDR: wQwwER78dFb13Y7EJ+M0lnzyi57wpIRRpQMWA/vadkhWoh+aobYU6vZqJkO0wDiomN4/YVAoKx 6CQUR5mbMxKCu/qv2kmBQIorzC0CB/L3d1ZLRjGCnh9iv6INfhn6bUCkpJr9Dq4OK7V0GuD0d0 UMU9pDis5I+Kha9d1t2nEKwBQ35w5rdD32cF7FkIuRjlYx4uasZ7NXMB0YZdLe8bUtnBawnWYi gOW2iOWDpWx/lRxqamACNEvOsLTnY7imZWZ6Yg5AKENn6Rpsocyj6nfRvnYTmEDQ4Ve59vKghy 4vevx1j9Mn8MtXtPT47CzsrI IronPort-SDR: S8WkY8LPWR25wFilwAn/1Z+gNPh7C8bt6hu5pg31jIkRDkjfaqhfc15lIs/OQbnUFGM3zeLU3L yR1vzpobd11VMSHyvq0BVjvFCUj2ejcf9c8nbK51+BO33myxD3z8Mw1EiTpLopChko5ZIjKdbL mGL2yLK3fnvIJy0KWiBqRWYyKEgnRX/wZzV5P/Vcvevu6RCSCxMEdzh2cnn5pwsx14hPfAG4ql Lx/0EG3tyfxNQdFwDXsYIU4v9Q36PkwEtx2lUnqasWsxUF8/77Ypy71gTs8Ah4oeafo9tLrnyD AD4= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 10/16] target/riscv: Add a riscv_cpu_is_32bit() helper function Date: Wed, 16 Dec 2020 10:22:51 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- target/riscv/cpu.h | 2 ++ target/riscv/cpu.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 9c064f3094..6339e84819 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -384,6 +384,8 @@ FIELD(TB_FLAGS, VILL, 8, 1) /* Is a Hypervisor instruction load/store allowed? */ FIELD(TB_FLAGS, HLSX, 9, 1) =20 +bool riscv_cpu_is_32bit(CPURISCVState *env); + /* * A simplification for VLMAX * =3D (1 << LMUL) * VLEN / (8 * (1 << SEW)) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 6a0264fc6b..32a6916b8a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -108,6 +108,15 @@ const char *riscv_cpu_get_trap_name(target_ulong cause= , bool async) } } =20 +bool riscv_cpu_is_32bit(CPURISCVState *env) +{ + if (env->misa & RV64) { + return false; + } + + return true; +} + static void set_misa(CPURISCVState *env, target_ulong misa) { env->misa_mask =3D env->misa =3D misa; --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608143317; cv=none; d=zohomail.com; s=zohoarc; b=Xz7Nd1Aih4Q2sPI1T6U1IVbtzLhfNnTt6HCg0QPmKIjwzbQZaJVnNDBx61CBgURciJ6a8AxDn5zOU5Jzx0yYrFc4U3IBnYVUM8BCcP1sA4vKDF3Lk4O/gW/vWw6biUQ3C95EUejj5ZvVXM6hlJQ6otQOLvV2Rzitpf9TsqHfcb0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608143317; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=p34Fos4xrEw0fx2hD0FJzgfIXYwp54iKPmdGXkdOKTQ=; b=kpI4qbahBxNrKUcuOCjrNWBMbTXqMfi+vyfgXlqFvnlKlMv2kTmMApPpvPVROR4YVNZefLqXxeL62K1s8kr7Ih2nmwwiOHJFMh1Be+5d8UPz77WL1nALHWXXYVba0AOOLtC81v1gbZWiXzZ00ti/l9sQJXrY8YvREFOVjFvFld4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608143317297678.3149250882991; Wed, 16 Dec 2020 10:28:37 -0800 (PST) Received: from localhost ([::1]:47150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbXQ-0004dp-1L for importer@patchew.org; Wed, 16 Dec 2020 13:28:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS0-0005mU-56; Wed, 16 Dec 2020 13:23:02 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:19131) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRw-0000Mi-MS; Wed, 16 Dec 2020 13:22:59 -0500 Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:22:54 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:08:11 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:22:55 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142976; x=1639678976; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T3BMTi955AQgyuWVuVPGYtk2E2wUw4FfzH/P2U82/hc=; b=oYEltYjcz57KfxF8HRtyi2nC4vsvXtDj8s9l2PXxxUi9BqfRmqerxo2L ld3ZezFv29m0Bw5/nh3WRU9k9tkiU9QL+BFTr04jhwwEcnBFBM7IDm6/w xtXRq5QEfEeO8aoOK1ONp0rDcg8QmVpRN+ImWJH7hjMjDY8AhqyW7UTNE P4p1hOykgkW2aOFClFkJfYTEPlv7YGhysSE7cc5iTYsy9xw8U2SGfueYf 7TkhoOgZCIPX6hZBvbcHwQ2eWaLjqLvGt2YWMvTK/MgUUK5Uv5kLzN2ZB s6TelVUOZAXQ6SayP9OG673p/12l31sFu5LeJ6srXBoXOy7t6TqKS4T3T w==; IronPort-SDR: PSXbTeYgXqOJlbc92hufD7tGQI9euEM6SfyYGKNZ19VUTwTQxuhYcjx4rg4o8fJ1BS0D90X+Nj nNoWyQM5MW7hiES2huI8O7vYA+UEsnhY6cNlwtQBB5L57eTQuZBJV5txesl8kvTFScAC5rLV4G xbDd1T2btmVnbWWr0ZmrgOWGKVsKBL24d4WXbacBuVvzbgzcKn9RBwfq4YF8itYjRpRIm5qGQ9 WCNXYq2rFKcY09irhVZF4eNNEzS+mm7q0VljOFr4bxCjelfpz0ZdB1Cuu0OY8yNZ72eni4XAvr j6U= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="159755928" IronPort-SDR: paHlylp3ZoTPVlPvYzCyNH+uBMyqOAUCBxksIyoTPso/rOs+kBHXxSGCcAk7yAKio8pi6PzOA6 t2mpj2JvYN+TRp8ia8t6rPAHTmRQ5QdH4l82B22TvRaHCXG6L/FuDHBKnlflSzKf1Tc4yEGPwv nANuOwmvX2v1nxf0f07tTDBfvhVnPmpkbDWIQM3iICHiSIbA4Oca3/WyWjThIx0t4g5V7yOF3O VvdzBSLG9DGH6uyCQ4YYmr853SuNl1mbmnEWherbxvLNir6IRpzTESBVkuaoUD1uRMWbrbmTXB GjUEGwY3l9sLFhYE8h7fxDa5 IronPort-SDR: oOA6FZxwW2yKKtGhnjpbFqRPG/60ar0+PlDGl3EujrCkDqGwbI+i5gtmdK1j9a8A2Z/33JAVmh b2jVxc6NYwZXUrjpEyb2W6hN5NgmQIzJgrBoZeGYRFjfvCLO+zVn5qjV0ZIXmUYLu8BLXEf2rs xG12WvIgifmXW9OQb/FB0ynHuCOtT5DYZHTMCUy9EOMiUvuBUxuksdgIM/i3I8P+2GBtdTDuXu ORHvFlYQyOzvUMvfrkLYLyTEa3cXUo0v+ny48z2OGiWc3gv+55YrSF6wSsUcT6V0NqqwGnKsTh MVw= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 11/16] target/riscv: Specify the XLEN for CPUs Date: Wed, 16 Dec 2020 10:22:54 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.71.153.141; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa3.hgst.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Richard Henderson Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- target/riscv/cpu.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 32a6916b8a..7d6f032122 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -158,22 +158,36 @@ static void riscv_base_cpu_init(Object *obj) set_misa(env, 0); } =20 -static void rvxx_sifive_u_cpu_init(Object *obj) +#ifdef TARGET_RISCV64 +static void rv64_sifive_u_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; - set_misa(env, RVXLEN | RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU); + set_misa(env, RV64 | RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU); set_priv_version(env, PRIV_VERSION_1_10_0); } =20 -static void rvxx_sifive_e_cpu_init(Object *obj) +static void rv64_sifive_e_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; - set_misa(env, RVXLEN | RVI | RVM | RVA | RVC | RVU); + set_misa(env, RV64 | RVI | RVM | RVA | RVC | RVU); set_priv_version(env, PRIV_VERSION_1_10_0); qdev_prop_set_bit(DEVICE(obj), "mmu", false); } +#else +static void rv32_sifive_u_cpu_init(Object *obj) +{ + CPURISCVState *env =3D &RISCV_CPU(obj)->env; + set_misa(env, RV32 | RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU); + set_priv_version(env, PRIV_VERSION_1_10_0); +} =20 -#if defined(TARGET_RISCV32) +static void rv32_sifive_e_cpu_init(Object *obj) +{ + CPURISCVState *env =3D &RISCV_CPU(obj)->env; + set_misa(env, RV32 | RVI | RVM | RVA | RVC | RVU); + set_priv_version(env, PRIV_VERSION_1_10_0); + qdev_prop_set_bit(DEVICE(obj), "mmu", false); +} =20 static void rv32_ibex_cpu_init(Object *obj) { @@ -191,7 +205,6 @@ static void rv32_imafcu_nommu_cpu_init(Object *obj) set_resetvec(env, DEFAULT_RSTVEC); qdev_prop_set_bit(DEVICE(obj), "mmu", false); } - #endif =20 static ObjectClass *riscv_cpu_class_by_name(const char *cpu_model) @@ -643,13 +656,13 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { #if defined(TARGET_RISCV32) DEFINE_CPU(TYPE_RISCV_CPU_BASE32, riscv_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_IBEX, rv32_ibex_cpu_init), - DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E31, rvxx_sifive_e_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E31, rv32_sifive_e_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E34, rv32_imafcu_nommu_cpu_init= ), - DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U34, rvxx_sifive_u_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U34, rv32_sifive_u_cpu_init), #elif defined(TARGET_RISCV64) DEFINE_CPU(TYPE_RISCV_CPU_BASE64, riscv_base_cpu_init), - DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E51, rvxx_sifive_e_cpu_init), - DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U54, rvxx_sifive_u_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E51, rv64_sifive_e_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U54, rv64_sifive_u_cpu_init), #endif }; =20 --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158706; cv=none; d=zohomail.com; s=zohoarc; b=ZXevvZW9oEbrxkkAVwqPy+rN+nZafQVJiGxL3wpmbRL+kKjt/Bg08uW7Y5kgn9V2jeglyVsXYqe7Q1WGuWAWv7ALXtmB1ucWek+vrZMsX72x4lX0S8YPS60sPNf4TFS1V1beDnwaoKer6qWvrQhtCoH2K3KNibvpEu6gW+e0eA0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158706; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GeFHBMwUVJk0Rl6JQPBRgZ6OYrij/JeT6sry7x5c6t0=; b=i5tScbPfXO/qR81vSC1Q6UrRHEZwPCRmsGxVNGcYLWfTE7L0QXyIO2RMtM3sOwKL0C44xbNJI3axJgsN2DyZ5SYEkgKuCqI4LIqNEesMAdiNzZUkKl7OObTddyf2dD1+2Nv/T9dpCuY2gQbrThe65eOefdV1oeRoiJ6dT4csKcI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158706690651.8602360035327; Wed, 16 Dec 2020 14:45:06 -0800 (PST) Received: from localhost ([::1]:44314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbhA-0006pY-Tr for importer@patchew.org; Wed, 16 Dec 2020 13:38:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33748) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS3-0005nX-51; Wed, 16 Dec 2020 13:23:03 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42030) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbRy-0000MW-9h; Wed, 16 Dec 2020 13:23:02 -0500 Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:55 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:32 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:22:57 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143456; x=1639679456; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1zLmtXNN99ByuG6SY7cbVOGEnCnWCQpRWpzJGw+Gb/M=; b=DKLC+OumyxEIuXbFrkuLgDXwW4ZU/QXF2xNold/76HnDTeJJcu+PPLAo xCWpvZH7rg9tZksajs//avsVa6lCdCkG/iBwzfR+hnUM8Hlqw4r1AV7Nz zPOzu7PW20KfP8oE4sp1UsZr8beUTbPo7bey6PmhNa8TXve+gi5+Mm8g7 Zi5ILKdVUYBFuBrhR352YDaWDNhCgUz4ytvigOiBVivMxIq5TqqEh+ZLh ycCp++0hOh1byEqTYrNwSi8el5NzwnOAk/CY8g2f/pf0gXRVUf+Nm4J1y d8v9XYMEgVtHsCa9eKYSTC/GjZlFjUO53O3FcprYtthstLDE1uERv8Fbh w==; IronPort-SDR: d18NWFSAO3aKh+TZRWNKfFZSyUEUD0bxe7QQ189DhIcIoZX7kSipL4UGsmoOeTe0HQ1AFbvRe8 mE/YVenU+/IHlWdN6aZjTlPBjobDDCHuWG+WoSPGazm8l/8HSZeJ3fd6JTU9a14gG1sHwthCHH 8zfU0OdP/HYPQt86lcqpLPOjLxe8Iy3CUyTnv8kGe1S/U5jWYNFG8O/q5YJ+Eq8X4tYvTE2O79 f6DXBzii1GMTUfly5Q49R85GazpfZyHL986Cvs/otPtj1YgubvvmFIO5GdtW6sNLKzm8QZkEaG plw= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080375" IronPort-SDR: 7rKkuclalf2fqRI2ROkTG7Ynnzpo9KiGnkS77yyURw7P6buItnGSeXKDwiHcXKu0SWpvyS1N3j HcYgYfMauTsJKDziIEdM4nU+4K31tEZr3g2OAeq9mN26YXoZHxbmwJ06TnzDixhrGFF1C9K2H3 /YwqdkuvJbc+zEH/FyiPG5KZ55ZFLskmZO35iqt47LmjjZGkli2kmvVH5zmzIpS//Rw1idq/Gz UQob1FdzhPJ3pX18F3dcUwKg6LuGy291MOWXlZLoOjAsTHHMTploN2yq+moYwNyxJVSGxYxcPg ZD0FN174rJja+ImEBMLE8eRL IronPort-SDR: 5TU1A5WCHP/OQaRHhRusflQPP/n+L7PtCRFzgSdlyFIsHroiegrtJBU0Tbty1E8Z1OB5aXp3jU +knC/X7N2063CQNxoLcqGxr3iq8IU9YO8IuW8KmGA5lzbXwqwQNCY19ZDF87+sceBxoh1rTvFz wjCbN/noCFq/OhlaUbTFVdSExhOTRCeooy00nmcq4XOaPcNOhhGAsCbW4Djds7MTX/FAnup4mN f903vFwJ2Y0pvIJID0/0VMXrJczlbuObllmY6F7Uy4sjAYoOygrD1OvAhxdBf7ZyUpMu3PYd0R mC8= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 12/16] target/riscv: cpu: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:56 -0800 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Richard Henderson Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt Tested-by: Bin Meng --- target/riscv/cpu.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 7d6f032122..47b738c314 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -240,10 +240,10 @@ static void riscv_cpu_dump_state(CPUState *cs, FILE *= f, int flags) #ifndef CONFIG_USER_ONLY qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mhartid ", env->mhartid); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mstatus ", (target_ulong)e= nv->mstatus); -#ifdef TARGET_RISCV32 - qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mstatush ", - (target_ulong)(env->mstatus >> 32)); -#endif + if (riscv_cpu_is_32bit(env)) { + qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "mstatush ", + (target_ulong)(env->mstatus >> 32)); + } if (riscv_has_ext(env, RVH)) { qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "hstatus ", env->hstatu= s); qemu_fprintf(f, " %s " TARGET_FMT_lx "\n", "vsstatus ", @@ -356,11 +356,12 @@ static void riscv_cpu_reset(DeviceState *dev) =20 static void riscv_cpu_disas_set_info(CPUState *s, disassemble_info *info) { -#if defined(TARGET_RISCV32) - info->print_insn =3D print_insn_riscv32; -#elif defined(TARGET_RISCV64) - info->print_insn =3D print_insn_riscv64; -#endif + RISCVCPU *cpu =3D RISCV_CPU(s); + if (riscv_cpu_is_32bit(&cpu->env)) { + info->print_insn =3D print_insn_riscv32; + } else { + info->print_insn =3D print_insn_riscv64; + } } =20 static void riscv_cpu_realize(DeviceState *dev, Error **errp) --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608143467; cv=none; d=zohomail.com; s=zohoarc; b=Wc71pGgKX4qgX5xFeGwtc8X2NAE/U369DHDnGLGnEQn/HKR6X/+GnlhSwUysEuFer+nayg/kFjGjPXybhGzMMG/NJwFSk+P6bHZpu5IosZm+keV2ahGJRc3Qum3SQi2hTDIhbSTd8O0Ccw/j/vW4kVonLCcfpUXeBQr2Os8hxXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608143467; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hQK/hYfsjminxvjJFBq/LwCYrI7YzNnlKxVAMKV+gMo=; b=RehgRPmq0vb22VM3gj3NXOzDsxJ//Tou1Ftw4ta9KL2X2u4ttv6kX6sUbmUMuO0Qci3rEO/2q693xWoJsna9ZJAwTY4MmiU4WdF16RLYnxJldV46ibiu8aTeu9KoL8SDBcopHWaQcsCorYeHWtTgbsH5uAp9xfWwluUTJtS/NM4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608143467767270.81673254252587; Wed, 16 Dec 2020 10:31:07 -0800 (PST) Received: from localhost ([::1]:52350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbZp-0006lg-5M for importer@patchew.org; Wed, 16 Dec 2020 13:31:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33766) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS5-0005pe-2b; Wed, 16 Dec 2020 13:23:05 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:42037) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS3-0000NE-9u; Wed, 16 Dec 2020 13:23:04 -0500 Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:30:59 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:08:17 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:23:00 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608143464; x=1639679464; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AbpDifj6fxXpSycLYw3+oac50PZ8804aASGpsTDADlk=; b=pK//1/AksSPWSpqneKH2svK7JvPV7yS4k29moCeXy4JqghEv+Brj1WFB TOnj6VksuOWTUnl/9dwQ6tT3BwJEDoqyzjpm+zzd5JB1pTVaRbPsw+1UQ 4+U+QWuvIiHxkO6n8yakqFaFlaIfL38gomq+srACWO4DIaEaGPvy/7o8w dkyiOhyNuwwlnpAHN6okTmwEGluBOP5Bust4pohhQVCkov2AI93PzoMm3 R/aZzOuL5lVtq5t1s9ccGN3wbbTA6m+wah9tcw8KPIjawxwsYlFcyR38R nunl/V2mbLl1MLVVmrhIaunAaUqFXl9GSpfZy8eE8PIbc9GHRr9Hhirh1 g==; IronPort-SDR: ffFTm8G7LZs5MNEhfBzV8NvRM6i7f9TR8eIYoxqmqjtEpYpZ38ms97+yHszS0u7C0mMlhSuiwS XrjA2K2zGKykaB2DAm6ORL9Mw5btmthyjgK90pk0PRUDPPXLc8vTyCsfsSmisdsFDCpsPDR7JN ww+ERub0mWOToRcApOYRB4UtMv4FfXfPN00RM5per60Eg79isVcyxTVq3dQP2jV4kDZ/W40AZj yVgbSWIbw2m2igEX1xp8seNasBDw/hdIy0HWjLdW5uZF4vJ2WHccI1zRkAqQ5dvEtrwdiCu9JA wnI= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="259080377" IronPort-SDR: E93mPdlIZOQqJEvskkIgRHyedaEk+nxil3AieaeVwHJSMzq+7SfDS1wLW532cHGH9tes8xJ+EG vEzLDYc6DQkVGNdEhoyUbMylC2pVvq1cT6Vg+8yRMylQNrV6FbDWGnGCfY4J7UJzKcbTzb4n3n Qang9kPrekVFrQ7SgpRDGLokUQ5ELx4pvbCBVjQPbBlYE3LdnY+gmER9BH4QFVoOL3RJqdkPMq djimz0Yc80lffaFYIhJ61attI3/Uv8ReLa52JvxRLFb8SLMFLT/vk4muxRgNbxgAPCvSgS6dZU 7a73TGEl9sEma28Ca5RqqUWO IronPort-SDR: M3/zHRzEJhFYZoMZIlSecToRXgj36oBEXxrkNGtJGwm8QN7INWGhTTnDAE9aWuRN7/EOzt1bVs AMNNLQgbGsKBendRBr73czk52IgI9gcpervSE4nq8DsFCwhzheiwFNIyVV2yRcx15iZm2XNxDl VHAjh35eXFbiuCJVI4PVPSc1RGrd9phHBOmBJq3u+jNLqDdbcnR28bvF7ifKLBjPLOW9sRf46l A551ccks/uHLTMP5ra7U5CDkeBtl1I+aHT5lRtxQGL13jh8MLuo+rY+UKq7kMIuYMqA6lQ7L3x T6c= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 13/16] target/riscv: cpu_helper: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:22:59 -0800 Message-Id: <872d2dfcd1c7c3914655d677e911b9432eb8f340.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.143.124; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa2.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Richard Henderson Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt Reviewed-by: Bin Meng Tested-by: Bin Meng --- target/riscv/cpu_helper.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index a2787b1d48..1fc9273cea 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -446,11 +446,13 @@ restart: return TRANSLATE_PMP_FAIL; } =20 -#if defined(TARGET_RISCV32) - target_ulong pte =3D address_space_ldl(cs->as, pte_addr, attrs, &r= es); -#elif defined(TARGET_RISCV64) - target_ulong pte =3D address_space_ldq(cs->as, pte_addr, attrs, &r= es); -#endif + target_ulong pte; + if (riscv_cpu_is_32bit(env)) { + pte =3D address_space_ldl(cs->as, pte_addr, attrs, &res); + } else { + pte =3D address_space_ldq(cs->as, pte_addr, attrs, &res); + } + if (res !=3D MEMTX_OK) { return TRANSLATE_FAIL; } --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158888; cv=none; d=zohomail.com; s=zohoarc; b=h8yHwg3q4zXhUvNOmG/iPJzII7ZjNkmXAkHhjIEpBT1g0dIr5gHGMbKBhNCfDWP3fb3/D3oqLHetv41R1VJ51vGt4n4BqABLMzZ9PKVoR50aVskwB2+/bus6AcV8LMQXGTMMNUx1HXlmOkRuGKLtDYqduT0nEJfk6esX5O0IWPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158888; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dwXQIpQcEuiBNGcKc/zk0SkWKqUVM6x8SpVjaPIjm4g=; b=hJoQ3vc06Dn1eJ7dikZbz9FjatV5GGQkds3vQ1mreRf9WV1HR0bY8jWulmgLM98tl5/Kuy7qedTC6orYj+w9H3ryjsOFZjUehuNgbyoM6vKN8Pd6BaKX1XSk2ZNCu+nSC1NdrIt5k+nGaz+sspUHywzbGX6/Wms2FFp015+syX8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158888937159.49945999795966; Wed, 16 Dec 2020 14:48:08 -0800 (PST) Received: from localhost ([::1]:58492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbcZ-00011F-5n for importer@patchew.org; Wed, 16 Dec 2020 13:33:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33784) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS7-0005sX-Jh; Wed, 16 Dec 2020 13:23:07 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:16695) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS4-0000NO-OS; Wed, 16 Dec 2020 13:23:07 -0500 Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:23:02 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:37 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:23:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142984; x=1639678984; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=80bilaj3htMYkZxnKX4l8SXxQ3qasaZUMekyBlyon8s=; b=CMlTJZCL6YWm4vUlzV3mPjvFxlh5eBMMj8ZzC4wKU+8i9VzjUu7gwgpl 86zDHvNRT3BiM3fI8V232eDRCMWYPO5t9JmJnpzHGojouQKGKFUVDdHqo NSoQqhFyWWeKd2emITg41kODrgMeBEn8oJ7IkOaDiAyEiVO38DimvCcSP pJCPVvowrNkjlHw5FYm5EOxrX7fzXEZW9SH2r4B5Ux43IR+x7LgD73aKD fFn/HnN6SOUZ8OLm57WS3Li9oB8xb1tQbGA5Fw3ILW21XmHbo9XSCDCnN 3kECFredNwPVOY4bm9PCgdFNTKs6F8DtJk9EftCVljmCD9SHqxk4fFKeG A==; IronPort-SDR: om3AkGdz4H3uCJ8UNOZVNqJAT/jp9xAFxUqMBFvrceGpaL4FFLvR1NgXldBTYrmOrlfUKZGzyI XZxENh+4i5Ii7tsLT1HsP60RYEjVKYK1r2Z0DzPla2ddG1741azB3FZD9yO6uGi+1o02+hY/vS SxRLHCUmclPxOl1JCEwhSOhb+Tye8rcj64EUV7rZQMfiWM/20T8tVBb9PUGOiychQZNaGRmox2 wEzh5Gbsvgt7Tv78LZ6xu4a+j1LHVaK9WsshplUJwEZbYJCsSH7OuwCqadQfjL7vqNyORM2Hm7 eWE= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="265507642" IronPort-SDR: /vZgABSRnQH6X0o59p9LGzbX9yZwmvLwq5x9kAcDteZTKis+weBbx9uQeHCj/w0DkbugvOMRzz 0B95OKh1VgXWDMeIUAZdGnCd7Bu+P0Kvcykz5UY9kynL2tTzt7pk2eBAXes1MGWUQISOxj1qUC PZtxROWH1wwVp9L/XCNod6ipCn1ru0ObYcrlm+kX6pDg/x/Sw8G7iktou0LnmUeEvcO3Api9I9 fncytNA1xdJDTZq9tgwC25jESD9K7mPjVjoX8/SyWO5R1ktQFl7Sd+2sxqKKB+7Y0m9cSs+QqV 27xZJo9SBqLYMZPMfTg7WE5/ IronPort-SDR: 1vzmHg76uNqbw1Ff2/irJ1tC7JysRdZWSUYsTgpmBsxj/AnHvtZKBls7KeD5TZ21aD8sBdpjKd X5qLiQnHZ54s1pYfsk0WkbC5FLT/Q4EPrMFxXFXPKBBP3aupFQtEizsKltHECbwV7it1Rq7Ngb 9TaEU1dvwV6WxQff+nh752d/IUauXt/VKdV5ts82O8C84Zwtmptrl1SIhX60OSt92yfhV4AF3y bV1lYl/L7RnuVoiSxC64q17/pdxgMqu5wYCaYfhs96v3g7HqNW5CHoUsE5ieoslEAiwUFMEicS 0/M= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 14/16] target/riscv: csr: Remove compile time XLEN checks Date: Wed, 16 Dec 2020 10:23:02 -0800 Message-Id: <7371180970b7db310d3a1da21d03d33499c2beb0.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.141.245; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa1.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt Tested-by: Bin Meng --- target/riscv/cpu_bits.h | 4 +- target/riscv/csr.c | 176 +++++++++++++++++++++------------------- 2 files changed, 92 insertions(+), 88 deletions(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 24b24c69c5..1337269ae8 100644 --- a/target/riscv/cpu_bits.h +++ b/target/riscv/cpu_bits.h @@ -437,9 +437,7 @@ #define HSTATUS_VGEIN 0x0003F000 #define HSTATUS_VTVM 0x00100000 #define HSTATUS_VTSR 0x00400000 -#if defined(TARGET_RISCV64) -#define HSTATUS_VSXL 0x300000000 -#endif +#define HSTATUS_VSXL 0x300000000 =20 #define HSTATUS32_WPRI 0xFF8FF87E #define HSTATUS64_WPRI 0xFFFFFFFFFF8FF87EULL diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 93263f8e06..10ab82ed1f 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -102,44 +102,65 @@ static int ctr(CPURISCVState *env, int csrno) return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; } break; -#if defined(TARGET_RISCV32) - case CSR_CYCLEH: - if (!get_field(env->hcounteren, HCOUNTEREN_CY) && - get_field(env->mcounteren, HCOUNTEREN_CY)) { - return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; - } - break; - case CSR_TIMEH: - if (!get_field(env->hcounteren, HCOUNTEREN_TM) && - get_field(env->mcounteren, HCOUNTEREN_TM)) { - return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; - } - break; - case CSR_INSTRETH: - if (!get_field(env->hcounteren, HCOUNTEREN_IR) && - get_field(env->mcounteren, HCOUNTEREN_IR)) { - return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; - } - break; - case CSR_HPMCOUNTER3H...CSR_HPMCOUNTER31H: - if (!get_field(env->hcounteren, 1 << (csrno - CSR_HPMCOUNTER3H= )) && - get_field(env->mcounteren, 1 << (csrno - CSR_HPMCOUNTER3H)= )) { - return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; + } + if (riscv_cpu_is_32bit(env)) { + switch (csrno) { + case CSR_CYCLEH: + if (!get_field(env->hcounteren, HCOUNTEREN_CY) && + get_field(env->mcounteren, HCOUNTEREN_CY)) { + return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; + } + break; + case CSR_TIMEH: + if (!get_field(env->hcounteren, HCOUNTEREN_TM) && + get_field(env->mcounteren, HCOUNTEREN_TM)) { + return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; + } + break; + case CSR_INSTRETH: + if (!get_field(env->hcounteren, HCOUNTEREN_IR) && + get_field(env->mcounteren, HCOUNTEREN_IR)) { + return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; + } + break; + case CSR_HPMCOUNTER3H...CSR_HPMCOUNTER31H: + if (!get_field(env->hcounteren, 1 << (csrno - CSR_HPMCOUNT= ER3H)) && + get_field(env->mcounteren, 1 << (csrno - CSR_HPMCOUNTE= R3H))) { + return -RISCV_EXCP_VIRT_INSTRUCTION_FAULT; + } + break; } - break; -#endif } } #endif return 0; } =20 +static int ctr32(CPURISCVState *env, int csrno) +{ + if (!riscv_cpu_is_32bit(env)) { + return -RISCV_EXCP_ILLEGAL_INST; + } + + return ctr(env, csrno); +} + #if !defined(CONFIG_USER_ONLY) static int any(CPURISCVState *env, int csrno) { return 0; } =20 +static int any32(CPURISCVState *env, int csrno) +{ + if (!riscv_cpu_is_32bit(env)) { + return -RISCV_EXCP_ILLEGAL_INST; + } + + return any(env, csrno); + +} + static int smode(CPURISCVState *env, int csrno) { return -!riscv_has_ext(env, RVS); @@ -161,6 +182,16 @@ static int hmode(CPURISCVState *env, int csrno) return -RISCV_EXCP_ILLEGAL_INST; } =20 +static int hmode32(CPURISCVState *env, int csrno) +{ + if (!riscv_cpu_is_32bit(env)) { + return 0; + } + + return hmode(env, csrno); + +} + static int pmp(CPURISCVState *env, int csrno) { return -!riscv_feature(env, RISCV_FEATURE_PMP); @@ -310,7 +341,6 @@ static int read_instret(CPURISCVState *env, int csrno, = target_ulong *val) return 0; } =20 -#if defined(TARGET_RISCV32) static int read_instreth(CPURISCVState *env, int csrno, target_ulong *val) { #if !defined(CONFIG_USER_ONLY) @@ -324,7 +354,6 @@ static int read_instreth(CPURISCVState *env, int csrno,= target_ulong *val) #endif return 0; } -#endif /* TARGET_RISCV32 */ =20 #if defined(CONFIG_USER_ONLY) static int read_time(CPURISCVState *env, int csrno, target_ulong *val) @@ -333,13 +362,11 @@ static int read_time(CPURISCVState *env, int csrno, t= arget_ulong *val) return 0; } =20 -#if defined(TARGET_RISCV32) static int read_timeh(CPURISCVState *env, int csrno, target_ulong *val) { *val =3D cpu_get_host_ticks() >> 32; return 0; } -#endif =20 #else /* CONFIG_USER_ONLY */ =20 @@ -355,7 +382,6 @@ static int read_time(CPURISCVState *env, int csrno, tar= get_ulong *val) return 0; } =20 -#if defined(TARGET_RISCV32) static int read_timeh(CPURISCVState *env, int csrno, target_ulong *val) { uint64_t delta =3D riscv_cpu_virt_enabled(env) ? env->htimedelta : 0; @@ -367,7 +393,6 @@ static int read_timeh(CPURISCVState *env, int csrno, ta= rget_ulong *val) *val =3D (env->rdtime_fn(env->rdtime_fn_arg) + delta) >> 32; return 0; } -#endif =20 /* Machine constants */ =20 @@ -406,19 +431,17 @@ static const target_ulong sip_writable_mask =3D SIP_S= SIP | MIP_USIP | MIP_UEIP; static const target_ulong hip_writable_mask =3D MIP_VSSIP | MIP_VSTIP | MI= P_VSEIP; static const target_ulong vsip_writable_mask =3D MIP_VSSIP; =20 -#if defined(TARGET_RISCV32) -static const char valid_vm_1_10[16] =3D { +static const char valid_vm_1_10_32[16] =3D { [VM_1_10_MBARE] =3D 1, [VM_1_10_SV32] =3D 1 }; -#elif defined(TARGET_RISCV64) -static const char valid_vm_1_10[16] =3D { + +static const char valid_vm_1_10_64[16] =3D { [VM_1_10_MBARE] =3D 1, [VM_1_10_SV39] =3D 1, [VM_1_10_SV48] =3D 1, [VM_1_10_SV57] =3D 1 }; -#endif /* CONFIG_USER_ONLY */ =20 /* Machine Information Registers */ static int read_zero(CPURISCVState *env, int csrno, target_ulong *val) @@ -441,7 +464,11 @@ static int read_mstatus(CPURISCVState *env, int csrno,= target_ulong *val) =20 static int validate_vm(CPURISCVState *env, target_ulong vm) { - return valid_vm_1_10[vm & 0xf]; + if (riscv_cpu_is_32bit(env)) { + return valid_vm_1_10_32[vm & 0xf]; + } else { + return valid_vm_1_10_64[vm & 0xf]; + } } =20 static int write_mstatus(CPURISCVState *env, int csrno, target_ulong val) @@ -459,13 +486,14 @@ static int write_mstatus(CPURISCVState *env, int csrn= o, target_ulong val) MSTATUS_SPP | MSTATUS_FS | MSTATUS_MPRV | MSTATUS_SUM | MSTATUS_MPP | MSTATUS_MXR | MSTATUS_TVM | MSTATUS_TSR | MSTATUS_TW; -#if defined(TARGET_RISCV64) - /* - * RV32: MPV and GVA are not in mstatus. The current plan is to - * add them to mstatush. For now, we just don't support it. - */ - mask |=3D MSTATUS_MPV | MSTATUS_GVA; -#endif + + if (!riscv_cpu_is_32bit(env)) { + /* + * RV32: MPV and GVA are not in mstatus. The current plan is to + * add them to mstatush. For now, we just don't support it. + */ + mask |=3D MSTATUS_MPV | MSTATUS_GVA; + } =20 mstatus =3D (mstatus & ~mask) | (val & mask); =20 @@ -477,7 +505,6 @@ static int write_mstatus(CPURISCVState *env, int csrno,= target_ulong val) return 0; } =20 -#ifdef TARGET_RISCV32 static int read_mstatush(CPURISCVState *env, int csrno, target_ulong *val) { *val =3D env->mstatus >> 32; @@ -497,7 +524,6 @@ static int write_mstatush(CPURISCVState *env, int csrno= , target_ulong val) =20 return 0; } -#endif =20 static int read_misa(CPURISCVState *env, int csrno, target_ulong *val) { @@ -895,10 +921,10 @@ static int write_satp(CPURISCVState *env, int csrno, = target_ulong val) static int read_hstatus(CPURISCVState *env, int csrno, target_ulong *val) { *val =3D env->hstatus; -#ifdef TARGET_RISCV64 - /* We only support 64-bit VSXL */ - *val =3D set_field(*val, HSTATUS_VSXL, 2); -#endif + if (!riscv_cpu_is_32bit(env)) { + /* We only support 64-bit VSXL */ + *val =3D set_field(*val, HSTATUS_VSXL, 2); + } /* We only support little endian */ *val =3D set_field(*val, HSTATUS_VSBE, 0); return 0; @@ -907,11 +933,9 @@ static int read_hstatus(CPURISCVState *env, int csrno,= target_ulong *val) static int write_hstatus(CPURISCVState *env, int csrno, target_ulong val) { env->hstatus =3D val; -#ifdef TARGET_RISCV64 - if (get_field(val, HSTATUS_VSXL) !=3D 2) { + if (!riscv_cpu_is_32bit(env) && get_field(val, HSTATUS_VSXL) !=3D 2) { qemu_log_mask(LOG_UNIMP, "QEMU does not support mixed HSXLEN optio= ns."); } -#endif if (get_field(val, HSTATUS_VSBE) !=3D 0) { qemu_log_mask(LOG_UNIMP, "QEMU does not support big endian guests.= "); } @@ -1053,11 +1077,7 @@ static int read_htimedelta(CPURISCVState *env, int c= srno, target_ulong *val) return -RISCV_EXCP_ILLEGAL_INST; } =20 -#if defined(TARGET_RISCV32) - *val =3D env->htimedelta & 0xffffffff; -#else *val =3D env->htimedelta; -#endif return 0; } =20 @@ -1067,15 +1087,14 @@ static int write_htimedelta(CPURISCVState *env, int= csrno, target_ulong val) return -RISCV_EXCP_ILLEGAL_INST; } =20 -#if defined(TARGET_RISCV32) - env->htimedelta =3D deposit64(env->htimedelta, 0, 32, (uint64_t)val); -#else - env->htimedelta =3D val; -#endif + if (riscv_cpu_is_32bit(env)) { + env->htimedelta =3D deposit64(env->htimedelta, 0, 32, (uint64_t)va= l); + } else { + env->htimedelta =3D val; + } return 0; } =20 -#if defined(TARGET_RISCV32) static int read_htimedeltah(CPURISCVState *env, int csrno, target_ulong *v= al) { if (!env->rdtime_fn) { @@ -1095,7 +1114,6 @@ static int write_htimedeltah(CPURISCVState *env, int = csrno, target_ulong val) env->htimedelta =3D deposit64(env->htimedelta, 32, 32, (uint64_t)val); return 0; } -#endif =20 /* Virtual CSR Registers */ static int read_vsstatus(CPURISCVState *env, int csrno, target_ulong *val) @@ -1374,26 +1392,20 @@ static riscv_csr_operations csr_ops[CSR_TABLE_SIZE]= =3D { /* User Timers and Counters */ [CSR_CYCLE] =3D { ctr, read_instret = }, [CSR_INSTRET] =3D { ctr, read_instret = }, -#if defined(TARGET_RISCV32) - [CSR_CYCLEH] =3D { ctr, read_instreth = }, - [CSR_INSTRETH] =3D { ctr, read_instreth = }, -#endif + [CSR_CYCLEH] =3D { ctr32, read_instreth = }, + [CSR_INSTRETH] =3D { ctr32, read_instreth = }, =20 /* In privileged mode, the monitor will have to emulate TIME CSRs only= if * rdtime callback is not provided by machine/platform emulation */ [CSR_TIME] =3D { ctr, read_time = }, -#if defined(TARGET_RISCV32) - [CSR_TIMEH] =3D { ctr, read_timeh = }, -#endif + [CSR_TIMEH] =3D { ctr32, read_timeh = }, =20 #if !defined(CONFIG_USER_ONLY) /* Machine Timers and Counters */ [CSR_MCYCLE] =3D { any, read_instret = }, [CSR_MINSTRET] =3D { any, read_instret = }, -#if defined(TARGET_RISCV32) - [CSR_MCYCLEH] =3D { any, read_instreth = }, - [CSR_MINSTRETH] =3D { any, read_instreth = }, -#endif + [CSR_MCYCLEH] =3D { any32, read_instreth = }, + [CSR_MINSTRETH] =3D { any32, read_instreth = }, =20 /* Machine Information Registers */ [CSR_MVENDORID] =3D { any, read_zero = }, @@ -1410,9 +1422,7 @@ static riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = =3D { [CSR_MTVEC] =3D { any, read_mtvec, write_mtvec = }, [CSR_MCOUNTEREN] =3D { any, read_mcounteren, write_mcounter= en }, =20 -#if defined(TARGET_RISCV32) - [CSR_MSTATUSH] =3D { any, read_mstatush, write_mstatush= }, -#endif + [CSR_MSTATUSH] =3D { any32, read_mstatush, write_mstatu= sh }, =20 [CSR_MSCOUNTEREN] =3D { any, read_mscounteren, write_mscounte= ren }, =20 @@ -1452,9 +1462,7 @@ static riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = =3D { [CSR_HGEIP] =3D { hmode, read_hgeip, write_hgeip= }, [CSR_HGATP] =3D { hmode, read_hgatp, write_hgatp= }, [CSR_HTIMEDELTA] =3D { hmode, read_htimedelta, write_htime= delta }, -#if defined(TARGET_RISCV32) - [CSR_HTIMEDELTAH] =3D { hmode, read_htimedeltah, write_htime= deltah}, -#endif + [CSR_HTIMEDELTAH] =3D { hmode32, read_htimedeltah, write_hti= medeltah}, =20 [CSR_VSSTATUS] =3D { hmode, read_vsstatus, write_vssta= tus }, [CSR_VSIP] =3D { hmode, NULL, NULL, rmw_vsip = }, @@ -1477,9 +1485,7 @@ static riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = =3D { [CSR_HPMCOUNTER3 ... CSR_HPMCOUNTER31] =3D { ctr, read_zero = }, [CSR_MHPMCOUNTER3 ... CSR_MHPMCOUNTER31] =3D { any, read_zero = }, [CSR_MHPMEVENT3 ... CSR_MHPMEVENT31] =3D { any, read_zero = }, -#if defined(TARGET_RISCV32) - [CSR_HPMCOUNTER3H ... CSR_HPMCOUNTER31H] =3D { ctr, read_zero = }, - [CSR_MHPMCOUNTER3H ... CSR_MHPMCOUNTER31H] =3D { any, read_zero = }, -#endif + [CSR_HPMCOUNTER3H ... CSR_HPMCOUNTER31H] =3D { ctr32, read_zero = }, + [CSR_MHPMCOUNTER3H ... CSR_MHPMCOUNTER31H] =3D { any32, read_zero = }, #endif /* !CONFIG_USER_ONLY */ }; --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158486; cv=none; d=zohomail.com; s=zohoarc; b=Gj5l1IwtwdejdQmCbCZ2YTreGY8EHL5g7I6IcA9H5KzqAevbX7+W8Cr3n2KseZSat3MgvNnWgnn1cSrGWO4dn1lB/0i+MqUnpz/PDlcRQgtKK8p7iEFjVzCqKnehC781DyXjwQRG/YuRpIVPAlfB25b84oiQLcYH6IDOF3xvpOA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158486; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aBXJYllUHjkAYKGJtNutKluUKj1yXT+SKuJITNBg9ZU=; b=Eifi5hn0Cd+D++5xjR+mr9D6wpG5LxzkQZzj0LAalnoAok+hQ3YAsIlkRZH85gGocDE+f2hc90JssXoD4Ti5Cgs54I2UQFFnl6ZqS2kBXtyHW8Be9KGSz0YdE9ESZtCzOJlGw2Zm/vjR/B0FuWvgjNtOdYXlM+smdSh+f6sXw2g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158486693643.0378707018057; Wed, 16 Dec 2020 14:41:26 -0800 (PST) Received: from localhost ([::1]:51700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbl6-0001bP-Mf for importer@patchew.org; Wed, 16 Dec 2020 13:42:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbSA-0005wJ-2n; Wed, 16 Dec 2020 13:23:10 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:16701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS7-0000Nm-NW; Wed, 16 Dec 2020 13:23:09 -0500 Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:23:05 +0800 Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:40 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip01.wdc.com with ESMTP; 16 Dec 2020 10:23:06 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142987; x=1639678987; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JROCVnbUOqkdLIeAqp3OBuXadPgnVHgJrJLARu6eHR0=; b=cGX7QlZ/pgd5UM/gDqhDjR90OVX8WauAhe6YV0KnycF5TUml7Yny2qA/ LSk59WzcKtvMFziEtkR0Dygb8VgOdC9RXw0PS7AJcmYlEVb4KVTgf8L6A XAJVafgsd6pVgvzft1vImyiFPdxerxvxOJhLimUZnZ5TShtX20S9dPFIY QTAPCiyI/QEEJ+miXMLHAFgdXfm5CajXFJ1MiLxnXvPj4S05SivDt7bSr YWn3sOtWudx3YGRvzxlqjWGvpKha2TztWAstlR6CHofoOpCZjs12QR1HL oAg4k90GqU9ERnkiNVFMup1I1b2BnuRAK8RBIMVIAjW1/t9GWHfMDatC3 w==; IronPort-SDR: MeifR9ixAQWfddWVZEGOUaQbikgYRWlw7s3MjpOT17btJVhkj1a7j+goCRVsgO7LtQKEd9qVGu d1PK4pOcuUb+DGmZhOzvMNxCDyCHew/a4DIBTQWOBT3ChrJ5Q1Aevy8HcKNyjKyEVYFI+sIVdB iIoYRX6mXLWoy2G4mFvSISquFLpTbZQnCFCYWrn+HSr+97OcVJUv6IR1ZCFsRJ/CUcKjLyk+BK VSgCQofYM9B32lRGDWT0uehsa33l07Crh7FtuQkhDy9fOo4R+rLuk21a3qjqYSLpphHuxHEuqg a7w= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="265507650" IronPort-SDR: d6DMJU73dAmWD1TNfNbyIlI2U807bMdYuwumErRnurmcQ14+PVrEiQayo0i/lz8d7/3XAMhRIO af05M+iqbxMAgDtoCcXZFYwihQbvLXVILi9UINmK5clC1+y00YXiNF6T6xCJALxlUvZRDJgE+I QKYSFaTCuMAIiDHlGcT2jcTuOY13hJqlEK8jsTOkDcTDtaH8spoltYseFAl4epc1HBXi1LFCXY TMqlgRdeDp2GfjmkcLzaa6pUWYOXRQx9Ods8X8VCqeVB/pj7xkpLrNKN6L1XrBRLIf57tUtGu+ VodOU8/SH12umfutPfALJwVO IronPort-SDR: avpeVv2NESlGl+6NDvW7RcfNWKeHwTTvVAVdbPFJ5ad7H9olWq8Lr8v9h7VXCnSFSqj+slN1zK d7O7bBTwnyhlzeB9jOb0Q/Ddld4qDsjUHOV8S5/0ffJFa+BRxsKofvg0SqFR/MdqjxzbkRXpXF XqMe/mC2/0I3SkdMIVqhARfdq3y8O9PRrsOSPe6iAccczcdgP51aKWXFcymvk+y3pA1ob5p9O7 fg8qWlanyV3lpfzD866EE1NiZ5vqvFbtdI51QX/RljyCwx5LTOYf3rZnkP8wpMSit8sZH+A4Rh tRo= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 15/16] target/riscv: cpu: Set XLEN independently from target Date: Wed, 16 Dec 2020 10:23:05 -0800 Message-Id: <7eddba45b5d223321c031431849fdd42eceb514b.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.141.245; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa1.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Palmer Dabbelt Acked-by: Palmer Dabbelt --- target/riscv/cpu.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 47b738c314..254cd83f8b 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -151,14 +151,14 @@ static void riscv_any_cpu_init(Object *obj) set_priv_version(env, PRIV_VERSION_1_11_0); } =20 -static void riscv_base_cpu_init(Object *obj) +#if defined(TARGET_RISCV64) +static void rv64_base_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; /* We set this in the realise function */ - set_misa(env, 0); + set_misa(env, RV64); } =20 -#ifdef TARGET_RISCV64 static void rv64_sifive_u_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; @@ -174,6 +174,13 @@ static void rv64_sifive_e_cpu_init(Object *obj) qdev_prop_set_bit(DEVICE(obj), "mmu", false); } #else +static void rv32_base_cpu_init(Object *obj) +{ + CPURISCVState *env =3D &RISCV_CPU(obj)->env; + /* We set this in the realise function */ + set_misa(env, RV32); +} + static void rv32_sifive_u_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; @@ -372,7 +379,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) RISCVCPUClass *mcc =3D RISCV_CPU_GET_CLASS(dev); int priv_version =3D PRIV_VERSION_1_11_0; int vext_version =3D VEXT_VERSION_0_07_1; - target_ulong target_misa =3D 0; + target_ulong target_misa =3D env->misa; Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); @@ -407,8 +414,8 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) =20 set_resetvec(env, cpu->cfg.resetvec); =20 - /* If misa isn't set (rv32 and rv64 machines) set it here */ - if (!env->misa) { + /* If only XLEN is set for misa, then set misa from properties */ + if (env->misa =3D=3D RV32 || env->misa =3D=3D RV64) { /* Do some ISA extension error checking */ if (cpu->cfg.ext_i && cpu->cfg.ext_e) { error_setg(errp, @@ -504,7 +511,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) set_vext_version(env, vext_version); } =20 - set_misa(env, RVXLEN | target_misa); + set_misa(env, target_misa); } =20 riscv_cpu_register_gdb_regs_for_features(cs); @@ -655,13 +662,13 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { }, DEFINE_CPU(TYPE_RISCV_CPU_ANY, riscv_any_cpu_init), #if defined(TARGET_RISCV32) - DEFINE_CPU(TYPE_RISCV_CPU_BASE32, riscv_base_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_BASE32, rv32_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_IBEX, rv32_ibex_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E31, rv32_sifive_e_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E34, rv32_imafcu_nommu_cpu_init= ), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U34, rv32_sifive_u_cpu_init), #elif defined(TARGET_RISCV64) - DEFINE_CPU(TYPE_RISCV_CPU_BASE64, riscv_base_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_BASE64, rv64_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E51, rv64_sifive_e_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U54, rv64_sifive_u_cpu_init), #endif --=20 2.29.2 From nobody Wed May 22 01:35:50 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1608158737; cv=none; d=zohomail.com; s=zohoarc; b=QtyAPI/s0tOWPp39Br5mhtUBUDBc1V054IOQAUonU+M7b7tp3CuZWUxax/+MmwZa6JsIGIdcqzwTWSmEMPglR0hz6OdRuMFvqkeqrdaIQ0HP0fNLGJtBx/ZeYliSeuE29pA7o/QJgLeNF2jeY7rz+usFHs07xSYz43YUxjys0N4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608158737; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fGy/2Rpk4vN9gZJsXvUstxESmX0+z95IlQxfwt+g9xc=; b=RxOTEvh1dhqCKHJfbT4aHr7jww3HH9ClUiF9n43TkFM0jnlF2CEJeV/EQJQV9eVUhVRPF56lvJxwOXjaUiHNmAlQXhKjoy/kSy1S6ng0ZwQ3w3FCOseL/ERb54mUSSYGS0dx+opIdgwqf2gipAO6Rc4HwlnTnqLgSaE/oyQrUSY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608158737059809.726847307692; Wed, 16 Dec 2020 14:45:37 -0800 (PST) Received: from localhost ([::1]:38302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpbf7-0004Nm-BI for importer@patchew.org; Wed, 16 Dec 2020 13:36:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33828) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbSB-00060R-VA; Wed, 16 Dec 2020 13:23:11 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:16695) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpbS9-0000NO-Jk; Wed, 16 Dec 2020 13:23:11 -0500 Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 17 Dec 2020 02:23:08 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2020 10:06:43 -0800 Received: from 1996l72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.67]) by uls-op-cesaip02.wdc.com with ESMTP; 16 Dec 2020 10:23:08 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1608142989; x=1639678989; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=DIrQe7U4xe7SrMyGD37KWuxupguIicZkWBuMb2MoS6s=; b=mfG+IlKadWJjHK+8e1XHitMN6lAt8EdIoTX2aqXx5sGeJQmxKYlsNdcJ ALRv0xB1TVhDS9ApWj52z1CeXpOqq86stjQHRm7CdRqxmHv/3ePtJ5b56 GPpbXE7L1D85BJP4j4xeDxqA1I2UtXhmEL+kQb/mWDhxiVG2cM9QDhrDB 0747i10O3yy5d9CFWwbusV9ZWVuKQCgs/hbw/DfGxmSkO8PDENq8ihAK6 ZrtJ4i+NP9yCCASrA4mDmx8rtj6+IQMIuMI8dTTGtpcwVPzYBacE14/AX d5iosOmiapHCBFiHh3zRGkMRptRACHdjJ2iwYIJ+1YPAt63PDnVDzAz9v A==; IronPort-SDR: n4p7f9GpDyCEAoK8o5y0oNyoYeTdn4qRhYKTKlw0H9K+fSANv2eXYKMNd9660No0wZ9c6FiJak LhFpuYC0JNQM5WGudWMbu538hlv97l+0b75uEdPYrJOQyH2PPKHh8KFAthx10zE5qdwEHmAE0U U9W53P7T+FL+LAy5J/dSQnkjiZtUTxACJYzqj+RBLkUXjQx5U/0oU4kjga0LzPlKuFYqM3z7nN Y92LByqoKcQXS1Af77U94NANQlpvV5kepJ80Lwu6T4OPx+Y+67ngQLPcP3VGarMujpY5l4qMRn f/E= X-IronPort-AV: E=Sophos;i="5.78,425,1599494400"; d="scan'208";a="265507651" IronPort-SDR: 2wXQEhQGdbeMTam7c0/EbTvIF78mEIhSXBWfLyovm4mYEVX27zkTPrflYsnIt/QKYpmnL+zTvB 60Kkuki6Uv+WDhww3yJiVlkKPaBv0ZH7rS2d/6VcTy3dwoq2YoYIH46DS3a9YnEEp+J84FKWDs fDZKLWjLH6ktwLFveuEUp/tO+Vo9ymQis22FdZBsEH6bncTgwFgpzR6L8FH5DHoPKsDd/rYp0L WEGl6CDBBXTGxgNONBb0wy1o1bDu5h2cuNtMBDI7dk7Wc+mJr+26n07XkCkdQHawMJqH4lN0mR h84Dnr3r6VK72jVQjopzO0oE IronPort-SDR: EcSepHHwXlrUrqlJ+M7+LizRESM9zN53f7f/3ariTugUQR8jgud6Wc3WkwGSMHbW6OWwmOoD2S jblQpHKaGGlPj5yml3Z+c3d+uFW0pG88ZRK1VEBKloGl0QuYm3nydbv/E3EZMcpGEE0CR/aB12 VaYTuq2kBpNEd7dh99TgTxiBd6mNqZOj63VC2PtkXpq210furotr5S+D4W7v2L1bms6oTkUPzp GvhbLCJU0/Pgjq8YwDI0CSnxVadmWS1XQOTKKEdNR6o5++eotn/ShMfABS6ZpS+IeP0mbG0oAD 1x4= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v4 16/16] hw/riscv: Use the CPU to determine if 32-bit Date: Wed, 16 Dec 2020 10:23:08 -0800 Message-Id: <8ab7614e5df93ab5267788b73dcd75f9f5615e82.1608142916.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=68.232.141.245; envelope-from=prvs=612374860=alistair.francis@wdc.com; helo=esa1.hgst.iphmx.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair.francis@wdc.com, bmeng.cn@gmail.com, palmer@dabbelt.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Instead of using string compares to determine if a RISC-V machine is using 32-bit or 64-bit CPUs we can use the initalised CPUs. This avoids us having to maintain a list of CPU names to compare against. This commit also fixes the name of the function to match the riscv_cpu_is_32bit() function. Signed-off-by: Alistair Francis --- include/hw/riscv/boot.h | 8 +++++--- hw/riscv/boot.c | 31 ++++++++++--------------------- hw/riscv/sifive_u.c | 10 +++++----- hw/riscv/spike.c | 8 ++++---- hw/riscv/virt.c | 9 +++++---- 5 files changed, 29 insertions(+), 37 deletions(-) diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index b6d37a91d6..20ff5fe5e5 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -22,10 +22,11 @@ =20 #include "exec/cpu-defs.h" #include "hw/loader.h" +#include "hw/riscv/riscv_hart.h" =20 -bool riscv_is_32_bit(MachineState *machine); +bool riscv_is_32bit(RISCVHartArrayState harts); =20 -target_ulong riscv_calc_kernel_start_addr(MachineState *machine, +target_ulong riscv_calc_kernel_start_addr(RISCVHartArrayState harts, target_ulong firmware_end_addr); target_ulong riscv_find_and_load_firmware(MachineState *machine, const char *default_machine_firm= ware, @@ -41,7 +42,8 @@ target_ulong riscv_load_kernel(const char *kernel_filenam= e, hwaddr riscv_load_initrd(const char *filename, uint64_t mem_size, uint64_t kernel_entry, hwaddr *start); uint32_t riscv_load_fdt(hwaddr dram_start, uint64_t dram_size, void *fdt); -void riscv_setup_rom_reset_vec(MachineState *machine, hwaddr saddr, +void riscv_setup_rom_reset_vec(MachineState *machine, RISCVHartArrayState = harts, + hwaddr saddr, hwaddr rom_base, hwaddr rom_size, uint64_t kernel_entry, uint32_t fdt_load_addr, void *fdt); diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 6bce6fb485..83586aef41 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -33,28 +33,16 @@ =20 #include =20 -bool riscv_is_32_bit(MachineState *machine) +bool riscv_is_32bit(RISCVHartArrayState harts) { - /* - * To determine if the CPU is 32-bit we need to check a few different = CPUs. - * - * If the CPU starts with rv32 - * If the CPU is a sifive 3 seriries CPU (E31, U34) - * If it's the Ibex CPU - */ - if (!strncmp(machine->cpu_type, "rv32", 4) || - (!strncmp(machine->cpu_type, "sifive", 6) && - machine->cpu_type[8] =3D=3D '3') || - !strncmp(machine->cpu_type, "lowrisc-ibex", 12)) { - return true; - } else { - return false; - } + RISCVCPU hart =3D harts.harts[0]; + + return riscv_cpu_is_32bit(&hart.env); } =20 -target_ulong riscv_calc_kernel_start_addr(MachineState *machine, +target_ulong riscv_calc_kernel_start_addr(RISCVHartArrayState harts, target_ulong firmware_end_addr) { - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(harts)) { return QEMU_ALIGN_UP(firmware_end_addr, 4 * MiB); } else { return QEMU_ALIGN_UP(firmware_end_addr, 2 * MiB); @@ -259,7 +247,8 @@ void riscv_rom_copy_firmware_info(MachineState *machine= , hwaddr rom_base, &address_space_memory); } =20 -void riscv_setup_rom_reset_vec(MachineState *machine, hwaddr start_addr, +void riscv_setup_rom_reset_vec(MachineState *machine, RISCVHartArrayState = harts, + hwaddr start_addr, hwaddr rom_base, hwaddr rom_size, uint64_t kernel_entry, uint32_t fdt_load_addr, void *fdt) @@ -267,7 +256,7 @@ void riscv_setup_rom_reset_vec(MachineState *machine, h= waddr start_addr, int i; uint32_t start_addr_hi32 =3D 0x00000000; =20 - if (!riscv_is_32_bit(machine)) { + if (!riscv_is_32bit(harts)) { start_addr_hi32 =3D start_addr >> 32; } /* reset vector */ @@ -284,7 +273,7 @@ void riscv_setup_rom_reset_vec(MachineState *machine, h= waddr start_addr, 0x00000000, /* fw_dyn: */ }; - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(harts)) { reset_vec[3] =3D 0x0202a583; /* lw a1, 32(t0) */ reset_vec[4] =3D 0x0182a283; /* lw t0, 24(t0) */ } else { diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 7216329237..62750007a5 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -453,7 +453,7 @@ static void sifive_u_machine_init(MachineState *machine) =20 /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, - riscv_is_32_bit(machine)); + riscv_is_32bit(s->soc.u_cpus)); =20 if (s->start_in_flash) { /* @@ -482,7 +482,7 @@ static void sifive_u_machine_init(MachineState *machine) break; } =20 - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(s->soc.u_cpus)) { firmware_end_addr =3D riscv_find_and_load_firmware(machine, "opensbi-riscv32-generic-fw_dynamic.bi= n", start_addr, NULL); @@ -493,7 +493,7 @@ static void sifive_u_machine_init(MachineState *machine) } =20 if (machine->kernel_filename) { - kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, + kernel_start_addr =3D riscv_calc_kernel_start_addr(s->soc.u_cpus, firmware_end_addr= ); =20 kernel_entry =3D riscv_load_kernel(machine->kernel_filename, @@ -520,7 +520,7 @@ static void sifive_u_machine_init(MachineState *machine) /* Compute the fdt load address in dram */ fdt_load_addr =3D riscv_load_fdt(memmap[SIFIVE_U_DEV_DRAM].base, machine->ram_size, s->fdt); - if (!riscv_is_32_bit(machine)) { + if (!riscv_is_32bit(s->soc.u_cpus)) { start_addr_hi32 =3D (uint64_t)start_addr >> 32; } =20 @@ -539,7 +539,7 @@ static void sifive_u_machine_init(MachineState *machine) 0x00000000, /* fw_dyn: */ }; - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(s->soc.u_cpus)) { reset_vec[4] =3D 0x0202a583; /* lw a1, 32(t0) */ reset_vec[5] =3D 0x0182a283; /* lw t0, 24(t0) */ } else { diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 3e47e4579d..e723ca0ac9 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -244,7 +244,7 @@ static void spike_board_init(MachineState *machine) =20 /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, - riscv_is_32_bit(machine)); + riscv_is_32bit(s->soc[0])); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv.spike.mrom", @@ -257,7 +257,7 @@ static void spike_board_init(MachineState *machine) * keeping ELF files here was intentional because BIN files don't work * for the Spike machine as HTIF emulation depends on ELF parsing. */ - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(s->soc[0])) { firmware_end_addr =3D riscv_find_and_load_firmware(machine, "opensbi-riscv32-generic-fw_dynamic.el= f", memmap[SPIKE_DRAM].base, @@ -270,7 +270,7 @@ static void spike_board_init(MachineState *machine) } =20 if (machine->kernel_filename) { - kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, + kernel_start_addr =3D riscv_calc_kernel_start_addr(s->soc[0], firmware_end_addr= ); =20 kernel_entry =3D riscv_load_kernel(machine->kernel_filename, @@ -299,7 +299,7 @@ static void spike_board_init(MachineState *machine) fdt_load_addr =3D riscv_load_fdt(memmap[SPIKE_DRAM].base, machine->ram_size, s->fdt); /* load the reset vector */ - riscv_setup_rom_reset_vec(machine, memmap[SPIKE_DRAM].base, + riscv_setup_rom_reset_vec(machine, s->soc[0], memmap[SPIKE_DRAM].base, memmap[SPIKE_MROM].base, memmap[SPIKE_MROM].size, kernel_entry, fdt_load_addr, s->fdt); diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 915e9ae216..485a410da7 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -603,7 +603,7 @@ static void virt_machine_init(MachineState *machine) =20 /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, - riscv_is_32_bit(machine)); + riscv_is_32bit(s->soc[0])); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv_virt_board.mrom", @@ -611,7 +611,7 @@ static void virt_machine_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[VIRT_MROM].base, mask_rom); =20 - if (riscv_is_32_bit(machine)) { + if (riscv_is_32bit(s->soc[0])) { firmware_end_addr =3D riscv_find_and_load_firmware(machine, "opensbi-riscv32-generic-fw_dynamic.bi= n", start_addr, NULL); @@ -622,7 +622,7 @@ static void virt_machine_init(MachineState *machine) } =20 if (machine->kernel_filename) { - kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, + kernel_start_addr =3D riscv_calc_kernel_start_addr(s->soc[0], firmware_end_addr= ); =20 kernel_entry =3D riscv_load_kernel(machine->kernel_filename, @@ -658,7 +658,8 @@ static void virt_machine_init(MachineState *machine) fdt_load_addr =3D riscv_load_fdt(memmap[VIRT_DRAM].base, machine->ram_size, s->fdt); /* load the reset vector */ - riscv_setup_rom_reset_vec(machine, start_addr, virt_memmap[VIRT_MROM].= base, + riscv_setup_rom_reset_vec(machine, s->soc[0], start_addr, + virt_memmap[VIRT_MROM].base, virt_memmap[VIRT_MROM].size, kernel_entry, fdt_load_addr, s->fdt); =20 --=20 2.29.2