From nobody Tue Dec 16 03:46:13 2025 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=1607978130; cv=none; d=zohomail.com; s=zohoarc; b=KwFQsLAwciWhitBUu0Y3geSHczSUwA4167bJgX/MQoObKxv9zIxz8D4dqFbiOagqAyb7YjNoWmvRUaktSl4IV9DnPG9ZLZb48pwHuh1lJloWYveo3420ySUWrJl6sIsH2UfYntRyOnPjolBS3SBxvYz7Ol9Pl623aEpsU493W1Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978130; 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=R0SuSrjhz6J3AENOi+c1OBH2FpZKJiw+QNCfQwhlO4w=; b=gwVMR6PUtZMTe3gT3FOSp+YPAlkP2nTFkq4ZbD6nS6b9wGWSv0hDQQCoxBwSMrvJxVZQnvTUfAZqDL7yKIo+fZrS7hm+IZqXmYFrNzlGE3BoQjcchOiYR5+BMtBEEJdelDRQs0htpxtkbdNdsdFCz6OldVt7YZTjdIZlOxu/HT0= 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 1607978130605572.5764356047677; Mon, 14 Dec 2020 12:35:30 -0800 (PST) Received: from localhost ([::1]:51826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kouZ7-0002Hf-Hf for importer@patchew.org; Mon, 14 Dec 2020 15:35:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46672) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXj-0000bc-8b; Mon, 14 Dec 2020 15:34:03 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42384) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXh-0007rn-1e; Mon, 14 Dec 2020 15:34:02 -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; 15 Dec 2020 04:34:00 +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; 14 Dec 2020 12:17:43 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:33:59 -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=1607978041; x=1639514041; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=r0ZfNgOdaidiF4AhAMQ3WmwibBw8fNT/SmUP4a+2+iw=; b=CfCrbyB1/2fBDLosa+YTVne14TT7e+/Y0x5PbItpdto45TrhhZXSu6BB PCbaBe9LhkrcFdhA9Xzkpu2PnrYI9hXy/uCR4PNKPBn/1mjfhJz5Cnqbv qAPilE/8DscQYDxp6ZrxDMKcJmBTjSnJEELdobOVrhRVhT1EULtKcBxMy 3yIAXOWj34Obq8nBYQ1y/lerVENFyjmH1LNK3du3YIIySQmXlI+pveL2E sVM2ddWYZuBlmRJUDVo+AHOHUVpH7nnU7oFm92BgM89uGuVHq/OTHOsvP 1UkWHqSD5avL0McPIpczimPZ3ntbw3/bEzjcIkSFZHJPJSKcvYhLN+Rdb Q==; IronPort-SDR: pMAISxWeUcGsge/Frpkq7yWwPV3MN1eCqGamG9aSwcMDzBZQKEihVw7TWwYlLU8Tt+bU5kx7ln FV+H/toJDGRgyhzNmiji0VpZ7EnMHXg6Zkp6Oza679Amen5CZedErEN7g12qaDpC51NprkJb3z fKk7gnvGbifJOXg8LSrciI3IQADucaDasyWIXpfPw8WJox/1mp1x4G92dDXKmXjf4BIVHQ5Yhy FNznkdguNiktU9gT4SUNQFROU3PsqfbrE2t0/uH3RJAJx5P/YaRhGWytjGDkJ7J9Q0Y+CNH0yv /tw= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338101" IronPort-SDR: 6n3QpVmU1JNb6e0f/kQyNo2EE6sMv7vKqAsZVr7YL02gDY7EZBt64bC+avxJBZw3HEz/mffUxS iJhzkAlx94MPBIBn/vhgi5R5wobStBm2/2t9fQqrX/jLJA9JFaAJHxAAHOMD4v8++vsQfJyxOZ ydHWCTuSN22oxhYf3CpmQmyOqg/zjA+yo5o/cmj8W2GHmmBaZeyYG24MP4jGjjA6j5efQaEes2 9c/OG9EQrBHOXjz4pqda5MrRGgm2N7W53nNnor27+2wlyllPvG6uS/OI4NOUsMdT0ea4rN00UP suY6M81Jen6h19kiLTlWZtb9 IronPort-SDR: JsXFMv4M+7Es7jWNDt6Ne2GiJ9XR8yT05itif7CojIPQER9XGijzyKU+23d7/hCVrvWXpYgNgh amBCAUCYaKoXi4/55ryArE2CRzrgCzBpgYQFCe5q0gw0SNEIgqIfXu7gVJCqbRrEKSWWHEZu97 zygbE4F8WyR504wdCP7Npz6jPhVs72uUkJ0CJKPLpZI5bnCrgsUlJfuPUrfOJraRnQlRBrZPME WPnhUMdBrppWP+8aUnZJqRJYaGm/ut5EtxVHxO+Q3wJYmBQ/rKQuM4IqozCHOcdivJlbe08NTF +UA= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 01/15] hw/riscv: Expand the is 32-bit check to support more CPUs Date: Mon, 14 Dec 2020 12:33:58 -0800 Message-Id: <3b6338af937d0d3aa0858ba1a4ad0fd9e759be66.1607967113.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=61015ee87=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" 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 --- 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 Tue Dec 16 03:46:13 2025 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=1607978135; cv=none; d=zohomail.com; s=zohoarc; b=j8aC2j8g1cQEu5/fwWkvVgqz3R9kgfOiL/PKRHJxJrpXfeoPvBoQwt1VhbVHml0ybUXKR9k9ynQUx+ikwiOKtyhfN39HEzsow9aE4m7LWDlyK4cUEUP6/lw0fthcYdqJrOM6sI4bbq+LYAsneG8hpEkcAVei64Sw/g+d0QZKyIQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978135; 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=Qc2njqYhqCYaSsTyij9ROePU8qtRw+gJ83qcp6ooIp0=; b=lsR0GJ9lK13naAIz/9lnENstKGrgbylx1jpyx+C1CbmSW+ExSE854EplPwgD5WB/aEYdOrjaaRCCuSUMZ3pBv2hKIPkIY1dSAaPf8hh+Ko/eOKBlKhdbNBzI7xwNNhM+GbpBtLfnD3nxrzG5m5HcCcpw60XXMySCr78aLHMEBkQ= 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 1607978135376745.3448202296227; Mon, 14 Dec 2020 12:35:35 -0800 (PST) Received: from localhost ([::1]:52156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kouZC-0002Q1-7D for importer@patchew.org; Mon, 14 Dec 2020 15:35:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXm-0000gv-6a; Mon, 14 Dec 2020 15:34:06 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42389) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXj-0007s4-M8; Mon, 14 Dec 2020 15:34:05 -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; 15 Dec 2020 04:34: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; 14 Dec 2020 12:17:45 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34: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=1607978044; x=1639514044; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5TzJ0MhdBNXGaUoQfYSd1oKvkSekJTFdwh70MrGYcFk=; b=qiaEdU+rhvjXmXaVZAoVLkQo7jVA/ychmHL9/xtksuWTBHPGsBnd0b3x n0BBA7aNa46aWSbiN4rA2Pt5d3ZMs4/vE5X6CeTApL/eiYGFCV6n5WbyJ LiOjcdbb3LKb1+whKo7TOTh3PpN8xIdrUt9JZsQvDHsCaVw246jErk3nt 1PgYLG53NRx70YQFBFmg8q/v35kbDi7sfrObOQijYCq3V5gvANJW5uc0M 83Vx2EUjC6gOFQZpvZodRSGH+8j5A0JrRMXum4syKTm71tQ6z4AR0Jpwl T8oWBI7TnSDHBuPiRFD6gRgOwVdi6Jod7lOaQI/0X9uXVeXQhj9Ge99I5 g==; IronPort-SDR: L2lx7UDChAqwH/tiSOKcFSt9/3cGU7fROCcBalCcsgwvH8iaBrir1Zh3L1wdZBelesCShNWlJv pkn84FGyRQRNil6ZvNxLs2VxO5nD60Ij2ZQByRmUryR5r1Wxhsi3y/e2FIsKwF/DNBz6/zVAOl 1GP8kiRSWnRvOFu7qoR8IkjEfm6dGdcNMNBlMkTnLdUVwEFbCy51JtJrWyH2MBz43+RCHi6zd6 Qfux1Va6ZeVbEJ7EJn128pDtxAoJlgWxMyJ3OZ30yHqMwJqR7szgcabrkBnuip+301U5IfBZlK jXI= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338104" IronPort-SDR: QEO58y709jmkd1wH1BoCSxiXaoEZys9RquCkKKl+C1MK4lyXWo1ibh7/ZPVvzlO/gAr7evFy35 pwGUzh4bamz2Jb19UEbliZfAXBtww/+X/XwZ4M0koT1fM3c9wHx2BMQ1VFkV+Qaof/mxH6HxpA a8pFWEgXfd57t7EuPuzz3My2uwkEm8LBw8CYDepoeZ+xMsV8dERBYG2b1m24U/wYCEZ89cc+f7 TvgBv6/aIml59Ni6ob9wFWNKCRJ7ev0IO8AwVJSct3aRh0eP1aYhTc71OcZr4xOoL6UymlS9Dn 2QCENd3WtoKpZG9kgP0LP0KI IronPort-SDR: Mp9FgjYmP8Z6/r/GVaTcFhu6ogltrSUgRFJdQlw0Usbp/44JurnM4d0BGui4+hpjCtzkhJIyUk xzmnfJl07jLnVUqDVxLdfLD63XWF8G2j87/Wi0r9m2rS6I31yMPjs2dKxyQ0i36c+/boG5YuBH n3KxgEjNE5vRsC7IdqzysukGcdFLJcHpLF5DzAJ4J+Ev6re2szxJ+6D1lXvfAzNNnxbBKYupL7 P9uP/m73h13J5qp1Mh89jXxSuxinQDyJ6dGuPap6rVq5oS2nJI7Zqb6TDSa8+YTZpqDYMSx5pO jUM= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 02/15] target/riscv: Add a TYPE_RISCV_CPU_BASE CPU Date: Mon, 14 Dec 2020 12:34:01 -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.154.45; envelope-from=prvs=61015ee87=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: Bin Meng Tested-by: Bin Meng --- 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 Tue Dec 16 03:46:13 2025 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=1607978265; cv=none; d=zohomail.com; s=zohoarc; b=nmanlnafyID6QNECOGqgpvBiA8CSSmXhAQsRkiobE8KFPpO1FIpWozXILXM0wvA3qNxfWbmQ0iqt+6QEVJDHyChT54q5QgEyoXh8KGauIwv6M5pfTZUoiqc79kQ3W3AqwCjwaLPpHyJDQELvx5op/QxCavcS4L46zngYrLkI/Jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978265; 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=xifPvYRpaBaJnJgfV3+ekFxRYzosnJZDY/oPxCc3BXs=; b=CTI7O4xHzMWb4dTgQEwTeLwybyEFSTyKaiM90Z5vN8eg80DONEF5szPN3bpX+oWc775mBAJueN1Q081FXYemmSwzi3ShixnrOofPrn3AxQTOi5D8vUPJ6fOZqPBr8eDTy+P4PsniYEWdZy5HLuP9V7WV2EbZQ0VHVN7ygt5+lpg= 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 1607978265459362.5967611696509; Mon, 14 Dec 2020 12:37:45 -0800 (PST) Received: from localhost ([::1]:60684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koubI-0005vm-Bn for importer@patchew.org; Mon, 14 Dec 2020 15:37:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXn-0000jN-OL; Mon, 14 Dec 2020 15:34:07 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42384) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXl-0007rn-Pq; Mon, 14 Dec 2020 15:34: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; 15 Dec 2020 04:34:05 +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; 14 Dec 2020 12:17:48 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:04 -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=1607978046; x=1639514046; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2TG0lw4zTTE9K+65mX3o2BSFxGx4t2P6pw44PD0QoRY=; b=Ls0ffJINFs4mDkcQk7SP3gqjnIC5MVJashTcCNEOOIHTLkTcZXCkYayd Vv5L5Ei2iVdxpqUalUT0AiNeqMh4L0TAvnQPMHOuEuiftMuR/+HI2pqJD eeMo1h6Fa13mmRuPyKTdFu/PEMDO3Nc+t6nEfXImSvMXZPiRnB5K65zyN Zq4RteFd4i6dy5GJuVLymnUf76GF5cr7eZ7PEGxv/A+p6Bn5p+ClsKbmX 17WzpvhlhiI7dUW+ihEDCC4Ad2wv3f06mW95ZSl9CxfQU/LRYWNcG/g+G HttzomOb/i01dlfRAXhDiWZSXCUay7zta43kALq13UbC4bO33Yc3SK0ru Q==; IronPort-SDR: /iRqPOKceRA8AuGWQ7omYeKDrkmJhQAh6cLn4566LeiRIg3DAjKtWsrYjFg65Tl0Tq/4zUwXSv reE4+VOWsoKCMbf4Jq5W/VUi/stM551VXmtBO5T5011/n9h5pQBE/LfsTpbe2dsnq3W0OsnHR8 sHERBDB3xn7TWZamP8mQH39AejUqBrnaSMUo3dEoqgAWCviWyX60mCTRpnlpBgx2n1PwPgFRWC 6LMm78dEl1LBEwrPek09mZ8MtSyk3GRI3Xa3dfaP2A0dSXSlFMotK1vq3e5OxrU5vJi8Xj698C 8kk= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338105" IronPort-SDR: 3TPL6pfZXeuQmPh38eHJENhJczXpnOZKld5vk6VWUGpOP5SfdOlcqTqWldQVj5d/DRmUGae7p8 96t3AIR5wbx2eproXT+rvkdDQACGftcBflizdTDwHkNiwtVqLz6BeWNgdQYW69rLWdUhqYZ+lB jIjHYfADJ2P3saLPuOI9eeTfk2UptmH54E51GEZytRzwS58FDfsP2Tzye3B10BWRUSswbEA3Wg 8vq6NF6B7rgPuqqDQjUAyKspOwDpD+Cc80hhJMhiLaM1uvFPb6/S6BvZTbWCcGjbYJtpfz1rNZ KEP7rebz7rGj1JgYfPshaRJn IronPort-SDR: OorjMNRskJIA6tzYYOKBj9dxvjSG2/MSrjvzXKBUVMGnY0ZKd62KxsSByKFC6QODivqARHGGgo 4kq0qYcZ0PY+rptyEpQEGqBKUl8JLhhijea3KpJUIOH6eKXl22rjmg4U/PdP6wr5OhPpt6yRKZ 9Y1Rf4l5RkI/elgtMd3C4qyW+oMtJCDJiKtnoob3OIA0vZ7wEOu3j0UTYvXKCdtCwXY3n0mUDE sWgZuX0vd7mD52qLAf25kuTAcluNm5EGGHdQlsAjxMDh7Sav3LhAU2BTMHxdkOvPqng4hnRYzv Tvg= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 03/15] riscv: spike: Remove target macro conditionals Date: Mon, 14 Dec 2020 12:34:04 -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.154.45; envelope-from=prvs=61015ee87=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: Bin Meng --- 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 Tue Dec 16 03:46:13 2025 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=1607978269; cv=none; d=zohomail.com; s=zohoarc; b=mI+kN5U5b5FJ5dTynZVdOPq0ma8XB+gBrB5UvD9sgkQnMGL3uL9ESbbzTY0EJ+OAECDei56UoQd1jWffR4U+KGtXouWQ4x4A5ryHUv9zukpo2ypJ5oNH4SLT583FfUM+jmDLU8yp+FP6/B0Oo9rT0BoxPznqJes3DRVn/d3xObc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978269; 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=SnrByOwXfuaBCz+eK+NNQp+daQhluya4/UMKm3GFN2k=; b=aJliv+loxYwo2qdST8/zqUaLrCr5oI7ucbybFrsk4ZEJKmP4kW3u3gqiIk1xaWuYLIZLX9ZkrmqIXJyCTZ36Y2z81N3L9vDpfIBsaiGL731m34TAf0R6CdlDytsgjwPRNWx3mCB7nG9bzNWO4fDgirS9HT+f4K4BcnX93xZViIs= 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 1607978269443771.5376354993268; Mon, 14 Dec 2020 12:37:49 -0800 (PST) Received: from localhost ([::1]:32792 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koubM-00063x-AX for importer@patchew.org; Mon, 14 Dec 2020 15:37:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXr-0000qS-7M; Mon, 14 Dec 2020 15:34:11 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42393) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXp-0007tb-CD; Mon, 14 Dec 2020 15:34:10 -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; 15 Dec 2020 04:34: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; 14 Dec 2020 12:17:51 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:07 -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=1607978049; x=1639514049; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CTGEz6Ggv50vIsVjqVuctj/ddtwSeDBjNyqazv0Kae8=; b=T34nF4OeEiP7THbRLwFpEAkheqKR7WitQkIfpx0SYLiQ7UQH5EzZkwxm FiQfrRXnPfB5PBJdxKX339YnUPRxcBEIorEzM/iYlB5fKlmWIAh5j4/qd zMTQNIkq6hxMtcj91RlzbK5rh4Lj0s1qJz0nzqoqJNxcFZ2ZgD8iVlpT1 lo6xP+29MMg83l7/PvvrpXX5lpO1pzGUPfUsLmUF5Blv3VNkWrMdxdsyM QZPFFuH2DyAyHRh9tZ0dTWExkjdZgMOpcez0Gqir2V8z8CuusWL23ykll OA88iyoA26rjDs/41y8NpvdHnaujl1fOnQkdyLmgDqM1fmEYBlPesDkOW Q==; IronPort-SDR: T23XvT1F6henFwrQxD0aTDxSbfj9/1bxjDngnVGtc5mm9SVMeiE6aGJQ2IjyN+/fBBUTlosFQp +aWUSbGtKlNbZNYps2YGy9tQZzhXmQUqaUcnjzHqR+k4TBPVKB1o1xkYhp3J0Rnakj0anrhJnW lT9/0b7fqCOpWBAFwccwozZyPKIQrpLuo9lCe4870gwg2r8QDWQIEL2DUzUMZLKJikVX+aG0bv qaWLWpDD8i9UkgdUUWKsn1FPRfxhoYqdd4cS+7C1CS8dEnhcya8SQIEfJhO4gyEfzs+K/hU4Y6 g7U= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338119" IronPort-SDR: deyaYdHMeHeHoY9Y5YNost2NVb8Rz4+/bHQq7ZphpLqiM7/4MqeEpsTdEoV8OwhxQa2GpDBlMo dYYfsEThZi2J6eb/KPtDUyh5h5kIiPUPF1as/bAhSXqxxq/0tLpClfTAjYEtZeZdU+oDWeM7hS qVQaEbgI0ZXXbgVCpkWLXAV5rmxYcNoc9Nu4I634DNL9/7H2lN71qNmzDNPPfvKA9PdcWqqCcK 2lBd4Y9BObU/4SIThCuc2JdiIHdM1TCGe2OlnEur9wwtSEWpIWmTBc2xYscC32eI2kOJpSau8c hESQkh5Nwj4qgSgerwPAhGAt IronPort-SDR: 5VNRjjsCFGULiAhh66H855ZHzf3aU1/SbyuJTa1QMBDkWZnH7n9RzbftazsT3niovKj/5I6rli IP5HHR4BpQ7F9Q9aOFJ7+XJuCj+jIaWI+1n+b1efcSHvHKN58O9apGT54PXdEKXlkt4DU/DJJV P9w9xVy4TeZHpZdtXMXaY+qXpevxKlHgTaIMzGUNJH+7BfVo+6bL1xqEFxpUHdSu0NeOpHkSni 0aPUt0P070jd7Nm0zSrEurrjr36AYTfvFhwOzDcKpW0BOHS/nu9+62g4ENdZSDjO0MDMv0YSVa u3Y= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 04/15] riscv: virt: Remove target macro conditionals Date: Mon, 14 Dec 2020 12:34:07 -0800 Message-Id: <3b7f53e0eef69904ec20a6fdcb30ab61672e5322.1607967113.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=61015ee87=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: Bin Meng Tested-by: Bin Meng --- 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 Tue Dec 16 03:46:13 2025 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=1607978441; cv=none; d=zohomail.com; s=zohoarc; b=OO1nuaNtMzu0m0mgmPoqlWX4WARvFZHtww5C6VS9mdm6SHEcp7lBgG5vadCFv//EtLpowwP96341PXg4K5VB+iimNjrPSIibyB8Dqz2JqQT4VKipwdrZ0oXBXPkktj0kwSuC+x3pYqXTlxBQMUH6/Mv2y71PsrlP7sPeuHvf8yM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978441; 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=gCRGHH+ryDmpe6Y1Akl/k0/K6P1/RJMeK9wZjuxOkpE=; b=l4tq2FPcyGeFED474DAll4hlBYfp1XqDKXryCGyWeTZ0+ZbB+64RoBv7rlavRhly9JxYBi29dDLH0DbeAk/4nLbbRnV3bgyjOCw8nh8EHKAfGDRaint31tJBM0cjbuUcirw8Ah3YLzpXHi2w7NG1XDG2YGtjQLvpKhjUb7IEJuo= 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 1607978441693476.35049170380705; Mon, 14 Dec 2020 12:40:41 -0800 (PST) Received: from localhost ([::1]:42618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koue8-0001uZ-It for importer@patchew.org; Mon, 14 Dec 2020 15:40:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46746) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXu-0000y3-0H; Mon, 14 Dec 2020 15:34:14 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42382) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXr-0007rg-LC; Mon, 14 Dec 2020 15:34:13 -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; 15 Dec 2020 04:34:11 +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; 14 Dec 2020 12:17:54 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip01.wdc.com with ESMTP; 14 Dec 2020 12:34:11 -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=1607978052; x=1639514052; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3X9MRnCNg04HAOmd5WtcTwJoBbcg9pXkXOnNKnGDNQc=; b=K4rXelkn86d/CsEpuKAWj1GiEVffk6KXdhQfv8h+TUJY3EzSpJiLqXsx 61y2joUFrqc6LeZmHdueifH+p35sndOJRVKX8pes8b0DnpesqWRpiVZNk kiYjFkMstj0ekMtXCnNfjpqd6iwv5tsVCu0iCitxbMoCcZC/PewvdDLZn eOay24+fC2xyUy9SGS8Q0J46/7VC4FK1ROfuRgtx/WODgMZgPXvYDtQaH p8B/rW6NA7aq8FQjQQmTeCylXrZPv+oCF5dK9060MPYPpTaZbsEo0e2PP cYajq5UUpJdZ7RBMwG2OaB8P9k2TNFCosCPRTPCyZ7s+NRqFzSUvrm7LJ A==; IronPort-SDR: QKbmggyQvORPvEkPosa7f3foAOI0Jkex8oikWyEA44ysRI0NnTynqeJQUEzNKUzDIdPTyB0Ya2 UR2NquRrVmgMFpWlb/FeLYfmBfWFgry+yQDgZK+H07iqXH1Z/XoB5dhdfl2mNiLqb2A/2Gb1pg ifa7l2BIBnnYLGpTagXRlQcL1nhVycm379yFC7Zx0lGJOWiIJYDqRr2hwjos/rC1cWhQ3ySTRl Sp6B0FHrfEvkBc2IzQHTev68GQb30EByaYhp21R3I6qk3HIcD1E3u3kq/xNsk9TKZFVYkJooKx FyA= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338128" IronPort-SDR: HqwGTafB/E0DFisbpF9TLd6nuY0jlaC0miG+wjlL7NHQCKynFJ9d6j33gh3VQmdbzsB4VOmsnr Cej/pMyasIps+CoDTP7EFS8VRAOqOADNw641InPecgP3OA0q1kAVu4SXjb2VdyS3aj1NT0vawx vC2oqZoiS5TYkbp6QCuAiD8gG0n2hpigIV8pqc7Bb6eD6lke0UpHOka0tNhmwmjH3R0hKZ0ubV 8upcLuYobDuWCpxvOuCIuGxGBOnVJeVkTbONLfKrSrapHY+5rGsy8deeTxFbO+CJEYhc94OCF6 l3IhjkE47SbaKjNbzk5OFBs5 IronPort-SDR: 2h1Gio4exvUUa0eSlPUEz1uIjdADnmGqmMcHw4jLs4HwgcZ5+M+HTGC3uhuJL50PBrN9ZRhOqZ H9cQEEomtQFWXCATWfux8jHbDoVm/0cHWBC6/2emh3pvAk67GmUXTQu1NtjXYSpVxBkrlUHLca pXAQzvR5GwqHS5Ndf2qlAhFXCZf6FRvR435obxn0cY9dtbR+90R/Ai89AHvWhrHTs9i4SpoXP9 K4IUOR2Dx5q3DwLUTCXyVSzmqzldtP1cy3QLy+nH/opgCN0MlRP4bFMl4mzHF/MpnMioVKGNdv qjE= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 05/15] hw/riscv: boot: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:09 -0800 Message-Id: <3ccc2b961153e6d9b2c8f138b31c6bf8b176aad6.1607967113.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=61015ee87=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: Bin Meng Tested-by: Bin Meng --- 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 Tue Dec 16 03:46:13 2025 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=1607978589; cv=none; d=zohomail.com; s=zohoarc; b=Y4BCFjkn2TaH0ei2pGQU3VKsnfSAUmiY//nUl4qaS6Z4dOFbVDKmdNTDQdSJomr8jmoNqjCMbpn6ZPJrvrYLOfhiw49aUy+q2D72CK40ctnK3HZVBOXwKXAqyaFHQCLPPH6Z5uQe1SlnIKbZ2xldcP/dVtIYVfmXlV6MyiXyU5Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978589; 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=vUAFCSKJlg/mhQaVLDCi5fgeRFzf97l3mAS+q3XnE3I=; b=LhsOVnKlOtCwk3KyzfRZ1FugI8a0cE6jJ7TCMFlw8VDcjrTRPxuF3lD+pCGsqNcqkmnTpzuOWKVU2tYKA9hBNTcwlUZ4Ml3e20cQKdfLTEX5HIXmicd1XGGwL5A2Ztwz8cftCn+/XNmZ4/2ycuxJ90Com5FRHePkkdyhf7Gf1Uc= 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 1607978589612222.01559359105966; Mon, 14 Dec 2020 12:43:09 -0800 (PST) Received: from localhost ([::1]:51084 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kougW-0005eD-IW for importer@patchew.org; Mon, 14 Dec 2020 15:43:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46760) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXw-00015G-Jn; Mon, 14 Dec 2020 15:34:16 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42393) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXu-0007tb-9i; Mon, 14 Dec 2020 15:34:16 -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; 15 Dec 2020 04:34:13 +0800 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Dec 2020 12:19:32 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:13 -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=1607978054; x=1639514054; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rhxC5s7FEiT7qUcYdHgm5fREwabA4h1JV+t2QXCVcM4=; b=lje0RVUrJ+USIR7mi5QjaJYgh267x2EEVrSpsDKdrvbW7Jdp71GrDMGH pNSj+S1q8xkskMr7TiOAI95jTiLKgoogwDoqDnGjclbK94jrDqxHhwEE/ /aiRTB+3zBenc5oUF/HGJ314yb8HKOnbUQtTQqXYPHoA9mEGXz8/xKcFC m3s5RvcqTfWXH4IQK9dRYlryyBUDyLtxmbf+eUx2WekKM2fa7FU/Q1BSH Vifotmydd8ZRQB70Dmm175wTWwmTapa2fygF9lIR02+Mb89FNapMAlEGg iYcMDzXAc6j0ZpK4dCdyldFISnnr+7AIK6To7vIws3CXiCiCj4GHHE5do w==; IronPort-SDR: J54hBeHEkbJ1xwtUrObdfL7wqM/b9SHf4wpn5hsqDLjKqkMHRoFBtka/Uw0UzVjep2ux0xWWHJ 54x8jK7QKt+iFrP7uDru6lA0sdUQu1n3XeilxKqO7tO50VA5pvkfmOw4Giwkqg3sDw0HOvF9Dp ayDDlU8RGZmvzp7kP89NVzuJ3b0mj2PIKynJaPd7A7U2IhaCF33BP/J6ac4qodRap4QZe5D2wy H/1iFsZq7asUOSpSadx7rSSiNylaiOt7BpR5GbbTY6JAXnZyIhY0JJ2BRLbyYk/B86oy5CvvYS WCY= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338135" IronPort-SDR: u3hQZYh5u2dgFLuq959SfXumskBWJdHNMyopsmpH6X+lyvsSTpZ8T+Iaw0i1ZBuyH8/XTy+VQd Dn5JUpnNJ+z4FA6VB3pwQp+ZipKSABlYAtaBuy2+AIZ7SHzG69Jx4YoUzNzFkHgPn1bBL+ZB0U +W8quPDqCX0bIpQViLxLJuD0FriblOOf2TVb96aBJ98s1B56yAQKdzQ8hBwX2TGeTiVsSs6jOV EYtzi1/rsqab8g4wYvm8jqUnrTwW2EmPsNCTRusS1Ch8Z0wTyou5jhYvDephhZkk1Pc+tStVh0 77FGleY5T7aQCTDWnWl0GA3p IronPort-SDR: dUXolgSAUMl2wKluNrueTRtaNYW39jdjq/vDkhPCzPdgtJhKlYj3WRLbq9JLN+kX3YFDVBV4SE TR8fxB1AjQyiFP7xYuHsrkzvYvpopjA709jB9ZKdE9NXjbJ+Rq1EW80yKQzqhvaA70UNm66wwL Dphdheajd76WdBsNTMk8YxT23NYdtR9ctjXZAZ0Dliea1CXu+reFvv7dKG3Dxj02fCgu/6oVG7 Wl0h1J6hnjW+dBcGjlVicfyzVdG2bBqdBrcBrTxeYKTct5T/NiFjdoVbEEoK+GYxGg9XstAsFD AYY= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 06/15] hw/riscv: virt: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:12 -0800 Message-Id: <62ef0848f1a7e0ca59bacb86c2ca12306b56846b.1607967113.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=61015ee87=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: Bin Meng Tested-by: Bin Meng --- 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 Tue Dec 16 03:46:13 2025 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=1607978433; cv=none; d=zohomail.com; s=zohoarc; b=DujkYLGfsEiT+BmuvcEP3BB9s66JTiIF7YkzfnJX1A2bfSjuHYHMNZi9oHtxvZgbCtRrH+eCjcGPWTIXzGbbJ176AR/KhcURTwBgNq9dsh7d335kiLHw/tKCFCLaC69HbdmVhzNc4Jo8y3WS/nVT839aAZWfdpy9A+eZ9E/6Y7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978433; 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=Nd47mnyBKOx17safBLms762xV5PkezWy74u6GdPelWw=; b=Vi6qfTUsnQv7LfwTToOGTQl02Ufmk0xG7HEzj/dFPhr/6GeBm982RJXK7fdV/dpdUmm1PeTV98lHgGR9vIAXvY9PyUhOqIFNCwChI3PI6Pg16c4lO0GbHaZUUPkH4yUD7Z9rnSuBmMNV1vXdi8YKl9WU5wdPbIx+z0Ha7/QmBrA= 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 1607978433914557.1983077722106; Mon, 14 Dec 2020 12:40:33 -0800 (PST) Received: from localhost ([::1]:41948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koue0-0001Yu-Nl for importer@patchew.org; Mon, 14 Dec 2020 15:40:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46778) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXz-0001BD-PZ; Mon, 14 Dec 2020 15:34:19 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:42382) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouXw-0007rg-Qj; Mon, 14 Dec 2020 15:34:18 -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; 15 Dec 2020 04:34:16 +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; 14 Dec 2020 12:19:35 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip01.wdc.com with ESMTP; 14 Dec 2020 12:34:16 -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=1607978057; x=1639514057; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eANmSz4V+BEHTBhleAxmLkZ/PJSqoSJqjipx+t7A4H8=; b=rDzH3p3zD2i15bZV+/MaPV1YzXh5Me2PgmppdrMwrFL/Ms2S4S9z53MT u41xHr3JjcU2oNh45GxSJPnmcv/bZ5ziMkPNTsggIdJS4VouLJkRY28XA YKt265NefAQ2s/674mexE4bf4yl+fiHKY/2hQ8fGpHAR8741NUqiZO16W PHJOwznmn9CeiCTgwXVzfxArmzAJzf2DUqgFfJG+jqkQXbejyv35+tZwk utRIojVBisAgs250N0tGIbyDxeYNag3wP0tFB73vdsjAl9fT8cNo8eT6R 1EHO0yhe0wehPhtiN/dm+xxzIGTTk1AxRZw+PaRDESTkk8pJO0FZNnrAY Q==; IronPort-SDR: ilnUOKX2hw/GWyqcC/WJ/Fb70kp5c/uamtJuW2jDnBxhtLNl3P+DO/N8KyXulbLwweprfdRO7x HBj9gvoPb2YUzFKHYdz7ZoYLMiiWCZzs7ygyc77oU53xsiWu6JJ5TJQGfdW7NrYRYC8mPkjvDI Ha/me7ZsmjYCOkqBVdivUi4m/Z4yxn0gvIX1vWqoKUiAWgq07ehSDPrVX3rSodQGOJMttN96CR d/6rBmDUtYO43AqFvg4L9Z2M6lsjXC02XTePWpk/TArtHUDGPcvrQRW5n7vWaVsWFaiGMtQUfQ Bpk= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="156338144" IronPort-SDR: Covx25gJg5QT60vwRuPo860RhHUnwN029dDpYB9tvh8Y0TjJUjdxndgavjxAuLiRWKzg+udk03 eNUmx/hIyA87hr+JmmtYFbkEdYd6JI8B4mgkQy3rcAQ1Bcm2DhJKyxzRxrg+cgJgoyXmWPZoay ZSEOs4DZBPkoO5BKpa/SnlYarNZJJ01lpWqfiM07b4E+d4YgwLbJRzEyp+Db1WqAkQH9501oHQ +7OK3H+v1vmbsxMjtYWulef7OEHzx4QPCZ8H0R/EPtrP0ohy+UzyiHHkRTchorwhKMiTu9TkRT jRNsx7FH7UrKOUpwFOW346xm IronPort-SDR: VZXYa1FHQmmFuXrfRNr5EGp+XPC1ACQyjgf7dNCvKHMWVzL9QO5Btnlg+04ZXnJhjUUxfTZSFE yfMO2/YNXWPk3fmWyu1e5lK5I1ZmwjcYFS8ZZ1nhU4amD1qBMA0BUe+rrm5VTdV/WGe7XjN7iZ Cyyac2z7FO47g3h2Tj+S/UctCpl+S9I45iZJDXs4rrYx4+Fdfsb/smb4uREQfXw8Nbu181OEK7 LmAnXeoQUfdA2CX94AbjWpAbgMvPDOJ8wdOvmQo07FQFaL5FOsuWHhrIDSCf7P/Tm9XOONJSR/ WpA= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 07/15] hw/riscv: spike: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:15 -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.154.45; envelope-from=prvs=61015ee87=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: Bin Meng --- 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 Tue Dec 16 03:46:14 2025 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=1607978263; cv=none; d=zohomail.com; s=zohoarc; b=ex2rZDNIzcTGeQevcKz8oGOFMf+dx8L2bct2l+dSacmyeW2lzT8BKgEkabY4xrJSFU7zL8fx8nc/nj2wW4Tf+yn/XFMOW8fvUkr4GTLso3k68tXOTh14Y1lxPaXYnIylGtba8zixrIB9P2P4ZvW0+LeoMPBqBt3V7xI65UiDWh8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978263; 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=1RdgHRxCd+TTKdasWSQbSpFGSg0nF92FKl/EKCRHB5E=; b=YesMcLrdTELOyixFDDDqAlp39CZOR6+9Mqgt8yr6Z/vs3HSgfmpVaQSKYzMRF2zxVFFFy4Uuiy/VW+9MU9A6UJ0bxzeqfclG65dXEjqRV2G/SvKh3pSiaNQDsuSx7/IOltkNpzzmnnCopPYA4OMmYDE9wWrjSAzmkSeesxkzqwQ= 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 160797826361481.48578315219982; Mon, 14 Dec 2020 12:37:43 -0800 (PST) Received: from localhost ([::1]:60312 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koubG-0005mh-F8 for importer@patchew.org; Mon, 14 Dec 2020 15:37:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46808) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY2-0001HF-Ou; Mon, 14 Dec 2020 15:34:22 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:60603) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY0-0007uP-Tw; Mon, 14 Dec 2020 15:34:22 -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; 15 Dec 2020 04:34:18 +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; 14 Dec 2020 12:18:02 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:18 -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=1607978060; x=1639514060; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BD2w1JzPAhFnuG/0+v+zaFrsidkLC94J1KLJCbCeLEM=; b=dSua5GwOrl+2/8lLdVO+VKGzWOt5LMj+pPhp2kEFs68Nizbxw/evmh1t BM+nAx9jnqbqeP/CDHCY1Yd2iV28kIsOqZqeQxY5iep6o1WP5cKaamCE8 6EqAoJE4Hi/RSVZHwFnNKFa1gNzO2d9aUwY+74daD3Cx725mUZsx3WiDP WXMQtYEYC5kHb7A2lWF5Lh7ASfb2eMBuAqksSydWvUDneQX7lYzBDvt/K WdLkQ3v5mDvJj60XY/81OUB0JpekGSfr0wdk7MnzK+/BseDNTECUlxvxt UeP9YCfVaCQEMSeXWcrAmDn8W+0Tok1WDHNVtIdy9oZr7Wjb0/l5ipVz/ w==; IronPort-SDR: FDslF37ku3pdxsbF5xaqwtrQ+ayV9K6HSZBTZFvDnOAw6rfK3DmXHTxaQbkXkBismzNpllk3mF Fuv/yOjqTpp2COWtgiAp8oKgLhPmViEhKVRgyKbqWrf5o6pllArJzqB7Q4Gg5ApBkcBlGwdbzv Ot/1merCi0yWlZNZCLhJ/o7qmCVUNHN3/aRhVS8F615PISNbAFCNKDy5oTzX9/lTr3luaHJ2B2 XydxziqEaqs5NTS+0U2iyO3BzOxmiPVTQJ2QMBV5nPaDob7VqR/rjSLQP3jH5UY2YTqs/yrM4b v2U= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="159585997" IronPort-SDR: Dt5vcyZhhlArEnADSqfWpmd4hCy3VSM9AnH2CqbZeTPW59bUosvUcRGHpP0eM/DFGgeSJTohuN 51a+EwpFlUa6nd6cQz6Ftv8qbURqFwBALvTTD7ATqvzk4VUEN8exoERM0QV6nmYnTcZV6SLjoe g7Bm9JVhGCXu0oveKWhqRJia/eGkfIc43D3rXQ0i4MifvwR9w10KkIN2BpC2rWAs3tBY+48UOL FA1TvAoVCft+dNm8XbFqZdBMaqJ1yvZCXvdDCB4Tzkhnu3OJ0e7S8vbI7cwmUtmTlR506UsEme sEge7BoSvIGkB4CFrZIlNflX IronPort-SDR: kcuEgAA9d9aWLij9a/yYj7gSAER69UhvvNbXdq9xsd+okITssNv7QdT8T4Mo9g3EtUx52LlwSh jJCMYnowrW/tHECBCQHKZ5RzobrfWkHivlf543iV7zYhG6/i3abXTkImnWY9PcuB41LCLn3C7j eXsMYSpjjEpeOS+U3g+Wb1lHPqZvu/dfRAQkXe2GiyBEj6JTqBCA3ym6pFr7SaOGCMaTuZfvcz 2ra2IDrS7+EcM4bUriElzmMUNIwa3CtJMM+StnYu3xg7qsF8aK3WUkzeZ3Jbm0FmzYstQgrROP sU8= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 08/15] hw/riscv: sifive_u: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:18 -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=61015ee87=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 --- 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 Tue Dec 16 03:46:14 2025 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=1607978586; cv=none; d=zohomail.com; s=zohoarc; b=G21rWaGEEnP06LyZvS4R0/XoD9RkIZpnlHAZKkUl2uUR06gcWhcjW8sB0JukL+89XFcpaZEuY1Wd0+7SZNG8NF8KrDYek8tReqjwSHOr27r5HWPxlVQaWVf4AfyYmH0gJePgrkZFgzP/UzbKySgBk9zgE8YEh3uQNYx9TmdukCQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978586; 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=bZdD/6r2ef0SbvSQgHkCYamz1WXWVe4CSjAjRH+0U3E=; b=htif2ZdYuTxcpCr25W24Un0wq2zGO/5j6MnslV54fRV6wCrYAwMbRNyEqQC98xoheffJRKM1KIxpNsbiUPec6Iaw4B8Irr0Al8Jn3qKmcnEzZG19YykGo69iXgOJAqe1llcY2asQnigEwbvVNsZNvgx58WJ/N7W6nWYr/fIpGMk= 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 1607978586453858.7303564529012; Mon, 14 Dec 2020 12:43:06 -0800 (PST) Received: from localhost ([::1]:50802 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kougT-0005WB-Du for importer@patchew.org; Mon, 14 Dec 2020 15:43:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY5-0001Pu-W9; Mon, 14 Dec 2020 15:34:26 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:60606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY3-0007ui-01; Mon, 14 Dec 2020 15:34:25 -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; 15 Dec 2020 04:34:21 +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; 14 Dec 2020 12:18:05 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:21 -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=1607978062; x=1639514062; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MHa1GnDebIQgBXx8Add4PvqiAFA7dwxIKpm/+VpY/2Q=; b=ZSv70RzQBMBx0Gk5/bTTPVP44NxlWFA5LrTd8PxbElcAAJF9gtsHdFiz zNC5GDwmp0x53tV7O2bqhrbyJsZgQZEGyhC85vg0RS3fu4yg0xzReIcAJ mBgl7WVUWSUxbm5lYSj8BDO6LHNGkOBlsKu15+PKm6fRJud/ViRE7qZs1 oiVaSMvzJo4PUUfRu58wHnq1AncbgNYhzu1Sfg5lip2vwzrdNbL9Ry04Z mE4s/b04Bi2aTsjYboD4zr35TG5SgzDCKasJq2tONG/PaAP5AMRiWZvEn RIlx067Ulul2CXjYHY4E1A8qMmYpNlnxKZ1BuFlhDQU41YD5ALl/c0nha g==; IronPort-SDR: IKzdtg3qjYDTbUGeFK2OFcWbl1UUrO5Df1XupgAVaZZq2SU7o6B6L0CMlcYbC9TvCLOW9pEFXt d6F7t0L5ZmmnRKgBlEodtz/XqxO38VugJx2b5n+fWIJT0b4Yoer1TTHnw7krChjDz28gS1dHMe O1YmexFEBDEBBi5FPl8UBpGmm0jzHaPWjf6IjCo+qT3WiO9VQ3LO5CChPgi/PC90UfbXmXcEx7 ThnWRrGfOzjCtBdWyXOmQxDs8gLi36JwRKVFhZS46QWQVeEQLN8PPvI7mg/55E51OQshmmClJT WhE= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="159586000" IronPort-SDR: b5DFg4K7ZAild6MVn8Ud66Yg6aSRpHAinHp3b1WQTEGbH9zca1OKanSmy1wTSRkcvLks2SkfPE xkIGPiJlhqPT49ORL6j7+VXW4dsaivdRtgUskIQPWUGhGBLejzukqpl1G03HS9Dl2ktUYnR9an ZXwuXVT4NTKdutsg2qz5mtQdRZZmoApdkzABC8qyIT/I7tl2mN+f3taF/E950mPoo7kolYQR2d mZMeuNYrIVODzkpakdxvmKJa/SBvI0An/xyWEVs6J5zD43uRAsV7/l3Y118cyHPQ4RU3CxNqVB 8fnbC48UJ+UhevpsNWwa+/hU IronPort-SDR: GybwWlQROHU/OeIpKpIQojx9wrvN7Qk88RdUFM6UmVUV4g22Ht2Dmd5sIJwiBS7pSeb3wk80Hh IMUHQAmPSpzifEVZwXIzSubKppYosI2P2Ge0EODAmPY40md1XQqNpEEzmLvkivZsQoPXZY92QA +u3BCavD8SeWpRn37K9ZH5cnynnYpifBM9ktkXJZL0zQ/SsTzRKNvlKRXJ4fWIzXpNk1Tj20Af qOZg/Uyx50iXCtlAfafjFKCNN6s7GsFOT7I83j5JUF/Thx7J1vZ1EOX6fc5Ql7b76CgunPLUn5 gGQ= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 09/15] target/riscv: fpu_helper: Match function defs in HELPER macros Date: Mon, 14 Dec 2020 12:34:20 -0800 Message-Id: <2cffe9cb8055c9451872b3a08192e19fec12fb1a.1607967113.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.153.141; envelope-from=prvs=61015ee87=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" The helper functions defined in helper.h specify that the argument is of type target_long. Let's change the implementation to match the header definition. Signed-off-by: Alistair Francis --- target/riscv/fpu_helper.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c index bb346a8249..507d7fe7fa 100644 --- a/target/riscv/fpu_helper.c +++ b/target/riscv/fpu_helper.c @@ -224,13 +224,13 @@ target_ulong helper_fcvt_wu_s(CPURISCVState *env, uin= t64_t rs1) } =20 #if defined(TARGET_RISCV64) -uint64_t helper_fcvt_l_s(CPURISCVState *env, uint64_t rs1) +target_ulong helper_fcvt_l_s(CPURISCVState *env, uint64_t rs1) { float32 frs1 =3D check_nanbox_s(rs1); return float32_to_int64(frs1, &env->fp_status); } =20 -uint64_t helper_fcvt_lu_s(CPURISCVState *env, uint64_t rs1) +target_ulong helper_fcvt_lu_s(CPURISCVState *env, uint64_t rs1) { float32 frs1 =3D check_nanbox_s(rs1); return float32_to_uint64(frs1, &env->fp_status); @@ -248,12 +248,12 @@ uint64_t helper_fcvt_s_wu(CPURISCVState *env, target_= ulong rs1) } =20 #if defined(TARGET_RISCV64) -uint64_t helper_fcvt_s_l(CPURISCVState *env, uint64_t rs1) +uint64_t helper_fcvt_s_l(CPURISCVState *env, target_ulong rs1) { return nanbox_s(int64_to_float32(rs1, &env->fp_status)); } =20 -uint64_t helper_fcvt_s_lu(CPURISCVState *env, uint64_t rs1) +uint64_t helper_fcvt_s_lu(CPURISCVState *env, target_ulong rs1) { return nanbox_s(uint64_to_float32(rs1, &env->fp_status)); } @@ -337,12 +337,12 @@ target_ulong helper_fcvt_wu_d(CPURISCVState *env, uin= t64_t frs1) } =20 #if defined(TARGET_RISCV64) -uint64_t helper_fcvt_l_d(CPURISCVState *env, uint64_t frs1) +target_ulong helper_fcvt_l_d(CPURISCVState *env, uint64_t frs1) { return float64_to_int64(frs1, &env->fp_status); } =20 -uint64_t helper_fcvt_lu_d(CPURISCVState *env, uint64_t frs1) +target_ulong helper_fcvt_lu_d(CPURISCVState *env, uint64_t frs1) { return float64_to_uint64(frs1, &env->fp_status); } @@ -359,12 +359,12 @@ uint64_t helper_fcvt_d_wu(CPURISCVState *env, target_= ulong rs1) } =20 #if defined(TARGET_RISCV64) -uint64_t helper_fcvt_d_l(CPURISCVState *env, uint64_t rs1) +uint64_t helper_fcvt_d_l(CPURISCVState *env, target_ulong rs1) { return int64_to_float64(rs1, &env->fp_status); } =20 -uint64_t helper_fcvt_d_lu(CPURISCVState *env, uint64_t rs1) +uint64_t helper_fcvt_d_lu(CPURISCVState *env, target_ulong rs1) { return uint64_to_float64(rs1, &env->fp_status); } --=20 2.29.2 From nobody Tue Dec 16 03:46:14 2025 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=1607978429; cv=none; d=zohomail.com; s=zohoarc; b=UgOFkvZ3YCnyWrSzIM4lgKn8l0o6IXt02VQvDLX5/l0MnPS5E+KtMeXBggiTcdlkyXvrYNmR4S7TTor4eGByaVwNHnmxLnosgPJ6WlMU4fwb9KW4BRwYyDrn4Vx3by7DvwRLd4tXRAAoj71q2mP9tF1wencVseC7AFBN3Jc8lHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978429; 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=YQXbDQILzYBgy7Tg4GblBfao3X+5+SVoT1O/CV2UA24=; b=Oed3JJzy9AHQomnsyfpefTRQYhPoyWiXNHN4CNcpXJVAC8pxVJBJxIqJgDxuM+l+IzN1jzh6QgNHr4ZKhxrD4S20gMSmB4wJdnKJjY1J+ET2viKr1EyoaivyhDaArnkAPXrnQgTVBO8clEbHYpwWJT6+CyIcNXtC73Gi+YUyFUw= 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 1607978429057665.1005928419328; Mon, 14 Dec 2020 12:40:29 -0800 (PST) Received: from localhost ([::1]:41502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koudv-0001KX-Ro for importer@patchew.org; Mon, 14 Dec 2020 15:40:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46878) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY6-0001Sc-VX; Mon, 14 Dec 2020 15:34:26 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:60603) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY5-0007uP-4F; Mon, 14 Dec 2020 15:34:26 -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; 15 Dec 2020 04:34:23 +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; 14 Dec 2020 12:18:07 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:24 -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=1607978064; x=1639514064; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OJ/IIk5KdshSCa6Fmwp0UBqjFWeip0nA/Om1IZzFIUI=; b=B9mwA46zzm6V1C8qcu4bHQFf4JvtNIC0KL/ZXqXptbGHYjAeNUOa7lj1 vF9CO4ZnzcsfvyZLrnx1CqA2vhU54W+bixq5Q6MkLXKORf8kbCl3nwi4C Ig5xjJ6+2ld4g9il3Zx5APwB3kA+HnwJ5Ze2dHNzCHzIp8d7CRGrquMU3 nZsRoBR/RxcphKkvX5TJ8EUSRJ9fnxmNeMGVIE+YC9LXRavSN+98T8aDX FBC0rPd94qwyvo7N0z/iQc783vsfVsIdvoxu0sT+hxLIcx/oCXIBYPTGa gHmaHkDCsng0AMSc/slx5CgQ/dDsyaK6uEn8kElFoHozOMT3fBHkHljwk g==; IronPort-SDR: HiefNa03TESE6mH0gbSkpw1Sq5es3uyzFrHHxz82ujy2GT4olVop05SErPAIsObwGuH7cezUBH nIez/VU9JS3XopgUYF476DHFMqMfqwByK5UygpP/qlnGFM9S+DauuhfJzxPpictsVy+y8uJx7X i9qmKcURruE/CJ6Wbv6Y8fxvxn+jmt274WykNY9Vk8s2qJhvf6GTYPgxbI/IEpoKWBQym+U8/t 8DqKErTH6pthHEzSy3en/TpYVdjDSSAjiBXahdEwETEfSzO6lm/PHSDXmKHih1u6EAp1P/w+0f Rrc= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="159586002" IronPort-SDR: g+3KyCuILKElReSwUwG67BqaojDZqkxzo1taU+eweiFRJzyYK6EZ1myW2nYhuebIg1FWW8NoVZ Iap39h31YkkYZ6Z4hR+ELm525s1Lht/HVmWhuPqnfKXYexxSUOt9Cfcc6FtLHUIQm1jN83NJ4g KeCqkbusv9g3hWtslCffxw6qEjBt3Vpmw8SP0iBBJwZpyU1+pWLbD4GzmPSKV9MvvjXQRCbPyS CIzlR49ZqqWnNJvywIN0cY6HYUhbdVZazh6xM23paICsnbjxq2jWfmsBWARrt3ud0HVQO+xITj B0ng83aH2BtuC8U0gzMvm7wq IronPort-SDR: r+R1IJXcs6ESryIQihza4963HT9MMhiP36r50Hy6EL1e8ZwTD1psUmhrC2Oj5+zicLQ8tAKYcP nwTvJo7GwkkbZOYhW6pybWLvjCWoWkE0Bjh0RygQDsbme7KZkgIZDV1ZRmpXuYQOGLPlSAWQzQ gac6CqxMO6IeATsIIEx6eWHUuiXrseS39TXcF35aINnwKe4ijDxqY1C1QV7qXqpXSqJpcxs5mD UJMJFa4er5+WkzK/eMHKt1iMlhN82Icu6jjzv+XfJFeSQkqZKFvdMQ5toS6/J/51YSsVS7ZtrP Kqg= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 10/15] target/riscv: Add a riscv_cpu_is_32bit() helper function Date: Mon, 14 Dec 2020 12:34:23 -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=61015ee87=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 --- 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 Tue Dec 16 03:46:14 2025 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=1607978258; cv=none; d=zohomail.com; s=zohoarc; b=AQZUwI2UvIq/1DvjzYkt3lIEbTPIlJ/uU7vdavq2qCZETEyofaKp/OGZahcnDIOlEfLIRLDYZjbjxn3Fs3HMExY/eXhBY3j1AYCscVLv2N7fWm+5uhLBgaR051BSTJH0WNHgYdQYjDVNkKafYrC8aZfxBG/y9EKGiKGAFYxwGzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978258; 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=piPmLIritarFdEET1i02fG3s6XdsJgcE4qj93egjjSI=; b=iE/1urdzN8E/SiFbGWoWWF6PyweLIO/tvJfxM7duBUaz2YmAJFWN1u23muL7RDGTe9FfPD9AKPRksX5Xwn0gXmWjDnfE0TSYtZBscXsIK/eB6sz+ojPspADMCFMhGDZh4X/54GSVADcy/kq0VZMlwa/2fSZ2XZdyKg2LKNhV6ds= 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 1607978258951391.3244620806746; Mon, 14 Dec 2020 12:37:38 -0800 (PST) Received: from localhost ([::1]:59974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koubB-0005eS-Tq for importer@patchew.org; Mon, 14 Dec 2020 15:37:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYA-0001br-Aq; Mon, 14 Dec 2020 15:34:30 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:60614) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouY8-0007vm-Ds; Mon, 14 Dec 2020 15:34:30 -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; 15 Dec 2020 04:34: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; 14 Dec 2020 12:18:10 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:26 -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=1607978068; x=1639514068; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xdcYIR8GArbtUcuxtMCfvf73FMLCLGSC+ZDhp/W1OLg=; b=MCAWLQ7TybrNshHqX1YHOomeEFcl2OSLx6Wp+VZPxfCHlivSmPKkVi5h VQuB27BtMwhkTozKAcU0pZ5gbTbsgtqXTlMIyaItiCat6c9M1sCqRaFqk /Evnc0dGokYRqicuv0muMy7XHe8E+L7HQ82RudlaXgLjmHSe6kRKzUZaT r7zZeqdlNG7zi3kUoeDzSB8/cpjskaclF+jDaUViFqmgGVb9eOfRVesXq Zyvctz3cnNHGBUlfFoTsxdQGp6FPJb2tmv72RaFMYTGcwosQxAI3r6O/y Xr9rq2x2wuej+Q9KjSF02iLLhVlmF1FsXwClrIPSkDOFIA5oXok2HvUVZ g==; IronPort-SDR: tpkUvhSRwK3GTos5cFe/lsQQAmfUTOpga2Hxa/kiYeo9Dl9ojOZItLxaLEl76YVi9S/oAxESsi syny6aUOg0TgX+BbcIPktZ8UcbCMC8YC89/ljb2TTx8MY4mCJysgspK2yxEvTE7gWUJT1QnYmQ LaNeWGA/YLYY0CerUoxN5HCCUEz7dnvIDcuYoVBAcHWGy2c/9NapFOzsMLNqdkF0JYLd4/AytD 2atN7FZHSn0GxQKfSil8Lta3rqUgMtBjIeD4paUogUYweJ/urUdkWxL9pms1uErfJ1Tyehqv+y cMk= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="159586004" IronPort-SDR: Q7Mbsiw4Ndb1Vks6vHwpSS/9kuy3HSpLN5D6Ww3694joGw/1Rs7MFDMeWiMj1092GbQTcrmZ9d DlLRf/FJxqGAS/v95DXIB3/gwQX2cwzFlsQeH69qCAPjI9b2WqZxiR2HbEA74s+79S4TxO+y4j Rwza6WMlW1fDW4vU/b/0zRw1om4+tY04cetZfPmFsyCA3uQ5vgLoB3NAZcx/g2Eu+w3/X28bmy ap2VVW0kLRLEdnwTRt+rq98UbE2mAxqx8hNcYXOA6MV7nIxDPbEz+kA8MeYg7SCbFRPN3VpW0b 3wRTQn5QwoNGWInLV33EocT4 IronPort-SDR: MCh2AgzQU6gzR9hbqNJ3KKM0DbZ9WbS5RGlBr8VFm3FA7H9sSxkZV6XUC4ZOTShWrJvi//DJGQ tbWUc9QnT0zAx/I3+qKp9B8GtEYRpfF2dso1FdeQcdg9JwxdoUEGemyL024PZ2PvwtfQMzb/+g V8oK+y7v3EFTSQ0GIOkSdaF+2utYXha8uGyYQHBI8fHmE7/e+hsB782YYAKukECx5vkmGQAm53 s7heSwGBP9iXyuqzybbA4VCjOKkTrzTyPW25hhFcD9p/I6QJVhH5jglVEovbaD8H7VoPHKbRmI YS4= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 11/15] target/riscv: Specify the XLEN for CPUs Date: Mon, 14 Dec 2020 12:34:26 -0800 Message-Id: <0ba8838ef9061b5f377378ae388bfb92fe13bc2e.1607967113.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.153.141; envelope-from=prvs=61015ee87=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 --- 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 Tue Dec 16 03:46:14 2025 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=1607978790; cv=none; d=zohomail.com; s=zohoarc; b=F1vTTaRqznQfw3+qlVjHblrQxkavOTvwPgjwryHBHdygR3xk6C9c27he8mXCPVgIchtUxH1zUqz+4IBee4Otc362Fc96bUd6v0WLSDaCxkQGnR8I4WVzfg/cf/6I1z6zL/12ZkZjfS+3zWGuYaJtuyX62eO/XvpUKx8CcYnrJS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978790; 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=eBrYf6r//P7FUsol9Je741nf9BQWBidAN8r4SUqe5M8=; b=EwBNpkUfbugBhHgHCskSXo1x1Djo8tFOLpynQFpVUYeTbPd8RhcNBkOPJdxED48CvyzsNM2X+pilzn3m50yzzD6D9JKf/eS3LZGrb47nQ8+mb51I/QcUu0hl/+2q5w/0X4Py6ITVrnDGO1b88oNKOUihFgM+8qFSxtRKgqj2Z1I= 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 1607978790074493.8193684176192; Mon, 14 Dec 2020 12:46:30 -0800 (PST) Received: from localhost ([::1]:59582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koujl-0000k3-2x for importer@patchew.org; Mon, 14 Dec 2020 15:46:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYD-0001hm-AV; Mon, 14 Dec 2020 15:34:33 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:60614) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYB-0007vm-HI; Mon, 14 Dec 2020 15:34: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; 15 Dec 2020 04:34:29 +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; 14 Dec 2020 12:18:13 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip02.wdc.com with ESMTP; 14 Dec 2020 12:34:29 -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=1607978071; x=1639514071; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Hsj4JIbnoPeXWo3xGpMTNzMelbtCFmgMYA0wdibbDmk=; b=cxjdgrp/PAFPsy3mzA3P5ztELu1IeCUVqrZcjJG0sScJbJ8IEqYDYits 0quLITWZyzE5ryC91cKqhvzaUh09pBmv0eNXCfGXV7uBkTwLW9OgAGGjD 2pf+jZKFtmaC4n67lT0W8KvgtqSifArzZwSJKRBFUE+oa6cc80WEi9Nrj 6mLp4Ux81syeXOYQERFq5RIwmZD0M/i5fIfxbJePxrx1GKkNNYMUl70+0 JOy3QBaoS5r3W3vdUEmLsHsUc6nd8Lg3lbt4KdxM3JWckhuS/se+kxGHk 9c4s1TCPceMRp+BP2oMi9dQ9SYlJNsTnbQjjlccX6VKaiKOzO27iprwEW w==; IronPort-SDR: Y6V7SgpR9+C7VYhOmjjem06NWRKL2LeM/mBAEDzxzYuX5vfsa5usrwpJk7h4l28C42ZFdqJv0j P6onT7DGTgT6XI6jvgCWRUiHliVN3DO4iZnBUrAelV5JD1OE5e/38sDKi/b+N7WSWAu4Odh47R 8YKPSaV2QhvVuaXAx5HTkqUpPlhdpYaP8inpXFhvw1y+SX/gkmWJNM/p/lM5dBuWQrF5U2aqqW aEzNryJz0371n1bs8p0BcWoKzRTnGxEEESfM56GQyQkq7ah5XmljHjW1kw8JOqxzoTUVFBTvY0 8WY= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="159586006" IronPort-SDR: J+p7Ppq85p4iI3Dd6Y3GRpFuVr3TFtbSaYeTzf1bGcGdVfrCjO6+LHC2Fv+U/ccvaPTcyNNlt9 x3NHv7/sSxCXDTYGj9/NZSXwYUm0OaU1MZSUCGzYKJ40yPnFO9zu6C/P8QNl7CVYqb9RyYJ1yY om93JRgVcTm0ZpsCWCuP9c9seRmGV/7eQzC32EqiAvNVYPSGAujpMB2nmv+E2JzG6ch/MFxvhb qQX1Bt3QAe4LoTSomqyj0z15YJiVCKnJn+SQ5L/rqhOXtyQnSuyyOcH6w0N7rgYGbCnBCU3XXs NMjtzr1Id/u9JWA/jQoAG9Cu IronPort-SDR: ISD3HW5l0fQwogWCx/BOX06ayM9yZdTRVKAf9lUytQv16qjkzNKcbEQLojOOrTbF06sEN3RAx4 kMG5fL++qSwWel5FMx0As0ZEUEhfo3k9qlkyk7Iun39ul3Ad/8zyADT2QbxJvTI9ILhwCgHZ9g S3fDl+9YBnfp6CzFDHf+IbvjKoSYjJZd+nMOtl23W1Th5p9TS0n2xWo6jn2ZaEvu1mz7YHyxF+ Kqn+P+EI63LDrqM8PZSwLPQJ2zsHJMSdAqwcXfEjOCnLexMFmR7Afr7G9kJr+KnAYLKihRIsGr a1A= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 12/15] target/riscv: cpu: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:29 -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=61015ee87=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: Richard Henderson --- 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 Tue Dec 16 03:46:14 2025 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=1607978788; cv=none; d=zohomail.com; s=zohoarc; b=bDHyj9vasBQFFNsfJbwqI8A/dfLVyggElU+zwZbk9YNhsdUEzYVq0zgShpYVa+Pd5bR7pWaz3+kzHpW8TKWUfsuGWdx/3ft4GZOWHE3e5KlQcbzEBqVEZq6aqz35XKAuIOdz4+lzImhRrEvqVLijSh5JdEZREQAZI6M85MZbXxM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978788; 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=y+YPQOkHN/tvIPnEQPCGJYKSI/Ed/F7VHHGqAwfQSjQ=; b=Dg4xYlTMx51aXHVlZojFVSn9NoNd3cLh84QsQYUcuBO3uYONw68dPeOY2NCJwfrWxgTg9tEi8HzSCVddR0of2Ry4rO/BQJry3xFM9FqqhGghSy1/SGEXc7029L6/AyuLCmQ2/0rsN2dJMyRWVsWtoCY2uPvoO48jwhh0TJ2OVd0= 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 1607978788290716.4207245555419; Mon, 14 Dec 2020 12:46:28 -0800 (PST) Received: from localhost ([::1]:59366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koujh-0000ev-Sa for importer@patchew.org; Mon, 14 Dec 2020 15:46:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYG-0001qI-GU; Mon, 14 Dec 2020 15:34:36 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:20005) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYE-0007wB-Ib; Mon, 14 Dec 2020 15:34:36 -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; 15 Dec 2020 04:34:32 +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; 14 Dec 2020 12:19:51 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip01.wdc.com with ESMTP; 14 Dec 2020 12:34: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=1607978074; x=1639514074; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UXfR7yx7NJcqhSL5KrvP2pJM0clSZ78wWV9a/1rBfMc=; b=PEvUwz5Z8E3fH1zt2h7unew6ZCuqQvl2FYcJgcxlVLAutSmFgj0QDx+N cwAKIOWwhDtYB72LvCNpJgDXc2SDI5fBMyprAmtLhhi11Lb0GHVlJm3Su oYoNFZJIYA58n5XZLfNY1saUAajSnK5nOOVouDx8TlPavGHJKcD2aojcU wV8dEXrWByze4USto0LFTMeW1W135hFbKKBaszcu7gXTmlaVWaSrpTu0f Ts3gYI8dHRG6DWdlnPdUP+XCUu/wx8tEoLvnwTTOr1T56SbEj2YIC1Cln wEFcMODVg9dy/1Cjt4EKYsUiITy7OmV+iN15NMC2m5TRz6Iswrl/ceYY1 w==; IronPort-SDR: jhuMSP5tTEvzWAHa30GIEldgTjbrKYVz8kz6VTzavgnKLqhLGBJGSvq6ZuAtxvFOVYQK5NO6S9 LBBoenoJZuA320RsZD8efZ1Be9W+rnSHZ8t7O1naePjKL7LKPj6YUgThVYVfFbzcoMPtlXKNJ3 fSuLFd4whNjKHw/XY0zLW9u1EfoMVjZNSvOQrYbjb/6a1GKxJ7+bBE5vp8fKcTav+n/8XRThLA SXUlmX8JWc6R3qhKDtsKiJfu7RWDxgz+wOLDBGDl+kEQOF2RGZCbWQW0T2ocqCIKkifPw1LVd4 Xjo= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="265318152" IronPort-SDR: 4Qs3sOZOVV/8yJVMrMnKwwYGTQY40ZnKX2tuHj9teoSFNKn3HUw0ICFFZ0yVD6VH23vrcUCMGz Wa0w7hp5/wfVMtScwFgZIC10eWSFf174nwEbZ/SkU/2GUxsM82tdl4i2tABadf/cvg/vINO7Wu tQjefA8cthVi5Lm7TuGp0EsdkE9Eaqu7OfIOCtpS36vzfUhoLca38IV+vyfcKXBTJpdcKvAA3I Eq/Qj2FpGiRJDdY8dg9sD6RwsbttvVTldkwKXqg1GL6B18clVRs127AnR9KncqdtD9j3mRcErh v+cBNoKwOkfAOGBaxDtIRpHI IronPort-SDR: 96jXjm50mlPZ46kp5xFo+bdhbnYgnpzIp85WrkKflnH89YIbOXJFLYqH+C2PFhGdKv/VrV/7Ub bbxFPz8X4uzAXdG5WTkB+yRXSAq3nKuhUXLbkL4w4aVyxz3d9JnSW9Gukcj9341ZhVw7Ha7yK1 +sfrusglpMqWbUmf5tVDcOHCWyIttUu9nIO8cj28kN4Wl+PmojKBgUxhgnxwBlK+78G4GtAsaB S3KY37aKh8rfe6vVKowAq31YVJK9T2JD3frLUCOIBBz8L7TyL32dOgmhUfRCAKCEcu+P3ZnWT/ /YE= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 13/15] target/riscv: cpu_helper: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:31 -0800 Message-Id: <1d0407a7fd46da8eb17315fa9450021f13722fed.1607967113.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=61015ee87=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: Richard Henderson --- 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 Tue Dec 16 03:46:14 2025 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=1607978575; cv=none; d=zohomail.com; s=zohoarc; b=MbAcuPx3Tw0DANcY+pR6JSFNd++HMrI3WQVk4jR6lVBI7oGwmC92nAavjrYp89chs3bW5oTao5neRMA31DYRAMBpL7uTu3KnBhVcy8Gl4UuAlg+sJIkARNkucgZPfycb5tOEjHZUx6MvhAAcm6hmWRWlNVraRIk+oCehKzEEY/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978575; 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=1znvUdH2WEmL2VhS0Y+LGR0hQi4s3nzWD4QslKceKpA=; b=aWRx4JKdEMk+L8Bb9aMQpqBNUv5/2ddMuAcUSa9JDXptT8T1DQmj/CQXH/TAk1g6V+TLInVGd9qiTvuhSvaua32zmzRNIOphTD70zlaOhyp7pKboDgw/UATP6xmt9lh6WSw+AI1Dm7oQClaw6BioUHW17kMo2vjTJ4ywX5jeUJ8= 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 1607978575646998.0729078380361; Mon, 14 Dec 2020 12:42:55 -0800 (PST) Received: from localhost ([::1]:50110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kougI-0005FJ-ED for importer@patchew.org; Mon, 14 Dec 2020 15:42:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYJ-0001yS-6z; Mon, 14 Dec 2020 15:34:39 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:20009) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYG-0007wY-Me; Mon, 14 Dec 2020 15:34:38 -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; 15 Dec 2020 04:34:34 +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; 14 Dec 2020 12:19:54 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip01.wdc.com with ESMTP; 14 Dec 2020 12:34:35 -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=1607978076; x=1639514076; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zG6vmoOS680GqNHSDMcma3CCsMEus1pGBzvPiMAQeuo=; b=FF1ow48kT9eHoq8eeK5psLvhXRNqbSfLkrUdwWypoMz77jU9Kbnss/6a ub1ewF0ozW1MmJwuslPiYI6QkwDfVMaZy8uSGXsPSz94ikmhC8MBIg4JD +2PSIu/6ZjOKlst+uGLjYZH9aW6bDHo4W0pMDk8aFUdhj3OXNUqvHNzy3 JpRD0w89X05079bZignd3iZwZtn1aSWyjr5SzeJ32/zELaokvHP5ngB6R Ir1FwOIwZml4qPppzLLmpk4Z6TGLOdVaRBVCaxuZt/EUo+zcqFqk4DmBD Hfq1ATw883hq2mH5N6QLddFUqV+kNzF7vKi0LG6jj6cjEBQzZNI4Chw6d w==; IronPort-SDR: v8IrYUIc8EsOYxFFEIfJ1VDaY1jXJe+xSttWQZ+gnBDVWwksMVwyimwU9JmmVJh5YUnt70GPUX sDNo1+HXwDiElG9UIMFtLbqx4y4fubnhh4UI1xc0pRL8pc0z+U5nMMDIrgDV8XNYPmU2TsffUb 1yycPhFnPlYmR3ZTMDgFvcszjRCorEnfrpgapZhlJzhJlbZ70i/SE2pt4gFSuzzGf6k0avz9x+ eRSE0lTID6JyMcIRsMUwxQ32ahII2R8WzMnR96Go6fUa1xHQjIX0gYmcpXfD71XKbdmnhrpAru jak= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="265318155" IronPort-SDR: kbgvzwYPs5yPtkmbZnTKjkQVqBTpH8s84oA8bZrkQY9NrLN18Y6PWe0MfjYIMieYUbP2gjmQ7a Kuab3ZK7/rEgZCJTY8V5V+ekfif7DEnCUUbbUmfACNAY7+gN5PgMuuYvE7aJAEBYbLVhdkSi/0 acjtS+3hvyGPE3HsOA7p9ApBpJ+hponJz9eLBtVQWCfUzmtmqJxWqq5MvZjeAMmkZCeCwVH69u 3sUjryvZosJJZY7o07WhApTP+wIWVy7cnqN6I1cfbjcJbTMpEdMEV/wrf8NDdMt6i3fetuyJrH bSO27G1cKYvA58tx+rnFEyFs IronPort-SDR: JhbCzoGcDcbh4g9fgm67nIw6fzWWwHzegyH40XNUPkRa15Nm2tj54/9b8L7uf34u6Sfe0pzXsl zk9OY1XodrI58UMvzVIddYTAyesevUFM7BEFumUdp0TBrzM3Xv9Bw35O85cvGjBu6jPkBfHRYn CrlsrjVfyKF+yiHWbZC0YiI/vsAP7o7WoLSMPk6083jTPXr6wm7YKaGZgCOkDrWUcMfmqeKjfA ZHzhiqGti6+VUDBvpAPIkTRRqpF1TgTDTpc6tSURHJC8lpSv+XXqDctHyWaccS87joiBEc3Xtz N28= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 14/15] target/riscv: csr: Remove compile time XLEN checks Date: Mon, 14 Dec 2020 12:34:34 -0800 Message-Id: <8f85e44940d5f4f5f947a92033685531b3df7aea.1607967113.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=61015ee87=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 --- 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..63b818c1dd 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 Tue Dec 16 03:46:14 2025 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=1607978429; cv=none; d=zohomail.com; s=zohoarc; b=k2crREPjF37GK4tef8DluxwH1dM/ij0zLP0RXD+Tg/5gDk3aVIqa/mu/h9hIE0gjhSM83SYiriUPcMGMJJIkpx+/zmFCUqUxmViSVT3HNjgUG0jfo28dBAa/tlRNGuq5ssh73ZeXKKxhkhjJgNHg2MUlELJoBXEgqghJZ4bQ73Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607978429; 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=qgWzSc4bzMN2e1nqy3dWkg+slYb0RX3gzEe0FFID+sU=; b=VqtGwdytjFAuS/fOcGGDdDHXV1mO4jLfoDbq5xa+E9mhYFcvJOcpiTStVf8PR+lhhGFC7LyImFXvqXOwwtVj0Py6UW1yPqSgRwJ8pZb4jYz/N8nE/ZDel4Ko8MDXn72YJjVEG3bqMADM5wLTQxjYPAf7yix0FAQNdcLgynumMPc= 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 160797842902396.89151409820772; Mon, 14 Dec 2020 12:40:29 -0800 (PST) Received: from localhost ([::1]:41518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koudv-0001L1-UD for importer@patchew.org; Mon, 14 Dec 2020 15:40:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYL-00023H-7e; Mon, 14 Dec 2020 15:34:41 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:20005) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouYJ-0007wB-8d; Mon, 14 Dec 2020 15:34:40 -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; 15 Dec 2020 04:34:37 +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; 14 Dec 2020 12:19:57 -0800 Received: from cnf006900.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.62.52]) by uls-op-cesaip01.wdc.com with ESMTP; 14 Dec 2020 12:34:38 -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=1607978079; x=1639514079; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uduk8fTiiFBWthDtcgxNC7lo0McDfT8xvXc/N+cyNb8=; b=BzLHarVbrUZq1lEe55p24qPeSlTUbQDfBkIWjLcEd2dpyQ60gyh+hC1A MDg0OubIF3/NCc4TLbPmkwt1a7tURk3TudqVJtkCkuVqif++JUk3o2/Zl W0vWkb+eLOahZZjbFUoMlSjsf/+hLqhn5h+c/0hi98ejFnD+rrVWmAfpn +piU2R+qYDA7l8Y9wHr31DyHoN2ABbRwS/fhLrRLCzxvr8n0AVCPv7LLt IgxUNvvaG9h6wgbZPTcIbiBLQtIQ8PLUKE0nSj/8BtCvPmsUgwahw966M uNdyDm4HRoHCfkwcOoUVwffmjy9BaoOtpaHtcnwTIqvUwkP5CxBAHygpb Q==; IronPort-SDR: DVoyZ78YCQRdtAjXKhcbBV3HeGWgiyAQHm7VsZR7/+gnGo9QlU9esktOB6oinx2qcVlH/rzLPi hSjOq9xFul+07H+AmAfTPhJBSNLQeXjZc8mozBrl+OEyU7OUWpWIkl3waygfsjvZzN1jSnUTKG 7gIYK3fN6iNa3ccZA7mQBrobTVpFNE1x9kELlmc/jQIgtLqWnQY7uzjMGE+sC1SfQyzhCQdaKZ sDkXgT++8d+dUOGM5MFmNSP6GxGZx4M/S8B/QCYFu814LNP/4nWLni40RXr5Dk2GzuEq6bYKmt Soo= X-IronPort-AV: E=Sophos;i="5.78,420,1599494400"; d="scan'208";a="265318163" IronPort-SDR: zaHA+0jwn5fCKqyVY3fh9aZp0hVN5cYO1VEi/nOyBy+ypiIK9uUSLACshBaYIP7KvO6dp2tEon 6h+wnQn9+fIIbZYu9gV4Ogir7QUPK/Lotb9thqzZtxEN2W9fHaYFgaXxokswpclbBkrYgD/Jql cRx0s4+QCWpAT5fvHZsAjtJnN+AcvuaGhoLncOHL9ZS0G0ln583FV7mhlKLn+gEJsJAAH7cyt1 gMnaItXQF5nxTRtKMIReIOOAH+WM8ghL2ht1AjfjzKPAm7PYgxGzhvLSF6TOWeBrc01ceYlwtq Yc7SWty0I3LTPVi5tMeb7Ddy IronPort-SDR: p4BtJ87rGz1N3HZXKAi6KpTYxc+yUE4b4FjEVhSGbSGK1c3UWbTEj/eMmPV5WZzMZ+AM78zQHa qStNiYR6+oqda9fUHLxFSN8P/9UtRf5uNK6m3DADyCWupceVKYegh6Fpu9j5J+YPLXBnPVmllj eTIB1eAAHntXobtsvUJZNhzjvjJ3BSYdb/QZyZJ34zxe6Wo/yuXIvv487yc06ONAN8RbVQTfv6 k5pPA1DVaviT8TGFSx/FIjWZP1T+ppjoFirNSJyNO8znb9cYGzI4lZZfKFstBz2oJmuzTGNLWh 8xs= WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v3 15/15] target/riscv: cpu: Set XLEN independently from target Date: Mon, 14 Dec 2020 12:34:37 -0800 Message-Id: <0508789530dc788a1abda41e04bafb65d377a1ad.1607967113.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=61015ee87=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 --- 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