From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468514; cv=none; d=zohomail.com; s=zohoarc; b=m1/+SjJPp4wmlAIKpBkMC+QPb9RF6LOikFB9vqJZW94UYQ8Li1Z+e1ucFEzUvWHXtaSqMPX3gvE17TntHI27Fjs8GmHpyJhso8d/Z7DUKbYTdvlvUKXf0kr1nlewpe5SRXz2jJG+CFqty+yKjnLciYBkZvqZ5gx2/PRa/siRmKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468514; 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=DM3/8tpmpAFRZIP0nBxyAMlyuQRD4YOQSuPXFBekgOM=; b=CZXH2KPcR68GDne/Aj/D9uBp/iHeToSB7/lQPqf0imdk3MfkYFxeXrSV8ab3/Wzv8YXesO/qJ7TZMirvB1qszRkjHVJSMyFjdQRoK7ELlMdYIpRIRLUhiXYJ/Ally8/NTmRMUQw+LUqxCnIi8lQUEbfXFOuWJWgKAJ/pH3zJVyY= 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 1607468514420843.6778252137642; Tue, 8 Dec 2020 15:01:54 -0800 (PST) Received: from localhost ([::1]:37760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmlzV-000469-A9 for importer@patchew.org; Tue, 08 Dec 2020 18:01:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu3-0007fZ-Ds; Tue, 08 Dec 2020 17:56:15 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:43224) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu1-00049X-Ky; Tue, 08 Dec 2020 17:56:15 -0500 Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 09 Dec 2020 06:56:12 +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; 08 Dec 2020 14:41:38 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56: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=1607468174; x=1639004174; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nLrKjf8XZmGJ1Xd6Q2NIglSi20tiEbMDonG3iL5kf9I=; b=clhljAMaC995WcyTLp+WfI2XkinefzcBHq+v0LjVHcFEs5fi+qm7sh/x gl6I9Qt/DDt8H0GNXbTET2oInEg8nxCoDsjucltaYOWR2RktTKwqhMyU4 g2uCYOTadUqVlqen5YHtpr1GWRv1FCExF9M2YZ3H5GaDS01dMbr9t4GtU Q02eEAjAf/R/9D/ZS6deCtgzIMdQ5fzluuXemeHYv7JxXHJCViTiuu7t1 i3B4wUJt+GXP34G0yER7C84VY1ETJPyv7xZ+Yhor99Dz0zjnb/2LLY6Mq 6dXaXCUTM4w/aAXHm/Rus7lD9WAcNAj7EVnI0MTXznp1/IRC7Po/Bb7ZC Q==; IronPort-SDR: aE+7vLlIsrzS9lcIdeoyPmxNFhrTyDQTZtnY6eXEzV5nrLdICdWuKKozwsDtvWlRJHZYY2RDQc rgKnHa+OY0pzZM1gl9JahbNZ5RUq2LQb0nYEn3Dbq0PDbpnHDIXrocAlruqrwp68u1+s3hIiM7 oPOS+L8HHiWq73FhYsfIwpyJnmTzRHDQIt2nVFY/iUsxXFL8no3NPFm9y4OFetQA+6iZHH39cy b2p2hUW0xzvot80GczBYcnFCo7cb8DJ9qV3r6nBsrh/2gvKU5l79jdwWA2mRTVIjyWQ7OT2p27 d/s= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="155938390" IronPort-SDR: vZwWxNkWXbcHbOTWGfUvl8FT0tliGFqJJmGQFv1NzuI8DL7G2riKlfr74s91tvXluXUn7/AQnK NtsHQEhYiJPvhRefFdUmqIXWFcqNiBoeg= IronPort-SDR: vGotmlSOmAfOjon8NJOdueTR6tv8B7nKr7+/fBdpFW733VOw2AqiIHQ9pONYo/hWTerYWumw2J f5ukV9fByuMA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 01/15] hw/riscv: Expand the is 32-bit check to support more CPUs Date: Tue, 8 Dec 2020 14:56:11 -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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- hw/riscv/boot.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 9b3fe3fb1e..4165cc8d32 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -40,7 +40,19 @@ =20 bool riscv_is_32_bit(MachineState *machine) { - if (!strncmp(machine->cpu_type, "rv32", 4)) { + fprintf(stderr, "machine->cpu_type[8]: %c\n", machine->cpu_type[8]); + + /* + * 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468380; cv=none; d=zohomail.com; s=zohoarc; b=Ufctn4ivEPlRNh/hFkZxWap94QHZri46GxRKkVTAuQzOfQUl+lp69UvwlTS/d/3piyv9d1k1Y0tEnikcPichPCgtH/qxXB+mczhoDD3fcGL842BRERFlJ0pt1h+GG9stNEm18HGpvzi7wiA57/2JodOLRcpFdQrklf1PhfTAOsw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468380; 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=hjUeXJ3Xwtwc9iWz2GqUy9n3XANcB35hI0ovlh1gXsqe6LKvO6O5TVnWdg+l4URT1L+IsR4C19KdbxA2KCUcBbp9YI7DKLSJ8Jo/oNrtN4IfhPBASiQnEFa2eYjtyS6+pBu07qWmVywpbRcxZ2OR/3ugQNLH1F6V+0G1YLDnRbs= 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 1607468380681940.1590199263228; Tue, 8 Dec 2020 14:59:40 -0800 (PST) Received: from localhost ([::1]:60594 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmlxL-0001kv-Ei for importer@patchew.org; Tue, 08 Dec 2020 17:59:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu5-0007kf-Hu; Tue, 08 Dec 2020 17:56:17 -0500 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:43219) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu3-00047S-Pg; Tue, 08 Dec 2020 17:56:17 -0500 Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 09 Dec 2020 06:56:15 +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; 08 Dec 2020 14:41:41 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip02.wdc.com with ESMTP; 08 Dec 2020 14:56:15 -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=1607468176; x=1639004176; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5TzJ0MhdBNXGaUoQfYSd1oKvkSekJTFdwh70MrGYcFk=; b=Tg70nm2gCgVD3gzqMWrpbo14SwUseDaf+fsGZjnghqDtX4ZbDTIk0ULm qU5B9jFttSBoPQDICRjCe04vHCpoHK6tAJfgeLhdRszilc0jeJ3YAw7ir JgruG++lnbaJfLOGvkskZ3LFK5lruQVMzdqqBxjFaE4sWoDpAqQDsyqL+ 2ByY4QWBQ+8K6g/RgRUDIpnbASLE7ZB3n7yRwM0Kvm7CeELU1aRhq7QyZ qsx+KVudboT8Ot4VEg+x+cF5hhztl4PLmEHOm14he0vHtKK/ghWKqLL2F LV5z6PkoWY+/PucRKAd++JkaZDDFQH2raYqk+17YwvxqAMhHOIKXkfTDv Q==; IronPort-SDR: u0vLWBxlv5gLyn874P4N4Q3emgRgsNiCmHFKl6qp0VfxMgRZdeFwkOOCy52q1n3auN8fnSCkbm 2U6Wo9OJFjlXLRY9JIYWwyDEyHsqKJjPGI4OV1xckwWUlsSmXiql6tYY8YptUynoP5bRcC21k7 GcB/sx0RiiLFypLwcM5Y9qZLlDk2iaj0b3C5dUzgsAOvnF0UyDERNZ4z9TqaqNgNvHrnwXsjSU aWiCun4H7y/yr/WKi7Jotxu7TC39oeUWzBcw2yNIJC7PvbIvLE1doCDrpHl0khBHxUfXL8EgwW ATo= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="155938394" IronPort-SDR: dMeK0WUt/5zJJXWkTcm4SWGFm8rd3IrOqUy70t/N/qBz+7fmBnfNUf1yRZG2YJlQyiIiEn+oIJ pIozVgixn1ATLVa8WJbQZFxZrHRBS7na8= IronPort-SDR: i6B+HVGyUCQmK8o+8L/WOYtO9NK5TG6k02/5whtpN9SUBQUK2OmnXoPNNmPi8Q1FsMy2zC55oT hCTmvIjw2b/g== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 02/15] target/riscv: Add a TYPE_RISCV_CPU_BASE CPU Date: Tue, 8 Dec 2020 14:56:14 -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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- target/riscv/cpu.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index c0a326c843..9c064f3094 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -44,6 +44,12 @@ #define TYPE_RISCV_CPU_SIFIVE_U34 RISCV_CPU_TYPE_NAME("sifive-u34") #define TYPE_RISCV_CPU_SIFIVE_U54 RISCV_CPU_TYPE_NAME("sifive-u54") =20 +#if defined(TARGET_RISCV32) +# define TYPE_RISCV_CPU_BASE TYPE_RISCV_CPU_BASE32 +#elif defined(TARGET_RISCV64) +# define TYPE_RISCV_CPU_BASE TYPE_RISCV_CPU_BASE64 +#endif + #define RV32 ((target_ulong)1 << (TARGET_LONG_BITS - 2)) #define RV64 ((target_ulong)2 << (TARGET_LONG_BITS - 2)) =20 --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468710; cv=none; d=zohomail.com; s=zohoarc; b=XxB9apOxs65Zd8NwZGuAu5L14obGOiXIEGjNAhNQAk0qd5MUl3LuRD3cMc7990a84LXvfCb10emEI2LAxF0IPwBVqtF1baiue+SZDh0yob+J5YPAxjsz96UrHSBJqCC8AFsiTmvTUnZ/PnqgBkS8hQ8/flt4PI0thOaEHwZEpEg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468710; 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=Kr6fkxn+XPqcuxtfmyvhFy8lbBjVf2fbLFd8lian+BJ6AXoMhbJbAsRuOA8OZ6X11zhNWPCmgvRbp90+aFPRA9upeNHZfRgK72cumihNgV9d3tOVeI21wZMfpCCX0ZQOU+h6Ly/e/NIqM+3PLFZuMdBmyJbYD2MVl+R6oUo9yoQ= 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 1607468710506165.63926043141316; Tue, 8 Dec 2020 15:05:10 -0800 (PST) Received: from localhost ([::1]:46230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm2f-0007bL-7g for importer@patchew.org; Tue, 08 Dec 2020 18:05:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu9-0007tj-Bw; Tue, 08 Dec 2020 17:56:21 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:57375) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlu7-0004Bi-Ki; Tue, 08 Dec 2020 17:56:21 -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; 09 Dec 2020 06:56:17 +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; 08 Dec 2020 14:40:18 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:17 -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=1607468179; x=1639004179; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2TG0lw4zTTE9K+65mX3o2BSFxGx4t2P6pw44PD0QoRY=; b=BZJ8o2E8iYQ/aHjHM+pxtvsuYhjSlj6nncRp2xTYpo/JD9TUab2CdfgI Hh+Jkdu1psdl9WfugB6qUG0+I6VZ7wV6zhUfhN+aDLdLc9Y5uO8Bu7i7k 2tevKTTIPs2KxygLEBSfG6e1VIUmoUhv716KCCTJNxTDpA26w3fUL16wn ycJeuPlhEMzkBw6PxEKBjAoOH1l4d6bj0DwNWlG+1iqE/byAmDufqSjSF 1dM4FQi+5K8adI81PEd7qegoN61YqYUA6mz5K1xDdM+qLTvKBGqehbOWL O/HO69QX5V7ZNWasbHXMR+/Tv6MeN9CRvL5ZxUktgUN+gOt/Dk+fx4F/W A==; IronPort-SDR: FJyRLAG1+j6m9PKzMnh5YKNewUKayJQV4xcYgWz5VQ164GqN1+Lbutx/JP3FKEScf2Ia2WrcFw a5yCraXgJMD4wslCBGYOoEOt43wpPMkJ2BZcBT8mW1dFVy7brzs+BvdgnT1aeP4mr2FzRAsi8T vgsOuX49xVANjHsnhMF39rmU2BtrqLLrZp84URmjEdNOscgknGsA4H7Se2aXXdvv2vnrMHBFjP EscdYzacHvzzssDJxs5CiDNRTw2fWEAUEuJBRytdzyNe2NjmeARIe78Kculr8+7/nVrVVfRJLU mUE= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="159184100" IronPort-SDR: e05WHdM6zHwdk984De/zlFAzPKLeRl9TDllM68WPMpL+RLB0HqMw6NR3/MbJye2RFHkxDcTXa8 3c9XAGFbNWjFlVuzHfC3HWIAusdDNFfJA= IronPort-SDR: SHnP9Ua5rChsOullemTqRdxUJczPC99DDgm8oXPf1U9wq73s9P3a00C7vZh3sjlq6qqW1F4cPy r6tZpUzXPhfA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 03/15] riscv: spike: Remove target macro conditionals Date: Tue, 8 Dec 2020 14:56:17 -0800 Message-Id: <1dfbe037a4b61fc04e820f695b0c10d0adadf65b.1607467819.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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- include/hw/riscv/spike.h | 6 ------ hw/riscv/spike.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/include/hw/riscv/spike.h b/include/hw/riscv/spike.h index cddeca2e77..cdd1a13011 100644 --- a/include/hw/riscv/spike.h +++ b/include/hw/riscv/spike.h @@ -47,10 +47,4 @@ enum { SPIKE_DRAM }; =20 -#if defined(TARGET_RISCV32) -#define SPIKE_V1_10_0_CPU TYPE_RISCV_CPU_BASE32 -#elif defined(TARGET_RISCV64) -#define SPIKE_V1_10_0_CPU TYPE_RISCV_CPU_BASE64 -#endif - #endif diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index facac6e7d2..29f07f47b1 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -317,7 +317,7 @@ static void spike_machine_class_init(ObjectClass *oc, v= oid *data) mc->init =3D spike_board_init; mc->max_cpus =3D SPIKE_CPUS_MAX; mc->is_default =3D true; - mc->default_cpu_type =3D SPIKE_V1_10_0_CPU; + mc->default_cpu_type =3D TYPE_RISCV_CPU_BASE; mc->possible_cpu_arch_ids =3D riscv_numa_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D riscv_numa_cpu_index_to_props; mc->get_default_cpu_node_id =3D riscv_numa_get_default_cpu_node_id; --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469611; cv=none; d=zohomail.com; s=zohoarc; b=HpAekkzaan1NrVA8rozKfeocH17dvXOYdQ0BN6odfe8TLw/UG97ljYLXnGkutON5VM+cpXNE9GbbyUXY9eatwnBUFKadOQLtIDkCf7Q0iyCN6GTRhbCQpS6wyR7IXIXCJ40G04V37KVUtJMgz0OeAJsfAgjAat7O8pfDEgydoBU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469611; 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=Hby04+Dtk8l15KOLFfDch3hQBdrHDRjgwJRTrzHXHPMRR9m9pN2r+U0rVaj4eeFlP044GubuXpmdwV7cKAk+iKEGqIHVpGJD0L4u03agmmFkebgNiC1a/qJNuNEJLMeXrhz/isdbKRMEsOi49KYp90SuUFWowHT4qEXuuLMBda4= 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 1607469611113892.8207656839805; Tue, 8 Dec 2020 15:20:11 -0800 (PST) Received: from localhost ([::1]:47910 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmHA-0003QT-WC for importer@patchew.org; Tue, 08 Dec 2020 18:20:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluB-0007xF-OU; Tue, 08 Dec 2020 17:56:23 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:57377) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluA-0004Cc-0z; Tue, 08 Dec 2020 17:56:23 -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; 09 Dec 2020 06:56:20 +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; 08 Dec 2020 14:40:20 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:20 -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=1607468181; x=1639004181; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CTGEz6Ggv50vIsVjqVuctj/ddtwSeDBjNyqazv0Kae8=; b=GAtKn3Avst74vsYNXxZ8clHJqqMCiXKkJ6qiMKqO7w0/zLFqX39L0T0M f9BomCqesYglAhC6quHxSFGCPyFVKtQqVmgLrs8vwkqO7dAM+bnPHLH0e qrl7fgw5qFsQocSyaHnk+CqXbke1jNy3K2q0w7Ax8q+XUSQYPbj/gXiHv 34qxD7TQjAqfaYl8ugZrin9TI4t6b1BMuCQFogaqclggosRGUQ2wn5xhn 3sxYL1rHisiXZcPrB7cwUCoXdt2UaS+bbjJCAqrFcKuPq/v8WACr2O03c Bg8RpSQiVYC4BzB9+joYnp8Q6IXvjlV1Lw+uiFiNsg9Voqvm1Xlf0LGbP Q==; IronPort-SDR: NNzBVLYB0tqs/q8yK/NVdZrJVPfYaYEqrBZIYv1KCJBaA+fTdAFtwGFnpR0zouJgM5pw8k8coj x1GsNX87cGtzFRiYn844PlWH9q/Lf9vD8gs+8TDqkaqUO4yd7Hk2+B8q0aFLxx8wIli8QMUkUS usLxvSfsazapFOG9wTDuaCo69Y/jHrVoQMy6q+VcE+SWga6K9ugmOGmd0FTcuMC50fNQClenaC EkWuV2W4SSa9pPNH1Cn3KJmRhTHFNiEdSCnK3Awl7pJ+TmyqJUCBxHX9boTfl3Mz2lW9CWN0nI qOk= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="159184101" IronPort-SDR: MJ58YaxzVVh9CmCuxcgopA0zZz2alzacjMkiAdjlRykubt283MITpyJBusqkFZybkirrR2Tc79 by5UYWBmh4eIm/a3uohX4sdzADchdm0sk= IronPort-SDR: TyaGz7zgoYBzgLgAfVtTpKpSdxC5Whaj6/aWX539Jw9eoeOnwW5eZWlsckCuuXjV6dlgf8hx1t MugyxG9VfOoA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 04/15] riscv: virt: Remove target macro conditionals Date: Tue, 8 Dec 2020 14:56:19 -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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- include/hw/riscv/virt.h | 6 ------ hw/riscv/virt.c | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h index b4ed9a32eb..84b7a3848f 100644 --- a/include/hw/riscv/virt.h +++ b/include/hw/riscv/virt.h @@ -89,10 +89,4 @@ enum { #define FDT_INT_MAP_WIDTH (FDT_PCI_ADDR_CELLS + FDT_PCI_INT_CELLS + 1 = + \ FDT_PLIC_ADDR_CELLS + FDT_PLIC_INT_CELLS) =20 -#if defined(TARGET_RISCV32) -#define VIRT_CPU TYPE_RISCV_CPU_BASE32 -#elif defined(TARGET_RISCV64) -#define VIRT_CPU TYPE_RISCV_CPU_BASE64 -#endif - #endif diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 25cea7aa67..995e1c35f1 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -706,7 +706,7 @@ static void virt_machine_class_init(ObjectClass *oc, vo= id *data) mc->desc =3D "RISC-V VirtIO board"; mc->init =3D virt_machine_init; mc->max_cpus =3D VIRT_CPUS_MAX; - mc->default_cpu_type =3D VIRT_CPU; + mc->default_cpu_type =3D TYPE_RISCV_CPU_BASE; mc->pci_allow_0_address =3D true; mc->possible_cpu_arch_ids =3D riscv_numa_possible_cpu_arch_ids; mc->cpu_index_to_instance_props =3D riscv_numa_cpu_index_to_props; --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468571; cv=none; d=zohomail.com; s=zohoarc; b=VePu+yvYCMR07W8lJVAG2VVVl+pJwxDlPH9pP31WnPr2iEzC4jhlS+TQH66Y0r5Gc99TLOn0vX02Daq8xMrQNLIPc1nINgpTJF02izFBo9oAASwyVXvXsudtdfR7FtcFpM63W/dh9EuUAewCFYbtvuXBj36ZbY2HbBzcYj8vwLs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468571; 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=Ztl/oL1n/FTEcCbZhaEcwu+/yFcdK+vpPjpHGL7YmD8=; b=e0QMDS/zwrsTBZz+ES5IlHil9JSlV1GD9TpWWnofWg/vAbKMn4eNIiWy4fbjWJNp23ilVqgEwuCh785vn52DAjuKvny63wbC58d3xsDCWv8ue34SfUUPNfgSz/0EwRe6r5UNT52Rm37JTFYhRbcx+GBsUg5KWLqKn8YPdzjojt4= 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 1607468571725623.6707321199451; Tue, 8 Dec 2020 15:02:51 -0800 (PST) Received: from localhost ([::1]:41102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm0Q-0005W0-AG for importer@patchew.org; Tue, 08 Dec 2020 18:02:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluG-0007zp-0W; Tue, 08 Dec 2020 17:56:29 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:57375) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluC-0004Bi-AR; Tue, 08 Dec 2020 17:56:27 -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; 09 Dec 2020 06:56:23 +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; 08 Dec 2020 14:40:23 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:23 -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=1607468184; x=1639004184; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VLlG3IEJYmfLM9KFrRDFl6mGjm8Pk9XAIIaQdVLiVuY=; b=JHmMHcsE+HGT1QAZMF5cD/HmNaxN9uA70wBILfPsIT+PIyr3Io9WDNA4 46TUNj5RV0wRyMa2CY81j+1DwYjl7fyrdpdicZfM0dtBMY+zWldbBHgCV DvkSaHTQwLYxX2ukx/kMXoMHgE5ndVDWrk6wDGXW81u+iLXRxpcd9aju8 808C+r6Vg2IYqgptVLYd40NXHVdiDoD/X5k9V6JwP/boTaKZSsQED+FDp Il/Tf6PumXrIAb02I2slOcAP0CURPiMAuW9wdPX5JSv+c+f5dlomMYSQZ X5EY/lKXvHns5iuUg+47nGNic41OjgzVIeAMXeJKNZH8ybQk2KtuZeDkK A==; IronPort-SDR: ai6aGHUaRc4sMRW8/6tzjlo1bz2ZDt2L5mjZmJoWZVyZdIwUvbXBrB7UMKkzuwRp7UjWkr0q2h i1282eTFaI2YQrVYpk1sG596H1f5mtfzpMnxk8wsQixH+ZqP6UY3ibaixL5IObW7/6dTeLPibb YMRtaDxC6MVrcAtsy6NdZ0avFXTtKcJ54mdtpEL7L8TiHqGfZlqJq/0BM+2iPeI5TOp69A+IqT VrppkSY6qzHbc/zS4HMDdOtlgoyaz9Qjl+s7gXXvlOznG75g74O5C4NGOFvmN3ucKI/ZS/bCXL Rgw= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="159184105" IronPort-SDR: 2LPLyYxSux+411DpJDAxlyo8V4Geg/ObWYjjH/CtxOkrNqhfqgB5/6r1RY3DeUsWwc2S/ou7fl 93tyJ2p2HMLrXYtfvg3w25RLmN4eKsovQ= IronPort-SDR: K9ShNDooizwldMSjUSNHuBRVC2Is3micfh+zPNkIcsl26LFMWQd8DVxM3R02jKWiojYze7F8St rpdfLs0Ry26A== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 05/15] hw/riscv: boot: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:22 -0800 Message-Id: <64d6afcb62eb7b27b863436219cf1a4e28018de1.1607467819.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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- include/hw/riscv/boot.h | 8 +++--- hw/riscv/boot.c | 55 ++++++++++++++++++++++------------------- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 3 ++- hw/riscv/virt.c | 2 +- 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 0b01988727..b6d37a91d6 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -41,10 +41,12 @@ target_ulong riscv_load_kernel(const char *kernel_filen= ame, hwaddr riscv_load_initrd(const char *filename, uint64_t mem_size, uint64_t kernel_entry, hwaddr *start); uint32_t riscv_load_fdt(hwaddr dram_start, uint64_t dram_size, void *fdt); -void riscv_setup_rom_reset_vec(hwaddr saddr, hwaddr rom_base, - hwaddr rom_size, uint64_t kernel_entry, +void riscv_setup_rom_reset_vec(MachineState *machine, hwaddr saddr, + hwaddr rom_base, hwaddr rom_size, + uint64_t kernel_entry, uint32_t fdt_load_addr, void *fdt); -void riscv_rom_copy_firmware_info(hwaddr rom_base, hwaddr rom_size, +void riscv_rom_copy_firmware_info(MachineState *machine, hwaddr rom_base, + hwaddr rom_size, uint32_t reset_vec_size, uint64_t kernel_entry); =20 diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 4165cc8d32..e5af3001e9 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -32,12 +32,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) { fprintf(stderr, "machine->cpu_type[8]: %c\n", machine->cpu_type[8]); @@ -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 (riscv_is_32_bit(machine)) { + 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468899; cv=none; d=zohomail.com; s=zohoarc; b=SDKHD8GdqNz5r3GFyI2zaxWePzMyVDoEbneCCBP/iXUqbE0RQ7w94iM2BOVhyCTC2NZMHGKUD3YfdizabTo+PkshP6V8cHkc1E6QgzCqBfaP1oj6CtOOOpgJX1mEOqIrhODA/pPGzWF/Vn8W/Rt0SXI2icmFjhXMh/hEjy5V9AA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468899; 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=iEuS/zZr3igGMSqjYsQgd/09h6f7XiU9zfXLzBfMcA0rvDhxUmdizd7bh49b4TPtarLqVSZx/ylcuNM3YGC2uAHikeIuIC1injWaH+tejRywIbGGhNfy2J6V3zZNL2m9RdDo+qXKDT0kESykq/EwhGpl5lTV4X3+JDKTwxBuP1Y= 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 1607468899991424.20359508268257; Tue, 8 Dec 2020 15:08:19 -0800 (PST) Received: from localhost ([::1]:55052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm5i-0002qB-S8 for importer@patchew.org; Tue, 08 Dec 2020 18:08:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39748) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluH-00080i-S6; Tue, 08 Dec 2020 17:56:29 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:57377) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluF-0004Cc-I4; Tue, 08 Dec 2020 17:56:29 -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; 09 Dec 2020 06:56:25 +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; 08 Dec 2020 14:40:26 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:25 -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=1607468187; x=1639004187; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rhxC5s7FEiT7qUcYdHgm5fREwabA4h1JV+t2QXCVcM4=; b=CfpOsouAtsbsz5ypq3YU+pTDsJ5eig+7f3YiINjbsId/jVdyuRzcJQ9T hFWRKdei2VNPKGIqIF/dVmT/IkUc1Np8UWcL47NP31EIRlWY2Dldp0qyK GtO3/UmZAjrh70koaE+9owHImRbpHqTcJlpgCqU0mBQmUMS/obwBIiaxv lLMA5eYuoA/2ybwSxMS1rJCY/PP0ftmK6HefcCljvDEuDB3sSpi5+MaRh /xKoKLzZSGGglrIMlTliU6aW/CrIoH6Ou9JdaOMQpJEFDLjz060ML8EyR dgukswv5UUBtbT/pJ7brUTgET/Ja9uKAb4FZnbjwbLXcw3HgyipRhvsXI Q==; IronPort-SDR: tnKFnyJqLKKQKexQLi55C6lNe1PSjAhnekW1fO2XQpQCkBQauHL5GAMSNXekPb2Ae9M4g5ps5m lkG1TO+znC7ekuUiH+YCp/ipLvhTgc/d+96VkiMG2wqYIEDG2VM518HDLfgOHI4fCr6Yf6cLjy fDzX1r6UJxu3EfA/jfTLXtGcI97+yC5pLOhYnHeUw06YBRWOv/vOjQit2ciRtwq10kqV9eDUbt GiuhmPp3lt8HW8FFNFkukkL1VKhhudV62VHahkMauyI6OcDlXWXuTZrOcrlFtpjPuB0B8xH19x le4= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="159184110" IronPort-SDR: yGybmHsqaRop+y4gPYePKvrNmQhTXXWNbTdNJIQoKlqUWQF1qOyS9Ods5boK1YwOz/oFSjsJMa LFKhEpr7dVsCHVmbGBZMtZBkjLe8lLS/o= IronPort-SDR: oXRlFldmIAYujH7md7IQYhpe6Pify62sWaHNVnQQdF0s3QsLbmx6XmALS+iNr25Y6T5WyAIWRW Ov1frgK19NxA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 06/15] hw/riscv: virt: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:25 -0800 Message-Id: <41d9d8c526f7153557e49bbe8e0f9a6845310ae8.1607467819.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=6040d5def=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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- hw/riscv/virt.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index f8c5509f13..915e9ae216 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -43,12 +43,6 @@ #include "hw/pci/pci.h" #include "hw/pci-host/gpex.h" =20 -#if defined(TARGET_RISCV32) -# define BIOS_FILENAME "opensbi-riscv32-generic-fw_dynamic.bin" -#else -# define BIOS_FILENAME "opensbi-riscv64-generic-fw_dynamic.bin" -#endif - static const struct MemmapEntry { hwaddr base; hwaddr size; @@ -177,7 +171,7 @@ static void create_pcie_irq_map(void *fdt, char *nodena= me, } =20 static void create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap, - uint64_t mem_size, const char *cmdline) + uint64_t mem_size, const char *cmdline, bool is_32_= bit) { void *fdt; int i, cpu, socket; @@ -242,11 +236,11 @@ static void create_fdt(RISCVVirtState *s, const struc= t MemmapEntry *memmap, cpu_name =3D g_strdup_printf("/cpus/cpu@%d", s->soc[socket].hartid_base + cpu); qemu_fdt_add_subnode(fdt, cpu_name); -#if defined(TARGET_RISCV32) - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv32= "); -#else - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv48= "); -#endif + if (is_32_bit) { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv32"); + } else { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv48"); + } name =3D riscv_isa_string(&s->soc[socket].harts[cpu]); qemu_fdt_setprop_string(fdt, cpu_name, "riscv,isa", name); g_free(name); @@ -608,7 +602,8 @@ static void virt_machine_init(MachineState *machine) main_mem); =20 /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32_bit(machine)); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv_virt_board.mrom", @@ -616,8 +611,15 @@ static void virt_machine_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[VIRT_MROM].base, mask_rom); =20 - firmware_end_addr =3D riscv_find_and_load_firmware(machine, BIOS_FILEN= AME, - start_addr, NULL); + if (riscv_is_32_bit(machine)) { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv32-generic-fw_dynamic.bi= n", + start_addr, NULL); + } else { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv64-generic-fw_dynamic.bi= n", + start_addr, NULL); + } =20 if (machine->kernel_filename) { kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469845; cv=none; d=zohomail.com; s=zohoarc; b=M5qEYpXByTnxivhFwXgCMNT4oLAQPhgtbVGIenRFAYEJNbNkw/2PXQeE0PR57uU6hFaRKOk8rsTG38poXav7YGryr9J2SdkU7e/uDMaSktlzs8DwPdPaV8RxKqsfoi9zIKCpiKYTCGXVF/9uVnKFigEgrOf1I8LDbMYBXFF93Rg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469845; 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=fSVhu/8PTc6mtLtn3qa49KuYK4lPQ1mm9l5Z213IQ9nASGoP6dh+R5AZJjNNV80K4X5pCk24bW1JJ10g0mczb1XZiHh2bNcTrLGjpUan4PoSbYK/0nNzkzEEjkodDmRySW6UVP9Qq8SvlbgPqim182P65TMPKg8EzFdzZYKpBdo= 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 1607469845374318.21421048165337; Tue, 8 Dec 2020 15:24:05 -0800 (PST) Received: from localhost ([::1]:54006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmKy-0006Fz-9E for importer@patchew.org; Tue, 08 Dec 2020 18:24:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39768) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluL-000843-Jt; Tue, 08 Dec 2020 17:56:33 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluI-0004Ed-5y; Tue, 08 Dec 2020 17:56:33 -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; 09 Dec 2020 06:56:28 +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; 08 Dec 2020 14:41:55 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip02.wdc.com with ESMTP; 08 Dec 2020 14:56: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=1607468190; x=1639004190; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eANmSz4V+BEHTBhleAxmLkZ/PJSqoSJqjipx+t7A4H8=; b=aAk4wr2RPdZrUIDzTi7c/WRmZOnFTxtjvsdGyjjHuulubs2lcGU5H9cB Fvjx7AGbxy4Ee6EwZ4k8HMwhJ5+pfBNbYcHvjsNIKRJw8FCEVssPPC0q7 5r49xPYsHCZ9kZyFCluw9odbU4D1cII1bxk9H66bq42tAsVvDz9qvDmiC KD+xMDMjz/4VcumlYgCKeHpKrmGKtxdMpr9LryIeRqW3NNd2uMV1S0NR0 C1IPC7ab9Drg5KQ78+3KqDLBijzGJQ8pHSLFYgp7vu4X9wwwzEu32r78G bI3pbjPq6rscqfxjvLSQYGFKk+9xk6ewWIlBiYy/vOdIrcmNxd+Sf7nVT w==; IronPort-SDR: VRNspE4aXC8KxX21Odx/S+CNbHKYZh8AG6OGXCx2Lum8akrxcA4P47uFTnFutr2JkvsM/VQjLI Q0SFvKshL6oGl7k7w3v3Ff5k3pBxEGOqDdc1vsMGZb1u2iAhPTsrlyeVa6QpP7a5qnj4ghjkAq 64ECnCtdULLYFcHPd4q3potIjzzgDzX7Ta/lw88pGZpcQOFqiwmIvx27aa4yVDl2vNaBQ+7AEf di/kpxh1C89g4q8FVrYZ8KNr5/inWPFnVWKHP0u2lzd3G2UKy5NNnYcf3XvgMR4WFxN39PEfec OMM= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713812" IronPort-SDR: UxanTJ9TAQt9KE8/i1s2/KwIZJOqt0VsQ0jVntokCpeENIZQNLG+7XjI5IxIuI3phFxn689uv0 c4YiYJWX6PiqPu+rl56JnnxD6CxbZPilI= IronPort-SDR: hK28RSEyV4ehUYypT8WlXIJByyIIdXcW516EV/XzYtbWGNYSbHkj1lnG96froEy9HYj5hLmMXF ogDPJY/L/WNA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 07/15] hw/riscv: spike: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:28 -0800 Message-Id: <8a7bcb8cb5e5ec1e90544b86a2ec280fdd2fec37.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- hw/riscv/spike.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 875f371f0f..3e47e4579d 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -43,17 +43,6 @@ #include "sysemu/qtest.h" #include "sysemu/sysemu.h" =20 -/* - * Not like other RISC-V machines that use plain binary bios images, - * keeping ELF files here was intentional because BIN files don't work - * for the Spike machine as HTIF emulation depends on ELF parsing. - */ -#if defined(TARGET_RISCV32) -# define BIOS_FILENAME "opensbi-riscv32-generic-fw_dynamic.elf" -#else -# define BIOS_FILENAME "opensbi-riscv64-generic-fw_dynamic.elf" -#endif - static const struct MemmapEntry { hwaddr base; hwaddr size; @@ -64,7 +53,7 @@ static const struct MemmapEntry { }; =20 static void create_fdt(SpikeState *s, const struct MemmapEntry *memmap, - uint64_t mem_size, const char *cmdline) + uint64_t mem_size, const char *cmdline, bool is_32_= bit) { void *fdt; uint64_t addr, size; @@ -115,11 +104,11 @@ static void create_fdt(SpikeState *s, const struct Me= mmapEntry *memmap, cpu_name =3D g_strdup_printf("/cpus/cpu@%d", s->soc[socket].hartid_base + cpu); qemu_fdt_add_subnode(fdt, cpu_name); -#if defined(TARGET_RISCV32) - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv32= "); -#else - qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,sv48= "); -#endif + if (is_32_bit) { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv32"); + } else { + qemu_fdt_setprop_string(fdt, cpu_name, "mmu-type", "riscv,= sv48"); + } name =3D riscv_isa_string(&s->soc[socket].harts[cpu]); qemu_fdt_setprop_string(fdt, cpu_name, "riscv,isa", name); g_free(name); @@ -254,7 +243,8 @@ static void spike_board_init(MachineState *machine) main_mem); =20 /* create device tree */ - create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); + create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline, + riscv_is_32_bit(machine)); =20 /* boot rom */ memory_region_init_rom(mask_rom, NULL, "riscv.spike.mrom", @@ -262,9 +252,22 @@ static void spike_board_init(MachineState *machine) memory_region_add_subregion(system_memory, memmap[SPIKE_MROM].base, mask_rom); =20 - firmware_end_addr =3D riscv_find_and_load_firmware(machine, BIOS_FILEN= AME, - memmap[SPIKE_DRAM].ba= se, - htif_symbol_callback); + /* + * Not like other RISC-V machines that use plain binary bios images, + * keeping ELF files here was intentional because BIN files don't work + * for the Spike machine as HTIF emulation depends on ELF parsing. + */ + if (riscv_is_32_bit(machine)) { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv32-generic-fw_dynamic.el= f", + memmap[SPIKE_DRAM].base, + htif_symbol_callback); + } else { + firmware_end_addr =3D riscv_find_and_load_firmware(machine, + "opensbi-riscv64-generic-fw_dynamic.el= f", + memmap[SPIKE_DRAM].base, + htif_symbol_callback); + } =20 if (machine->kernel_filename) { kernel_start_addr =3D riscv_calc_kernel_start_addr(machine, --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469106; cv=none; d=zohomail.com; s=zohoarc; b=WQxpAaghCNih7JloKbjz+01YhTJjh3BdURUr6sP3y9QIo+a7CADFSOqnDP1Yb3M7PUzYqZAoRSns6I/XhYj4fa4egYeIj5MYj6PJW8r3vQZBhAiX9uk2Gg+2vxjXGsP8Ylp6UhvWGnqula/cjryvDtRWneNi6QkYioAaed0tqKM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469106; 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=EHxUJU0WH0i4BTKLVL63mgSagVbgK0E+5idj71hE6pdqZ1CrHMB5kqu3aYQWlKG6HbD2PZstaj+FJKHxloaZpWHkgUlMjFWYFNWLZsKDry2F8aH7g348OzU+CpZkN4ajBywWItiG6ML9aIGawLPMRP2p9ySdXPw3DkaYK4wGNuw= 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 1607469106014349.0537947547673; Tue, 8 Dec 2020 15:11:46 -0800 (PST) Received: from localhost ([::1]:35428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm92-0006SB-NK for importer@patchew.org; Tue, 08 Dec 2020 18:11:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluN-00086G-FM; Tue, 08 Dec 2020 17:56:37 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluK-0004FJ-RL; Tue, 08 Dec 2020 17:56:35 -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; 09 Dec 2020 06:56:31 +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; 08 Dec 2020 14:41:58 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip02.wdc.com with ESMTP; 08 Dec 2020 14:56:31 -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=1607468192; x=1639004192; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BD2w1JzPAhFnuG/0+v+zaFrsidkLC94J1KLJCbCeLEM=; b=G9CB6W6DO+jWeGVmqIPfdf5eeatBUr2HRN2PFSWIv8TZbSEX8DhmUS+D 8Zw3a0+0NsKfD5hwW4Q30oTxA9tSxIPBkuJ388IUyDgEVxZSPA0MISOaz Qsii7dXjO/b0vNds5aVSRZfj9ANUNktPsovH2j6tUYCSTiehItXUJ7czN b/nycCE+SlF2z+A+k67MNc6DX+sY55pL98NYnnb9QanfYuDqhP0u6kDIK 3664gvtNL1zzW0FqbrMz7QQRaTm4VU34KyRMVTqqJAxu42qpy27yoUpcR jtmwN6YO3U2buemuKqpuiIetY9l4jEEKkvf+KuC1EE0q9+7QR9Ja8Vt6F g==; IronPort-SDR: Mk8mC3hLTAiS9o9Hai4oi8t2hc7GHXJMuRl4IX/VVDOdxXtrvTVxm5QGAbq4qqMg1fzPU+9iX8 MdkKhGBsBFv4teDHhJNjXkIjcspV6MAkhqKsJ3muYo393ET9GRNO6WyV9wGRM1n2e5dTgBWuZs fi4AkZcZrFT3H9WcXgu5uE3PA4+LHxyY5BAFIfTGY1lOUm/zqJIPzAo1wdZQyXAauc2Mk9UrUw Ytmm3/j5svaE8VAUGKz3QZQlID7jFM1Q5V0HYbUJ1q21EcNUCX/1STvfQXnSPHniRc5X+Piq57 lsY= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713817" IronPort-SDR: Wb/YQ2bvDCzHgwYYKbt2CJ3L4Wh7CEF+wTKVPqe+BEnWOnMf5tyuBVU6s+mWqyJMZWGq8YTgpB QqnvfRkLPjjvwG1X8AZ3OncwEulXe14Eo= IronPort-SDR: fLmzfHyr/bkjcg2p9HYRsb7jpd8Q3lXGf3nQ+eBmEolZzdkFhcEdzUGyse+qldKgFK166OSIOR jL1XjedHN4MA== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 08/15] hw/riscv: sifive_u: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:30 -0800 Message-Id: <6b07e125cf1eed82f78dc4723dd33d3cff18ac71.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469332; cv=none; d=zohomail.com; s=zohoarc; b=UJ/Dg6M2aWgJlUlVseoBVsZ54F+vL6SE9jZ4+VWjpyUYsil8KiNlfELLxpCUfv8/FUsKoswh/9ee/aXbQzvZTUKOSBLKZ0qpZ/I/6brcpZSiE3fOk03i0rIdv10nVlkzNl6oO+OeCh7tNrQLe7mO3u4fwKKVQhg7conY7Bbnw6o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469332; 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=aHNAMumcJ0vdKWBP7KEPAUQs++DdlVCpoSQphNBaNOwsLCOSuGZU57U6mswHOIGGlYWCcU59xRlQwFLIBHO8h2PLwf7sCloCPwXuTqL5inLtZrqMJb7hCMIBVGXyxthIlckO03Jc5BxMvxroDVm77IAvZeKmy38YjaECvXfYaj0= 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 1607469332295613.3935571224606; Tue, 8 Dec 2020 15:15:32 -0800 (PST) Received: from localhost ([::1]:42400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmCg-0000uk-JY for importer@patchew.org; Tue, 08 Dec 2020 18:15:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39806) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluP-00086Q-9s; Tue, 08 Dec 2020 17:56:37 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluN-0004Ed-0A; Tue, 08 Dec 2020 17:56:37 -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; 09 Dec 2020 06:56:33 +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; 08 Dec 2020 14:42:01 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip02.wdc.com with ESMTP; 08 Dec 2020 14:56:34 -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=1607468194; x=1639004194; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MHa1GnDebIQgBXx8Add4PvqiAFA7dwxIKpm/+VpY/2Q=; b=R2kfSA9QgLWGwKBcNJhR5S1jlBPT9PQcpYj/AXn0pym5/jUUsAjj6k0+ VzbREtRqZzGOFKH0TQz0SGmUp1QKj49nS6xXSwRBNEhgiGZBjn9QWu+Ls 8/LflvG0iVvKVn1Po57CyK5UVHvdW4hnPK9BOdvKBXn0+RbXLzlJEGzUo PXIORxpl5eazLDBUdXFzpdTqQ1922F8k6MxnjoCL35FQdYrPMXe4gEi0O urH7WDqeZ1+8n+WtdPeshCyqTv2leZiAZsda9WV26e7NHtXFGiVquF/l9 NvFKa/dQ7kurNHZzknwXicpUcfaKkGFdRq/ccc1Q+Q/iLm7p9wjP0DHKI Q==; IronPort-SDR: bQqAri7I+hNvNuOYgRGay9FNwLQ/0aPXFvbHQd6TolzMRK81evgWBi72lyrLqVdvk41Vw9XTM7 BHNP+TPeJERuuQLMpi48xIc2Y3b/BT67yQkVm0WMP/yKzDBJsrr+TThDOLKAiHdCl2vfhO9jw7 posJq4+2jmLNEMF8DZV0G5hScFtzsfT5WoxPfmhQx03tnsNMp4iAsQvjy3/XL+/XZIGSEZgDIL G1K/jSI1tUTX3Xdg5qd30nYFlNP8qOkAcIkuiJ47lknvS0Y22qqp/2QILsQkzBGVksmwG50A8h tI0= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713826" IronPort-SDR: 3rJfl0/mdK+DtoA0m/gJ7vT+VuuNIyRKfi/pQldn2/PsZHWw6yTu9lHIccov9aND6eH/FeHOfa +8HQkixgO0XH5a5q0ieJirvCJ+zVBtOQE= IronPort-SDR: RtMsNJo4DVQ5Dkmow1G+M+EvzEW02my6ACrSFD+O60e6isK8eSr4YUvlERpT4SbuECT9Lc+eA+ 6Zna2s/4Kqhw== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 09/15] target/riscv: fpu_helper: Match function defs in HELPER macros Date: Tue, 8 Dec 2020 14:56:33 -0800 Message-Id: <1b78dbf9afd11bc9e47ce112a0096521a744133c.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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" 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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469448; cv=none; d=zohomail.com; s=zohoarc; b=XHDensDErqH6xkvpYyhZlPZm4rLCNxgRANCl5p+WOE8t6Q1/5EXsDxhcBetka4jye/bCm+ISrhGRRhyZZAskgw/UewgmYaE7+ZGQkDCKImFcIwxh2MTIp9Yk3BD7Hu8I27WQfcAhLHaYM8Fu0LBELuY4+xLPr8W8LKJrnZRkJ9U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469448; 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=emqzK1oE2Y2cGYSMr81DlQe51EkeiWnCt1nonoJslQ9S9ZNxiue5EC9njfo9qT+AinPAOnmlAsx6H4eKb6HXR3kW4VlC9C/avbLSCajdKhyrvd/DqujBNi7UVJE+klxxDnEhitxqw6cHExoeWE4IL6iTLCD8sT5EML/6l1R2FYg= 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 1607469448399211.3427450190443; Tue, 8 Dec 2020 15:17:28 -0800 (PST) Received: from localhost ([::1]:44822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmEX-00025N-82 for importer@patchew.org; Tue, 08 Dec 2020 18:17:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39828) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluT-00089E-3u; Tue, 08 Dec 2020 17:56:41 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluQ-0004FJ-Dj; Tue, 08 Dec 2020 17:56: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; 09 Dec 2020 06:56:36 +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; 08 Dec 2020 14:42:03 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:36 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1607468198; x=1639004198; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OJ/IIk5KdshSCa6Fmwp0UBqjFWeip0nA/Om1IZzFIUI=; b=Ao2oF3IsL7KpTSFLkIUhHXDV+kXpHrqNpUTjiZ9jnThdH/IMg8xYZXZc Kn8fwXkTdHFAH3Wg0pSbd7QZ8N06uQhcVNlLCOx23+b/trT3iav4d2SHp E/TdbayPBP5aIqRX6q/geBsTgBGdX+1pX9lPRAApYl4ScHaVoDolxSKTR QFzy9TEZumTx63SQjBCdqOpJZGEVlB5knZDNxUBKbW9Ac8za7I1aM5Ivq ymmsM5GL1eCRj48+r04cHFBem9wzyDqBILs9jTFJtsQCdOuIP7FeQcRsJ o67nrbYnEfoqg6AeY70XIw3AuIIiEpR6YfYzWnJBCYvcx9iBk28+JdltR A==; IronPort-SDR: /eMRE1CqSMvPFDRTRU/Sj0J0oMxndmU8LG5YXqxEaPJ4Wv32JWqyEnrXmamvxKBdwVxg5fnI0I 8/i5QTHMdFdeMxRrUsPd5961zHfpsUlpwkLgnExO+yhPQNFpqPIIGiO/DWRry7eraW6wGicPQn Q2FgXiKWco53Uh6/ypitIPN55qW+5J/313m5rtksghez5xv8wsgon7E8fZbTiIPrNKWrUjtPud N5LfJTxbY5oN1Fd+FrZKtG3MPBGugJAGAqKG2wVJkOAjYnvmDirnDhKHHQPth1kpJTY4HrYbPn ZPk= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713828" IronPort-SDR: LVMctHY0GqXs1AP3DXzpid5BDS7zkhh2XQa1khfcexefk2/jS5NAP5vm7gRx9rg3yj2dF+NMyj bXrVEK0ikLtw+WWUqI2lTcpbrWveNNkKg= IronPort-SDR: f37FOfNOm15KjScB3a9tFMbQlj7457ZfH25tJ01egJdjQ0tz9Ul3LNsWF1irmHix8aZGqJr11J bqdxKbRN21Bw== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 10/15] target/riscv: Add a riscv_cpu_is_32bit() helper function Date: Tue, 8 Dec 2020 14:56:36 -0800 Message-Id: <22761a83664e100f962532cfa82b25d1a0a89ba3.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- target/riscv/cpu.h | 2 ++ target/riscv/cpu.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 9c064f3094..6339e84819 100644 --- a/target/riscv/cpu.h +++ b/target/riscv/cpu.h @@ -384,6 +384,8 @@ FIELD(TB_FLAGS, VILL, 8, 1) /* Is a Hypervisor instruction load/store allowed? */ FIELD(TB_FLAGS, HLSX, 9, 1) =20 +bool riscv_cpu_is_32bit(CPURISCVState *env); + /* * A simplification for VLMAX * =3D (1 << LMUL) * VLEN / (8 * (1 << SEW)) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 6a0264fc6b..32a6916b8a 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -108,6 +108,15 @@ const char *riscv_cpu_get_trap_name(target_ulong cause= , bool async) } } =20 +bool riscv_cpu_is_32bit(CPURISCVState *env) +{ + if (env->misa & RV64) { + return false; + } + + return true; +} + static void set_misa(CPURISCVState *env, target_ulong misa) { env->misa_mask =3D env->misa =3D misa; --=20 2.29.2 From nobody Tue May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607468822; cv=none; d=zohomail.com; s=zohoarc; b=YbPSM6IqHwjPKgUOESvgejIDU2eO7EJoIkuXIco3M3ZTwu396SfrFNbomxsTVeHCuTDPRJ6pjanUCT8JV5wV5f917KMCVS7hY4YIir6Hxq4glKLQtxAMlz59ntk9ePR99LUZli8Tkj3hhzpG/jTSryBx4dwScxeS4E+4BjaFf3I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607468822; 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=DtGzpqcH4GxDEnXNwZ1sbhBUjpDAIAkJiE57kBtHuVM=; b=BZLYe/8P3OHuCPPDskVVHJtE7o7knmgx17mzQXACs7ztmrwRBsWiqExk31sskk7XMqGo7PAL2GutFHBIh+6DTQFzihkGTJeTznrsScR/keDAV6W4pSYB7CJxnKo1M4o6hwS+PXYHgbmblchKFGxdewgETR0ktj2842lc/G9Ezdw= 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 16074688229311016.3440528872724; Tue, 8 Dec 2020 15:07:02 -0800 (PST) Received: from localhost ([::1]:50856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm4T-0001Ar-LK for importer@patchew.org; Tue, 08 Dec 2020 18:07:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39872) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluV-0008ER-92; Tue, 08 Dec 2020 17:56:43 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluT-0004Ed-8r; Tue, 08 Dec 2020 17:56:42 -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; 09 Dec 2020 06:56:39 +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; 08 Dec 2020 14:42:06 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:39 -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=1607468201; x=1639004201; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hiO2Ys+5kcsdK9CHuz7hspAu0I9PXMJVRjIvNNwHqks=; b=DWrTt4btOTzARZvPdFfimLjT4ibMqIzqTE9iCLZaPbh9GBqo2O/9lLMr w8bWe4LW6J8lkh2MombGOIcRE/IuN6z8UzTmz5DBOXgFSwd+BaEGLLYXX OsIC5IFOi4P3eUD7sfydpqYaTutFgpcK1o6hlb+L8yTEoI62zwpqwN3/f Qrln9qd/5Qufs6cgRhUfqr620/aHQsenaVlzeVYH/9tsl9DK6a/7guXef Mnqu2YdKxu9SHlZo6hWlCP2Wl8AIKrD+YhVE/jTuX7u09EXMXxeDLDhm+ rMUxx8TQYoPx43IfL5zwbYcxoNjuTmj7Bv7er5Rfxcy93WYHmw6SA0k1x g==; IronPort-SDR: ZGc6T3sGGNpHj3Y1lO3099f5ULcw4Zg58DXoEZE6jc5CSP34a6oCRg3WmQmBslV5VSL4Cb25DQ Sy5eMq67lM+YA3y2S5UMgj61LE/zGkBRmHrk91TI688IndjnoZhQD91zwKMLPNaKIbhU1fXT/o rBfMx/vwNEQQ/TAgDeQ2UGX69tkb5X9+x8P7uX5XEJ04Sbco7KqZBMEc84Ffh3u5aMUdHrZCrw HYvGEkf3OiHE7QmBAFXM3Xk0gJF8Xf7nKqIwJB/BwJhREbcnXUhywe0f/zfvunozU9YLa0LrV2 cqE= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713831" IronPort-SDR: 9DKp9lmp0ep+O4IujW9vx05O+qqB/OwLVW8fPJMGdW+n6SjPdcx9fRqmvUUDbozeIY8rJER30E RBkjzzejSuOCZuLnxBHA2w3ncmSiIOztw= IronPort-SDR: 7ZwRT1bzBH7PawCxm2Vz9LurESsYpEf1+g2p9JBUDvedfytSyRgvwAwTpOBMZBFQPgF8bJ3ASa fjVwX2e0mVnQ== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 11/15] target/riscv: Specify the XLEN for CPUs Date: Tue, 8 Dec 2020 14:56:39 -0800 Message-Id: <3f1ff73c70b003826bf436ae4c937b62cac79bdc.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469011; cv=none; d=zohomail.com; s=zohoarc; b=Gc70to+Z3k0B9LAWF+sffPlEKtcwT05s4o7d3Yu7n6wp7yFZA6PvGLAOlE18GC4IX+sCvb47CmRfvg29Rvquymv0ZQcCl9E8GLCeq1CdqheDNJ4e6xVfRvaETylWK0zdAzjoFs3Ip7HFbKGzvALRmLE9IFwmvx7Q0HwfaIRctaI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469011; 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=9cn6d5xOkuwnsqLQvpSIrLyMBdbX54ZsmSgB3U4IAMU=; b=ArWCacc90JQU/6mzMsBzEgoaC2DVlviM6rYv9Km12kArxOR4ysQLqSEi86Zvn2GfcIajDfFEBa0Z2SuX39DMNlGmPyK7dvoTTkeF4T0Sx2X/ruoUxtVmznPOLX7xxtb+ConpP8jvS0ZNrb4KEtjUrDDpdy/zH+L8+jGWtU/qD1s= 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 1607469011328440.6094954076318; Tue, 8 Dec 2020 15:10:11 -0800 (PST) Received: from localhost ([::1]:59170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmm7W-0004Z2-6G for importer@patchew.org; Tue, 08 Dec 2020 18:10:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39940) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluX-0008Is-O4; Tue, 08 Dec 2020 17:56:45 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluV-0004FJ-GL; Tue, 08 Dec 2020 17:56:45 -0500 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 09 Dec 2020 06:56:42 +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; 08 Dec 2020 14:42:09 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:42 -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=1607468203; x=1639004203; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nH/9r+gXjKjpbkuITm/idupfR0J4HXqqRTNfDPKx2+8=; b=fpc9rPL9MZLF7r4UocE4EcRn05kpIuCxIaCbB4G6kdOks/CKsJrJpCUo m2DynqFuV73hWj4jYLYFlcY59LV2zom4TzbWZFpZhwX9yjqcsqe9jRCcj /rVAhjVA3JMieWg/LYqfSHTP8t4zKvjoWwztxN6gBd7POjFHENZyvfUY4 dm3e/m+zXw5htV8wfe5aAR4Fs34dO2xJDC3k2TkVa7LqEof+Yjbz7EalI nmeiQ18zxICVbMzpUybZrEuTXfIi6SQq9CY4/5csMzm9Tr2lWJxI2ypzb madfsFyx60bUprkj9C1dxdM7uljDvAevLr44c01Wue9HBy+n2GdK8wl+U Q==; IronPort-SDR: jqoTCTbyRHMHO45BlWaLC11NfouoZ4JSQYR+3H4okGviNFISc9rDjfwYIzkF2EDWnMEEA9dGP6 x55dpRGG/hJolZ9lI5sL14D2CyYBAal5c4y/AQ8a7a3hTda4BN2oihSLBpul3Lyb20A7BHE/LA Qc2S02E+XYrR1hUyaOwFOlMzpVzGM29itEsy+S9OUztj1FEyRjBL3eVLGeE5M+SBLdOAQ2+gnu 3fabs218fOPWWVUYkUnWXh8OzSUXI9k5Q5Cqa9sRUxwys4oqJ8XMDR+JzFLwWwBiB/IcLcrn0i JXE= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713832" IronPort-SDR: nL5n9WJM5k+owV0XLoKbe++Tf0WZiCNOT1wDCfFXJNbz+F1Jn3jUKLcECdISO7s9KkStfcE0Pt lBxsnlqnPa53hg7A4A81p4fwIQthHGJSI= IronPort-SDR: XZh1voLPhVy9b04iiyIOT4imXUXncx+EFONKiWM11FkOmN1BBgKpA9pffgeWPnqkWszY3mZgl6 zLHyc3BddouQ== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 12/15] target/riscv: cpu: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:42 -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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607470016; cv=none; d=zohomail.com; s=zohoarc; b=cfc1VNm5Ng77gmRjxcIjVUvy0KqacAaBpPuvsmQ0kGoW3qM9lGcmJ1F33XxwrRLRaOjIZWhfRfkmvCB31ZmjmF99r0KWlDmJnBZbdG6aaAHhl70TnKmHzPyCWYesoDU9VrE6LsKc4NKTEynn+mz4uNtq9jlxgaIg8vbbYOXsHiA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607470016; 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=zlsr9BBR1dxn+XGqqd+rah62V1HUMJYRQjaiyFOFtCo=; b=lk+VmZGG4/uzQKtQVukqFX6imdxKUZDg5zHy8HMbhIY/0T8miubkkpwSuN+EKpeWf9V9t8VKvlukHB3UGuI0jztDxslW1vKzwtihQyzLZ2YlT7WlWu7FKIXnDHCN7O9+gKtiMpIFJRHReMZ6+ElNXo4OC0v49sBqQ8FMsNQIKyM= 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 1607470016219896.4748222116258; Tue, 8 Dec 2020 15:26:56 -0800 (PST) Received: from localhost ([::1]:60894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmNi-0000l8-3W for importer@patchew.org; Tue, 08 Dec 2020 18:26:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlub-0008MP-7Q; Tue, 08 Dec 2020 17:56:50 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmluY-0004Ed-7K; Tue, 08 Dec 2020 17:56:48 -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; 09 Dec 2020 06:56:45 +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; 08 Dec 2020 14:42:12 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:45 -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=1607468206; x=1639004206; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IyTnRwck8rL1J3yNa3Pf2nP2bRQjwvd24InXKlV1gtI=; b=UVm39JxuTU53/RqaGb9cFTrkeGvw04NZbedcF0stRX19cRzu5rfW9J1Y uBy3WOUrZDvJ0T/jIS/hagh/V0CSJXzAQN9oMqgxuJ81MsE/28Apo8nTT JX4hQbpU5UH3cAAp3N4rZvMc8Z9dVJ0l1GJOunrxo2SjrggKV7y2U9CfH wH4tNQ5WhQ2FCbY6cxWZvRV48SqUtQjLZvwl/AGZHn1wN7yJk8QyWVjNl Sh/dqFzIXx+UvZwHLRNINhWEP8ilSFPJ0TN/FbhW5j8fM0lKlAKzGavvC iuGlx/1oT00ny24znDgzRyYWN9yPEhhWqfGy0Mg/DDvorelo/lLkEacrs A==; IronPort-SDR: YmCAdGvC/l2pzfYvES7BxoD89snxdztzvmZ5BoLRnTrFyTowQGROgj/mHxuXHROO/yPcnUkdRx Hqq+g554i7vKnDJgZdhjKgCELtRp0B2sJPaBC9LtTcywlxesYRyIKear/Cw2rxsNkrZ7l37hky kt3zWp0m5tGHYxKrher+uxSg/yYNRWCWu/IvcwIJqLkjyhgfIXwfV5vnu0eyRwc6f/1/0HDaRW QmlfvCMUrlQhoG9ehVELXaLyevzJsPkqB1I7KShQ15UIynNjqWvDQC6KjMKgBI5RYnQpUF4kO0 oaA= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713838" IronPort-SDR: jxK43gu1XHtT+uIreiSuiwuTZE4qtxFBYCDN5rYQN5kDeBPwCO/uhk+Ulj8K2m1+k7AoyxLln/ QJOU21fh36Sqfg4zoh+WbxMAvT1Yhn/RE= IronPort-SDR: e2KkBc6pdI2NzV9FgGvjQ5k4IkLdVehMPm7Noxi3SmoVEed5M0PqjjSlvjPl/8a60TNsLymbqS m12EdLv/suvQ== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 13/15] target/riscv: cpu_helper: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:44 -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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt 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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607470301; cv=none; d=zohomail.com; s=zohoarc; b=FgfM/R1f8HuFu0pcls4O86bV6HLCbEx595ae2yswuVDWsnrm3MzFMXxxrWhuOMGHj3LuabiYwqw/7qJyKKtZQvd0JVTnA+QmHL528P78v0zEJiqIq/ob257RviPcrQSYsJAYF6WmOaCuYJmqyKeCYxll0zJV+UwTeZqqqmt6OB0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607470301; 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=5UeM37wmCrSSVbTb6f+kC5p6fja4cHi1H8PGXwWDqNU=; b=Y7zFj5JFWLRhMEutsg3N96ImqT9bRr+yDJz3qVyCRorNZaUwtIFFNCN4GE0qHGG03/PDqbv2fzZAKmfunAisUven2/JHxw1htYrE2u1OYTjYYL3OSBB3FjRIcpV/YI8HGac0DL2DOVJhgOdDlj6dAWJlBx44oOFk6S6iD8Li80Y= 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 1607470301949765.4578253430885; Tue, 8 Dec 2020 15:31:41 -0800 (PST) Received: from localhost ([::1]:38100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmSK-00037d-Fg for importer@patchew.org; Tue, 08 Dec 2020 18:31:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlue-0008NZ-C2; Tue, 08 Dec 2020 17:56:52 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlub-0004FJ-Dc; Tue, 08 Dec 2020 17:56:52 -0500 Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 09 Dec 2020 06:56:47 +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; 08 Dec 2020 14:42:15 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:48 -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=1607468209; x=1639004209; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JMww/svmL0oTF9pRnVLLvHikryNyiwgYJTj9VRwXqXU=; b=fTtAkrCodu64rWlK2nSpjrqlCW4ETheEAB7orT6SEjjW8+gUyMQOcmVW zF8OB5667/0eIvNBjQDoIHt/jReib3EOGv9xZhEawgrw3QhFafXNFQb/m l0He1LXtC4JKsEKiOlQ6rKveHPi8OmoWdX8FhoONgWHO0/8pYu3kp9hvi V1yPKw1O3+Z/nx53wZQII4FW1s9X5ROREuFSBGKS4HHwxZuIyWhK5Ly8f H8660gaXKD2ObzLFydJNuMw1i0Yd272IG88CR2MiL3ohXdoXlars1Dx1Q 5yRGlFn8mSP9ZALxtAzxVPP5u2FmW92TgT8jDRMpfdUngEgC6K4NgnAlu A==; IronPort-SDR: RpbMCIDAfEwto8K3YGPwwpA7s5iUiUPelPQEdNCB22x2U9u9xurgHRAwpcKt3FqkNrcW13aqJo KRtBM2pVB4wXKxRlhW8e9tGo8hUm25PahCo9aAFIn2Nfk4xyJUk1dNaS94ORDHkOIrG5Te8Nus vTkwDdp/DWWTWt1fzSijGHQzL3XKzYFmS6drq3bHffhzbyK9aX4lCPa4pNN30CqjPcQZgFZNZo ejTMP3auFpwBL1M4s7oqcrdK/aNdzZbI+FAGPJsZ4LIOzC0ji7+EkY7RHatfE72dC7LvnQ6U+3 0XY= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713845" IronPort-SDR: kVLLekclpnzDLx52BBoUuyrvb+p51RLZgMJegRWJooU7Tea1GKEDlKK9LCkwOTxwmpJW//TlC/ R5UKwauH1UIu72ZXc7/53j3UR7oubL0kA= IronPort-SDR: +12HgHNO5AuP/jMfgg4jK9kcZYfPCB+g2UEweNsfRahUMx/dHvTeYvKPx+b8pjY9phWdCfx8PB NSzWuUVuCWaQ== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 14/15] target/riscv: csr: Remove compile time XLEN checks Date: Tue, 8 Dec 2020 14:56:47 -0800 Message-Id: <7d7d148b9d4a3bcc86387d7b0d8005f114ade8be.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- target/riscv/cpu_bits.h | 4 +- target/riscv/csr.c | 182 +++++++++++++++++++++------------------- 2 files changed, 97 insertions(+), 89 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..2ffaa926a7 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,11 @@ static int read_htimedelta(CPURISCVState *env, int = csrno, target_ulong *val) return -RISCV_EXCP_ILLEGAL_INST; } =20 -#if defined(TARGET_RISCV32) - *val =3D env->htimedelta & 0xffffffff; -#else - *val =3D env->htimedelta; -#endif + if (riscv_cpu_is_32bit(env)) { + *val =3D env->htimedelta & 0xffffffff; + } else { + *val =3D env->htimedelta; + } return 0; } =20 @@ -1067,15 +1091,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 +1118,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 +1396,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 +1426,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 +1466,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 +1489,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 May 21 15:42:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com ARC-Seal: i=1; a=rsa-sha256; t=1607469831; cv=none; d=zohomail.com; s=zohoarc; b=bzSvfC9rBltw03J2xbWYeh0/koRljY0gjP4b6hPXPl9pKQhjGzVWKBm5YUP/xIIckcPWead+f5PbuYs1ZiZZ4GaY6ZSlU5XhFmL5YlPoOxVpekHwLGPxPVHZLaxH2PDPff6YpgEO+m1AbYSubV/AyBB6irCiFnFKNLvFwkt2zcA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607469831; 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=S8ASge9Hb4DL+J4xyR5MeRM23w7LJdGEsQZt3t8V9R6BAs+xt+4czgf1uKJsmksZ8n4gLUlerlRq4BIIUnJT40YOrAUr4RzB1N4hsITlEfQNNCBr/f2XLTrss2Q5j1qjTcPtJc6PPLjr4MjaSekn82YVW6YFJv2V776jzhBNXuk= 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 1607469831935114.9643329917825; Tue, 8 Dec 2020 15:23:51 -0800 (PST) Received: from localhost ([::1]:53580 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmmKk-00065G-PB for importer@patchew.org; Tue, 08 Dec 2020 18:23:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40010) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlug-0008QT-Ox; Tue, 08 Dec 2020 17:56:56 -0500 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:31149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmlud-0004Ed-Ny; Tue, 08 Dec 2020 17:56:54 -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; 09 Dec 2020 06:56:50 +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; 08 Dec 2020 14:42:17 -0800 Received: from usa001386.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.61.239]) by uls-op-cesaip01.wdc.com with ESMTP; 08 Dec 2020 14:56:50 -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=1607468211; x=1639004211; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uduk8fTiiFBWthDtcgxNC7lo0McDfT8xvXc/N+cyNb8=; b=ENKvbk45rPvMZERqaVBpriNwvEro3vSB1Cz0n8vcd45MdRPMKoTImf7T kNRAXFBhXME6ys147ap5V2Qikdo62VhLQ0XNnujEQnxRJd8rtizBnTjCN WHs3/4t5rTqw5n02gJSNMJQwUeejYFYeZCNGyRCt9tj/4Uk8wM9GfHthV qFhrNMhVZ7wQnldJRxdiZbTnQPWth/kQ2iSldKB1pK+BzsaqhNjS5FOBV Kixw9pniMy7tlwUr9/uR2ZV04YT0ei+M5PSuAhlfFW9Wb4qAOAqiTJ+f+ f/w6EKECt6Z7USF4VbrvpggQhAXpI0UsP8fMJDUEmdCjwq7/0hOF3zmXB Q==; IronPort-SDR: BP3iLnTf3H+HaOEN+wTC0rL2yk2wdafiXdym6UMNs0V2tpEhb2/KZ1+TrN+ewXJaEWFMVTjVyy /tICJs8MsoakUWYXRJkYVRwcJiDmthOeEZ+kF63/Ms7Mdxz/DqP1mBX0bIlvLOnGvGEmE1OBKR I3rFimISP4GK75IC98tMm8//ojMczq74HSbPPHiRugmoG8mKxGs5CSds9cmnO95TIKCUAIrDf7 tTb2IGjLfBf/Jb3lBYilnMJOuuN9cyvWtSP7D/QzeJxqumE95QZiBmZtAwUHj5BwbykBzHxjjV CpA= X-IronPort-AV: E=Sophos;i="5.78,404,1599494400"; d="scan'208";a="154713858" IronPort-SDR: R/OqeDfqEN5EYnvt1d3uVfF66QokyR0aBw6cmkEzhW/T66Ao1DUgapRjNqz1WkLK1qAKRBuPy7 lWEt0p7aRpISIWuEiqud9yz5Xbvs36SM0= IronPort-SDR: n23fRTZ8m50niCpMjf4pqrz/mhc1m89hA4xyPyYIq5hhYWK2+bhWf5urCuuJbbSDHUYhe8TYfi OOxfAdE8RaRw== WDCIronportException: Internal From: Alistair Francis To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Subject: [PATCH v2 15/15] target/riscv: cpu: Set XLEN independently from target Date: Tue, 8 Dec 2020 14:56:50 -0800 Message-Id: <4b309ddc9f794205b497968524715ba4cd73b455.1607467819.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.42; envelope-from=prvs=6040d5def=alistair.francis@wdc.com; helo=esa4.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 Acked-by: Palmer Dabbelt Reviewed-by: Palmer Dabbelt --- target/riscv/cpu.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 47b738c314..254cd83f8b 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -151,14 +151,14 @@ static void riscv_any_cpu_init(Object *obj) set_priv_version(env, PRIV_VERSION_1_11_0); } =20 -static void riscv_base_cpu_init(Object *obj) +#if defined(TARGET_RISCV64) +static void rv64_base_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; /* We set this in the realise function */ - set_misa(env, 0); + set_misa(env, RV64); } =20 -#ifdef TARGET_RISCV64 static void rv64_sifive_u_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; @@ -174,6 +174,13 @@ static void rv64_sifive_e_cpu_init(Object *obj) qdev_prop_set_bit(DEVICE(obj), "mmu", false); } #else +static void rv32_base_cpu_init(Object *obj) +{ + CPURISCVState *env =3D &RISCV_CPU(obj)->env; + /* We set this in the realise function */ + set_misa(env, RV32); +} + static void rv32_sifive_u_cpu_init(Object *obj) { CPURISCVState *env =3D &RISCV_CPU(obj)->env; @@ -372,7 +379,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) RISCVCPUClass *mcc =3D RISCV_CPU_GET_CLASS(dev); int priv_version =3D PRIV_VERSION_1_11_0; int vext_version =3D VEXT_VERSION_0_07_1; - target_ulong target_misa =3D 0; + target_ulong target_misa =3D env->misa; Error *local_err =3D NULL; =20 cpu_exec_realizefn(cs, &local_err); @@ -407,8 +414,8 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) =20 set_resetvec(env, cpu->cfg.resetvec); =20 - /* If misa isn't set (rv32 and rv64 machines) set it here */ - if (!env->misa) { + /* If only XLEN is set for misa, then set misa from properties */ + if (env->misa =3D=3D RV32 || env->misa =3D=3D RV64) { /* Do some ISA extension error checking */ if (cpu->cfg.ext_i && cpu->cfg.ext_e) { error_setg(errp, @@ -504,7 +511,7 @@ static void riscv_cpu_realize(DeviceState *dev, Error *= *errp) set_vext_version(env, vext_version); } =20 - set_misa(env, RVXLEN | target_misa); + set_misa(env, target_misa); } =20 riscv_cpu_register_gdb_regs_for_features(cs); @@ -655,13 +662,13 @@ static const TypeInfo riscv_cpu_type_infos[] =3D { }, DEFINE_CPU(TYPE_RISCV_CPU_ANY, riscv_any_cpu_init), #if defined(TARGET_RISCV32) - DEFINE_CPU(TYPE_RISCV_CPU_BASE32, riscv_base_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_BASE32, rv32_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_IBEX, rv32_ibex_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E31, rv32_sifive_e_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E34, rv32_imafcu_nommu_cpu_init= ), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U34, rv32_sifive_u_cpu_init), #elif defined(TARGET_RISCV64) - DEFINE_CPU(TYPE_RISCV_CPU_BASE64, riscv_base_cpu_init), + DEFINE_CPU(TYPE_RISCV_CPU_BASE64, rv64_base_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_E51, rv64_sifive_e_cpu_init), DEFINE_CPU(TYPE_RISCV_CPU_SIFIVE_U54, rv64_sifive_u_cpu_init), #endif --=20 2.29.2