From patchwork Thu Jul 15 07:16:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379145 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4359C07E96 for ; Thu, 15 Jul 2021 07:18:23 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8AB476128D for ; Thu, 15 Jul 2021 07:18:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8AB476128D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vdW-0007VB-IB for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:18:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc0-0005N8-QH for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:48 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27205) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vby-0003VO-2N for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333406; x=1657869406; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7l28ZzBUUbFHFa9PqsazIA76P+TXl8IpMYJZ1WWuX5w=; b=Caa88XWx+QKKmqMZadVGKPNcXrIjiWxv6tD25G4Wh64PzjzO4f0rbwhD Q8eElQR//h1r6UmvM/rncyqoi03wvSzyvOhSS/b26qrn9JJsGG9GVdtSX 34AKAfb8zADPIehck4FXSDtdMeWu72/NC4+lbxBNnnI2RvfchGViZjnCf 2IcZO8S75cxd7hgIfnIjI1eTt2B7xR5nGZ1k4pW0VUP5QCaVULZR8H7kY SFsdOukH/Bnu7Hf+8CarxVzP/DrK/liqPhjQIDMD54SrGyVWzhXhrW3VB rKGQtpaPVWLOlN0511Z5hRkZV1jnWmHkaILFJ1xUD0AtVEvMHA8uDW3as g==; IronPort-SDR: Tz0L8ZCdnhDPyoqNPP3Qfz3XVhB7Q1MJ0JY+Iu487Ocj2GuftT8nmGFW33Kn5tI27K42CzZgt0 Qcgq/WwNwK1u1D+xSJrufNdOHnyoLz8ON0ko2qKqlVmgq9MWfPfXKeRH89kIoWpa3cW5ul0zdO SLmr6zvtSe98rMmD9SRUdiAitupGZeRxzr95k7gmLNOuQhyCJQ9fct+yWu9NWfrLtw7ImwPRmB ZI5t0mrvTakhwoc++vtgRjwCBzrNWAq6CuIxLQlkbwquZmwulE+NCbccwuCB87WXij9LKTn28S H0M= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212299" 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; 15 Jul 2021 15:16:42 +0800 IronPort-SDR: FSzGi9VmfruzfUFx2mHlLuc4vHdefdWzftm4YDxAt54/AIRk6QhH5qnpR4o4iwzEeWJm4lES/P ea0AmCFdHlyyNePLNeeMSpQU3LawnFgecPxhXONXRYPe97rN4NaAQqT3N3b+GKALVWotH/4e8w 3dDkL400sLCtoax5n341P+7GGPRL4e+EjJ5Ttka2nvXf0Nlo9M3uk8beXHAAE176IBGu7ogyAq geKEYntGilDOIpaT2ETJEJrW6dhJ5lphq7Ijn6cAppf/IvLcILHbqkd3QDvhqqj/xy94PQw1Sj HNB6wWpzpVn/8NYra7cgs2Cu Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:44 -0700 IronPort-SDR: axDC9i6kqxqeSynKmQTi8uOoo59n+kWUQ16Wp+NQSXxnZGVBoo3yr5npGYa+RpoZsR7CrLCsvu muljrFE5Je4GhH6/TW5Q7ydX8bmUl2dM0JqxjU7LW7t93BuHgM1aXmxkwc5MNTE+8yIDByMD+Y vohkQ6hdp67jf1Iwm+WEVk455YcRnYl4WqcIMD0a+1PLgttbad82u9+lYnbZ87DM8/Tpzrbd23 jXnreePdTqY2Y/M5o/ZnDXa0xLCVi8WhivHeIWw5+Ges1Nss1XmH01Qzwev/ijQgcE3lQbardV d7w= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:42 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 01/12] target/riscv: pmp: Fix some typos Date: Thu, 15 Jul 2021 00:16:29 -0700 Message-Id: <20210715071640.232070-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis , =?utf-8?q?Philippe_Mathieu-Dau?= =?utf-8?q?d=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng %s/CSP/CSR %s/thie/the Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 20210627115716.3552-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- target/riscv/pmp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 82ed020b10..54abf42583 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -456,7 +456,7 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, } /* - * Handle a write to a pmpcfg CSP + * Handle a write to a pmpcfg CSR */ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_index, target_ulong val) @@ -483,7 +483,7 @@ void pmpcfg_csr_write(CPURISCVState *env, uint32_t reg_index, /* - * Handle a read from a pmpcfg CSP + * Handle a read from a pmpcfg CSR */ target_ulong pmpcfg_csr_read(CPURISCVState *env, uint32_t reg_index) { @@ -502,7 +502,7 @@ target_ulong pmpcfg_csr_read(CPURISCVState *env, uint32_t reg_index) /* - * Handle a write to a pmpaddr CSP + * Handle a write to a pmpaddr CSR */ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index, target_ulong val) @@ -540,7 +540,7 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index, /* - * Handle a read from a pmpaddr CSP + * Handle a read from a pmpaddr CSR */ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint32_t addr_index) { @@ -593,7 +593,7 @@ target_ulong mseccfg_csr_read(CPURISCVState *env) /* * Calculate the TLB size if the start address or the end address of - * PMP entry is presented in thie TLB page. + * PMP entry is presented in the TLB page. */ static target_ulong pmp_get_tlb_size(CPURISCVState *env, int pmp_index, target_ulong tlb_sa, target_ulong tlb_ea) From patchwork Thu Jul 15 07:16:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379153 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B45CC47E48 for ; Thu, 15 Jul 2021 07:20:53 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5E6B561362 for ; Thu, 15 Jul 2021 07:20:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E6B561362 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vfw-0005Av-JR for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:20:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34030) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc2-0005Oq-BF for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:50 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27205) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc0-0003VO-Nk for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333409; x=1657869409; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=04uox9uATPHL3afcoqaX+g7tK6s153iK9hY6jdlv9oc=; b=HaV+0sSCC7rD1Ut+BvKpKf9Uu1OSX1iPGoYfOtQ22E3c4yD0h4GO2aKM X9Vs58ROjJ9ZIBpJXODZ2D33eTexkNPkZ3mlXlrRlClTN47EK7FifKWtL RTcInEK7v+QIBN6UjQLa4Ke9aZe7G0wQjDuUuyjyL2MJAMCy5NgtlynOs EBouU1h78EibQ4QqkEa//bLTyxMNCWcSZNN4WTFSYnj7kK6UdYDsqjIOZ H9GwKM/K++aeBG/lSkCt6PN4fJEbq1xZ3q2ZR0qzcao24/oliuHDfU4PC ErRV9DMiQU0uEWQXBW2HuUORDKCZJ7Uxp9F0vyAa/qgvPnYQLNtNWxV+Q A==; IronPort-SDR: Ia4qJfzGP4QVhxAZUsJlnRuMAKXRCMLQc6Y/ZmysHBmj/JZvaqyE6Dzlk100kDAyrcSeLCGtV/ /1oge5QBCl8YCdBopSX1Bw5obdWv23IFb9Lbb/0jeicSf1LAfjXvQgbZoJnfBn9Dh4NDD5rXQE I3AFUS+bbf09JLDb69lx21Qj9fo8iK4zRyZrw5X8EzdDljcQ2tYw0kj9miIlTEuqY7yc45Z5Uf DXsGOZBRbHtHO3Sr4CKeXxrd3N88idVHUZzfzyOwJdU6IjnbkXulHb6XO7XpcVOs+7EiFHjUAA uLw= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212300" 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; 15 Jul 2021 15:16:42 +0800 IronPort-SDR: tS4s+Rx3WhYSG8531+rMgETeX2OOBRgatFUWks5ARSiAdU3zuZ0cOsW0T21w9S8MkGFveWu+FM Mpu9j7Bs98gN+EdJGSA4haHVEwI4eM7uqS16Ib7tec5BjUdzDWan53ZgAp0pmcazD2fVgt4nO/ 5nZ5jwTQ5FFK8Xt93RKWqU3yMlLv9gULuTejHbVY/VrNEiI3fkwyNTrJKfwDaevVNaNapFwBZ9 zGxAbj7iOazjbY55goBcsaTsavPyDc+TZh3L4YZjBR3uTEJq5AeFYHH5QfqdI13+UyKud76CDj GFHYtCAVJDwZpXA8sO56xjmO Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:44 -0700 IronPort-SDR: oip6jwTMbHQ09vaMlWU3V7e2V3MftdphWB+wib7mnOHZvND1Ade6rCEWfwQgnaRkF9vGlATrmc ckhvhhHggQFyU1HuRLNOCQmyGB/PPog0DWnuAsYVhNODFp5jlT6EZN57Z3ysNhShmReyEKM+0F SIe8zXfwEzea6HpDt3WTCHJSWtKkRMaFnFJJU5PvIJs39xBMH5+Bq8BBm96ZaRQ03N9t+KbRcE zuAqoErOeoNW9hLiVBlq6ZDLcoQ4hQQsAkS4Q/1Zufygr4dy4HQhplXvQbLFkNq1e6O7HWXjNN Xr8= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:42 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 02/12] target/riscv: csr: Remove redundant check in fp csr read/write routines Date: Thu, 15 Jul 2021 00:16:30 -0700 Message-Id: <20210715071640.232070-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng The following check: if (!env->debugger && !riscv_cpu_fp_enabled(env)) { return -RISCV_EXCP_ILLEGAL_INST; } is redundant in fflags/frm/fcsr read/write routines, as the check was already done in fs(). Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210627120604.11116-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- target/riscv/csr.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index fe5628fea6..62b968326c 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -215,11 +215,6 @@ static RISCVException epmp(CPURISCVState *env, int csrno) static RISCVException read_fflags(CPURISCVState *env, int csrno, target_ulong *val) { -#if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } -#endif *val = riscv_cpu_get_fflags(env); return RISCV_EXCP_NONE; } @@ -228,9 +223,6 @@ static RISCVException write_fflags(CPURISCVState *env, int csrno, target_ulong val) { #if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } env->mstatus |= MSTATUS_FS; #endif riscv_cpu_set_fflags(env, val & (FSR_AEXC >> FSR_AEXC_SHIFT)); @@ -240,11 +232,6 @@ static RISCVException write_fflags(CPURISCVState *env, int csrno, static RISCVException read_frm(CPURISCVState *env, int csrno, target_ulong *val) { -#if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } -#endif *val = env->frm; return RISCV_EXCP_NONE; } @@ -253,9 +240,6 @@ static RISCVException write_frm(CPURISCVState *env, int csrno, target_ulong val) { #if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } env->mstatus |= MSTATUS_FS; #endif env->frm = val & (FSR_RD >> FSR_RD_SHIFT); @@ -265,11 +249,6 @@ static RISCVException write_frm(CPURISCVState *env, int csrno, static RISCVException read_fcsr(CPURISCVState *env, int csrno, target_ulong *val) { -#if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } -#endif *val = (riscv_cpu_get_fflags(env) << FSR_AEXC_SHIFT) | (env->frm << FSR_RD_SHIFT); if (vs(env, csrno) >= 0) { @@ -283,9 +262,6 @@ static RISCVException write_fcsr(CPURISCVState *env, int csrno, target_ulong val) { #if !defined(CONFIG_USER_ONLY) - if (!env->debugger && !riscv_cpu_fp_enabled(env)) { - return RISCV_EXCP_ILLEGAL_INST; - } env->mstatus |= MSTATUS_FS; #endif env->frm = (val & FSR_RD) >> FSR_RD_SHIFT; From patchwork Thu Jul 15 07:16:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379149 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3814C47E48 for ; Thu, 15 Jul 2021 07:19:18 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 844C76128D for ; Thu, 15 Jul 2021 07:19:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 844C76128D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:39846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3veP-00011n-Kv for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:19:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc3-0005RU-Cu for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:51 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27200) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc0-0003UP-RI for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333409; x=1657869409; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cmebsk2YrhvouJOpHNJ/nTGaasT8su7IGqhbza6bBr8=; b=lQNE4YSIzPcoLYSl3QWIrWvhCjEkPu9fwAN8M+sJ96kYO86dGccaMlhk 1CUhdJUSiQNe4E/VaTNAqCclfNDF7RVMD2czRyV1ut2eendfb43Uva6qp ShWl/U/Mi1A/pu9OUXCFGsIz7JLsIE+X1zBnweu3c+lRU9uWV0z1slg5A srPU9AJJ1t6+vh1cLQ/QaZefDMLNb4zH6gJnejXUPiWzYZEARiVAFJD5h ylH0PUWLtbAGwPbAZM1EfBlzoHqXBlaBCWkUvyTZs9/94FG8Hr2rFtS/B F6fayH56+KPgiqeQW2Ij40cvdS5h4BGBkN287WyE15d48JihSAOQsrSs5 g==; IronPort-SDR: NN2jRsEiwb81o4MyCoe4WYdrPisgSf4G6607yGeviUZMlhdSSauq0h/VC3WJMHUhnLMrihMKHK fGC7iWduIPIaXqApILp46rYl+8vAqRpFRsDolIJF9/H+V0xLqYHeno8UdXx4EPn/OBlfWGCXRx y3tpjuzzgfaiS140X54L7qN0zHZ96PVvrZYp19z+b6nbsPmX28dTQGC9lywj/C7+kFDVlg5lVK qiIVg0v1l17ewhixjNE+bKIVZOLYZUMaMu23DDiAeypb6hpu7yG3ZPSWpyv7g+n4xDYS7khlBk SUs= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212301" 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; 15 Jul 2021 15:16:42 +0800 IronPort-SDR: TZrm2CxpcRPuV4a++d4YH2WJoD4ixB++HbrS1Zm4Yd9UZ/93TRAs6P2Q1HfaqEXyWyWeA6jhgx SAHhRimxpZGXnjpiXRfyySuUzQPsT4uVMh5VuVnPvoOM+O8DGslH+lRUtZaZ684CxLfGIO7r22 8nh6HCTsvsFDSQcg2G7LR0Ec8NmwUSTCTZbNAutmBwX+mLv+7egr0xrrDEVbN4uCm2YngF4f0R 58BvGCs8Sbk3OhufzLimzBwE8rX2TCTcURfhe/WTTaxpupeg7igOGWdKr5Zlp2LP3/Em5wRO9k B95tTRjEly6TfQIyQByl0PxH Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:44 -0700 IronPort-SDR: 8vaNBE1C3RPrL25Qt3aVtMzVKIoq1CacmIJX+4h3SlMOF737qCtzmeKCV8k/gc1DkEwINu3i2g u5P1oTXZQThYTg5QGJFWordrkJmDS8uI3YRxN2nfJ85PXJ5hV8ze6cpJ3FORnwOupRXkYDtfwZ Jn/V+ISisEum59Qa2ugtj/o6Gvo4VSvHiU1DCCnQnzQBctfHslH5OzWKCbWxVw4xDSpJq2oqiE tJAAlIXGFq3r725o1HEzjMjF4+CJk+q9GQ5xHklM73+Z2/rcMz6MIPtRLhOMEzBU7o7B68+d1F I0Y= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 03/12] docs/system: riscv: Fix CLINT name in the sifive_u doc Date: Thu, 15 Jul 2021 00:16:31 -0700 Message-Id: <20210715071640.232070-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng It's Core *Local* Interruptor, not 'Level'. Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210627142816.19789-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- docs/system/riscv/sifive_u.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/system/riscv/sifive_u.rst b/docs/system/riscv/sifive_u.rst index 32d0a1b85d..01108b5ecc 100644 --- a/docs/system/riscv/sifive_u.rst +++ b/docs/system/riscv/sifive_u.rst @@ -11,7 +11,7 @@ The ``sifive_u`` machine supports the following devices: * 1 E51 / E31 core * Up to 4 U54 / U34 cores -* Core Level Interruptor (CLINT) +* Core Local Interruptor (CLINT) * Platform-Level Interrupt Controller (PLIC) * Power, Reset, Clock, Interrupt (PRCI) * L2 Loosely Integrated Memory (L2-LIM) From patchwork Thu Jul 15 07:16:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379151 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16402C07E96 for ; Thu, 15 Jul 2021 07:20:52 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 971A661358 for ; Thu, 15 Jul 2021 07:20:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 971A661358 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43900 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vfu-00054I-IG for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:20:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc4-0005U6-GV for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:52 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27213) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc1-0003aa-8N for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333410; x=1657869410; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T7M2Jn/m9oUZiWeXDP9KO8IcaM1DA9eJTUHJ/HQ+0HA=; b=iRs98L9jcTEbL9kBhaikXylhaDjmcOr0DWOS3IQfEk76vNcVN4Szav6/ t07emHXCNu1ykpyd3H8chkHbGjb4vZZT8qxyFXkIQ4IUEJ2cFCtuc0Uyy P3mPm9d0xXmSPmpJxWWuiS7UawsPHv+KfJbd04FgC20gABFSvF5AIeKb6 4i5f+s0xXB/CtSYWBpmoc2nMak/DEZP9MBeX2JQynsxa1JOdcQ0NprsU9 lD8SHFIZWDKm+KGKie1Am5jSLzrNKRDnn+KHiRFNyafZO0OUXJ+mggddV tHhzVHY4Dy8362O2Gg0A3ohw+3qTPBpMNW3An4TEveH55pQC9oU+pl8n/ g==; IronPort-SDR: wCN8PBJM/mw74dISwIDfGTwtXJ+lFnQMsyWdONs/k2Sb7FxMer8PSufqHrE/cs/8hNneGMvYxJ bY/JMxIMDl93Zs6hF1034J+MalP0coMEmM8GG8uaqXTKHCKLwFr+vxIka72x6kl7m/9ECGp72J BDugp7RtPIh+oO/x3fVIc1i6DrD43jOhqldEavtOdIGcR5cRI3h/sgvkU0+AbFwl4V+Tc8wQ/P C56oLfWYGVRwpK82LvPtF44RapgPe8/4vn0XhqVv2AGFhzuWRFhqzUa8f+pMkXGmD1N7sAW1xI TsE= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212302" 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; 15 Jul 2021 15:16:42 +0800 IronPort-SDR: svbN7orJF4HbR39YqBZw5A+A5dNUDOJoqKf41HQxFV+WPTeXn/tZVvoUjPTzqqGrk903HoxMPU lVGtiVKIKE/5vD75SbgeUfbabhhJZoYWEy0xLs0ty6MHeA7g3EHanSPz1hbRyB3JPCRcZWeyg5 jhdqi6iaYGWzVk8G6yF+2HogNqAw7C736h3hc5FNKG98tVX8ZQiwQvRUz0AWQdEkGNwNcRIF7U TVpQBfvMYW38X7bTg73xMXPT9NjyDTrpN6VFK+wRjAod0pICWvpZGEfSflSxq8RHOx9NKxcndU t36qSKgqt03D15HLnBN6gEp2 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: qIVEPipJPogY0mv0/GyFA9mKTKBuId0CFQ1sqtH3V3BrpAjGcv7o30s0pKZDiyLCm51n55Rqlj hGas9UjFNiapulRY6dkZsI5r+vD5h1V/i62uXGRWXbkNe7AopAV/+JC2Ma+lNHSnNOGkmOkeuF rL13dBhc21zcC9Deu3sqDCLDLnXs9Xeo0gfZKHhMzVd9Cya/fGxNKQs0lPNNIHvC547uCZyH5f DPjwSu6OxiFS6X02t3H5v+KrqG1q5KpgRI2NgtO4BDyAu2y1kTwzB/KN0/dvTJlAEUP033K0dd 0eU= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 04/12] docs/system: riscv: Add documentation for virt machine Date: Thu, 15 Jul 2021 00:16:32 -0700 Message-Id: <20210715071640.232070-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng This adds detailed documentation for RISC-V `virt` machine, including the following information: - Supported devices - Hardware configuration information - Boot options - Running Linux kernel - Running U-Boot Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210627142816.19789-2-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- docs/system/riscv/virt.rst | 138 +++++++++++++++++++++++++++++++++++ docs/system/target-riscv.rst | 1 + 2 files changed, 139 insertions(+) create mode 100644 docs/system/riscv/virt.rst diff --git a/docs/system/riscv/virt.rst b/docs/system/riscv/virt.rst new file mode 100644 index 0000000000..3709f05797 --- /dev/null +++ b/docs/system/riscv/virt.rst @@ -0,0 +1,138 @@ +'virt' Generic Virtual Platform (``virt``) +========================================== + +The `virt` board is a platform which does not correspond to any real hardware; +it is designed for use in virtual machines. It is the recommended board type +if you simply want to run a guest such as Linux and do not care about +reproducing the idiosyncrasies and limitations of a particular bit of +real-world hardware. + +Supported devices +----------------- + +The ``virt`` machine supports the following devices: + +* Up to 8 generic RV32GC/RV64GC cores, with optional extensions +* Core Local Interruptor (CLINT) +* Platform-Level Interrupt Controller (PLIC) +* CFI parallel NOR flash memory +* 1 NS16550 compatible UART +* 1 Google Goldfish RTC +* 1 SiFive Test device +* 8 virtio-mmio transport devices +* 1 generic PCIe host bridge +* The fw_cfg device that allows a guest to obtain data from QEMU + +Note that the default CPU is a generic RV32GC/RV64GC. Optional extensions +can be enabled via command line parameters, e.g.: ``-cpu rv64,x-h=true`` +enables the hypervisor extension for RV64. + +Hardware configuration information +---------------------------------- + +The ``virt`` machine automatically generates a device tree blob ("dtb") +which it passes to the guest, if there is no ``-dtb`` option. This provides +information about the addresses, interrupt lines and other configuration of +the various devices in the system. Guest software should discover the devices +that are present in the generated DTB. + +If users want to provide their own DTB, they can use the ``-dtb`` option. +These DTBs should have the following requirements: + +* The number of subnodes of the /cpus node should match QEMU's ``-smp`` option +* The /memory reg size should match QEMU’s selected ram_size via ``-m`` +* Should contain a node for the CLINT device with a compatible string + "riscv,clint0" if using with OpenSBI BIOS images + +Boot options +------------ + +The ``virt`` machine can start using the standard -kernel functionality +for loading a Linux kernel, a VxWorks kernel, an S-mode U-Boot bootloader +with the default OpenSBI firmware image as the -bios. It also supports +the recommended RISC-V bootflow: U-Boot SPL (M-mode) loads OpenSBI fw_dynamic +firmware and U-Boot proper (S-mode), using the standard -bios functionality. + +Running Linux kernel +-------------------- + +Linux mainline v5.12 release is tested at the time of writing. To build a +Linux mainline kernel that can be booted by the ``virt`` machine in +64-bit mode, simply configure the kernel using the defconfig configuration: + +.. code-block:: bash + + $ export ARCH=riscv + $ export CROSS_COMPILE=riscv64-linux- + $ make defconfig + $ make + +To boot the newly built Linux kernel in QEMU with the ``virt`` machine: + +.. code-block:: bash + + $ qemu-system-riscv64 -M virt -smp 4 -m 2G \ + -display none -serial stdio \ + -kernel arch/riscv/boot/Image \ + -initrd /path/to/rootfs.cpio \ + -append "root=/dev/ram" + +To build a Linux mainline kernel that can be booted by the ``virt`` machine +in 32-bit mode, use the rv32_defconfig configuration. A patch is required to +fix the 32-bit boot issue for Linux kernel v5.12. + +.. code-block:: bash + + $ export ARCH=riscv + $ export CROSS_COMPILE=riscv64-linux- + $ curl https://patchwork.kernel.org/project/linux-riscv/patch/20210627135117.28641-1-bmeng.cn@gmail.com/mbox/ > riscv.patch + $ git am riscv.patch + $ make rv32_defconfig + $ make + +Replace ``qemu-system-riscv64`` with ``qemu-system-riscv32`` in the command +line above to boot the 32-bit Linux kernel. A rootfs image containing 32-bit +applications shall be used in order for kernel to boot to user space. + +Running U-Boot +-------------- + +U-Boot mainline v2021.04 release is tested at the time of writing. To build an +S-mode U-Boot bootloader that can be booted by the ``virt`` machine, use +the qemu-riscv64_smode_defconfig with similar commands as described above for Linux: + +.. code-block:: bash + + $ export CROSS_COMPILE=riscv64-linux- + $ make qemu-riscv64_smode_defconfig + +Boot the 64-bit U-Boot S-mode image directly: + +.. code-block:: bash + + $ qemu-system-riscv64 -M virt -smp 4 -m 2G \ + -display none -serial stdio \ + -kernel /path/to/u-boot.bin + +To test booting U-Boot SPL which in M-mode, which in turn loads a FIT image +that bundles OpenSBI fw_dynamic firmware and U-Boot proper (S-mode) together, +build the U-Boot images using riscv64_spl_defconfig: + +.. code-block:: bash + + $ export CROSS_COMPILE=riscv64-linux- + $ export OPENSBI=/path/to/opensbi-riscv64-generic-fw_dynamic.bin + $ make qemu-riscv64_spl_defconfig + +The minimal QEMU commands to run U-Boot SPL are: + +.. code-block:: bash + + $ qemu-system-riscv64 -M virt -smp 4 -m 2G \ + -display none -serial stdio \ + -bios /path/to/u-boot-spl \ + -device loader,file=/path/to/u-boot.itb,addr=0x80200000 + +To test 32-bit U-Boot images, switch to use qemu-riscv32_smode_defconfig and +riscv32_spl_defconfig builds, and replace ``qemu-system-riscv64`` with +``qemu-system-riscv32`` in the command lines above to boot the 32-bit U-Boot. diff --git a/docs/system/target-riscv.rst b/docs/system/target-riscv.rst index a5cc06b726..89a866e4f4 100644 --- a/docs/system/target-riscv.rst +++ b/docs/system/target-riscv.rst @@ -69,6 +69,7 @@ undocumented; you can get a complete list by running riscv/microchip-icicle-kit riscv/shakti-c riscv/sifive_u + riscv/virt RISC-V CPU firmware ------------------- From patchwork Thu Jul 15 07:16:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379155 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 579C4C07E96 for ; Thu, 15 Jul 2021 07:21:27 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EE32761362 for ; Thu, 15 Jul 2021 07:21:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EE32761362 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vgT-0006cn-Qw for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:21:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc4-0005Uf-MA for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:52 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27205) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc2-0003VO-L2 for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333411; x=1657869411; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RoRHBbakSWJHXSQUaN07cP0CANZsUUdsXB3Th0i7Nyw=; b=KqrOz4EEwlhDylUHq2Xs4nzrFc4zLGTOgaNI5j20rHU/SkX5yWMGBtM3 qKYdsLssL/t6ztn2T9xIbJD0Q4Z+iG+ly/FDDyxVutTIQHUtrLFnFqbQa WMb7Ldg2A0TJoNpASyb49kEDD+PcDo6c++wF4HupWayMvMnvUSAS+kS4o dK+k8g30eqzpZDqjUojMHZCCfWwcA16LRei4AApjrUACqlHJjh2fWm7sC 2tvdQLcF788sG96PgCH/jaYGyPBip+D2SHmBXw72TQdAF7j/AoVnvrsb+ XvC4Q/kFHp6VmDjzJDmUtiq1HJ7B3mukAlfkfl4NfKJdfYhTO62tGKJBB Q==; IronPort-SDR: 8QDWSgN3gFalGxe9lEwSsJnHTtLGHdrJl95zbv+4/GUGCNgNx+1oV2wyG+xy9rH/HSgRdKX/N0 Oa8nzkRokb8xaxiANluxMR8KrKAL/NTzhbX5M0gXSDsAo7YRjbJiOaSCA8uSAPbkDSiOSeMx/c M+QtQRZ42Qymn/0Yrv6AAEniZVpbaZVeCFTWshC5oinFxekouOrJc0TSgl8wEYoxiQT6NkAinL 0/HtL6EY0gL5okWAm1qld1mJ7biTCQCegQFpKHifuUYB7k2EPGkOisf3SHWZH7WtRvRMipGW5T 2y0= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212303" 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; 15 Jul 2021 15:16:42 +0800 IronPort-SDR: 2EYAvRdXzQo6PbzU4v9KlWBo6uptyxre6oQBwUCsz9UZtRErXoHwlFUAmfHv2rQ0nCGjQFqfSD 1r5bN4LV5T6WNmvtbutp6pVhn/VM3HwCNVA/yK0hJuI2txDZy71IN40E6XPkcu2HftpoYusUZS XAishXqqCs2M53mwiluU7VqEja6qoOENhAxTAwcdcShlQdp03NAcOjb+rewWZFSELYgEXOctcF qWyzw0C18+/SrukXYWIcJBgDQv7XKSlYZ+/5V0BHAlbDqD0IYsTwHMgSatfSNTrvzJY2cd4Z3n cGwgbXT5Nqwl3vrj2M+ye+gQ Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: aXTMk15hPQapxSosGGAqE2f8R8uWtsXy0neFtZuj1cDUSUub936W+2HBexp0riT1nkxReRpmb4 SdNgFfaYcjEdjgC+Q+VqLpqGyyAMhJzkjYuIxzQXbySBXYGGZU+T4NPjbKSsBsDA3kQk4a6h6t Zrf3/LMsLjgXX3kCvR6XXXpcujOgFibmYtbV+vZYsja94ZsE4I7ySdcUft6NGVBYzRfVwAltdT WtbzTJDQR7kfujUwwfmThKcp3z5SUuBwB8NROso7oIkz8BlMmEB7JarC9xBPNTz8O46fyPbgcG L/g= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 05/12] target/riscv: hardwire bits in hideleg and hedeleg Date: Thu, 15 Jul 2021 00:16:33 -0700 Message-Id: <20210715071640.232070-6-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 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: Jose Martins , Alistair Francis , LIU Zhiwei Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Jose Martins The specification mandates for certain bits to be hardwired in the hypervisor delegation registers. This was not being enforced. Signed-off-by: Jose Martins Reviewed-by: LIU Zhiwei Reviewed-by: Alistair Francis Message-id: 20210522155902.374439-1-josemartins90@gmail.com [ Changes by AF: - Improve indentation - Convert delegable_excps to a #define to avoid failures with GCC 8 ] Signed-off-by: Alistair Francis --- target/riscv/csr.c | 54 ++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 62b968326c..9a4ed18ac5 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -411,28 +411,36 @@ static RISCVException read_timeh(CPURISCVState *env, int csrno, static const target_ulong delegable_ints = S_MODE_INTERRUPTS | VS_MODE_INTERRUPTS; +static const target_ulong vs_delegable_ints = VS_MODE_INTERRUPTS; static const target_ulong all_ints = M_MODE_INTERRUPTS | S_MODE_INTERRUPTS | VS_MODE_INTERRUPTS; -static const target_ulong delegable_excps = - (1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | - (1ULL << (RISCV_EXCP_INST_ACCESS_FAULT)) | - (1ULL << (RISCV_EXCP_ILLEGAL_INST)) | - (1ULL << (RISCV_EXCP_BREAKPOINT)) | - (1ULL << (RISCV_EXCP_LOAD_ADDR_MIS)) | - (1ULL << (RISCV_EXCP_LOAD_ACCESS_FAULT)) | - (1ULL << (RISCV_EXCP_STORE_AMO_ADDR_MIS)) | - (1ULL << (RISCV_EXCP_STORE_AMO_ACCESS_FAULT)) | - (1ULL << (RISCV_EXCP_U_ECALL)) | - (1ULL << (RISCV_EXCP_S_ECALL)) | - (1ULL << (RISCV_EXCP_VS_ECALL)) | - (1ULL << (RISCV_EXCP_M_ECALL)) | - (1ULL << (RISCV_EXCP_INST_PAGE_FAULT)) | - (1ULL << (RISCV_EXCP_LOAD_PAGE_FAULT)) | - (1ULL << (RISCV_EXCP_STORE_PAGE_FAULT)) | - (1ULL << (RISCV_EXCP_INST_GUEST_PAGE_FAULT)) | - (1ULL << (RISCV_EXCP_LOAD_GUEST_ACCESS_FAULT)) | - (1ULL << (RISCV_EXCP_VIRT_INSTRUCTION_FAULT)) | - (1ULL << (RISCV_EXCP_STORE_GUEST_AMO_ACCESS_FAULT)); +#define DELEGABLE_EXCPS ((1ULL << (RISCV_EXCP_INST_ADDR_MIS)) | \ + (1ULL << (RISCV_EXCP_INST_ACCESS_FAULT)) | \ + (1ULL << (RISCV_EXCP_ILLEGAL_INST)) | \ + (1ULL << (RISCV_EXCP_BREAKPOINT)) | \ + (1ULL << (RISCV_EXCP_LOAD_ADDR_MIS)) | \ + (1ULL << (RISCV_EXCP_LOAD_ACCESS_FAULT)) | \ + (1ULL << (RISCV_EXCP_STORE_AMO_ADDR_MIS)) | \ + (1ULL << (RISCV_EXCP_STORE_AMO_ACCESS_FAULT)) | \ + (1ULL << (RISCV_EXCP_U_ECALL)) | \ + (1ULL << (RISCV_EXCP_S_ECALL)) | \ + (1ULL << (RISCV_EXCP_VS_ECALL)) | \ + (1ULL << (RISCV_EXCP_M_ECALL)) | \ + (1ULL << (RISCV_EXCP_INST_PAGE_FAULT)) | \ + (1ULL << (RISCV_EXCP_LOAD_PAGE_FAULT)) | \ + (1ULL << (RISCV_EXCP_STORE_PAGE_FAULT)) | \ + (1ULL << (RISCV_EXCP_INST_GUEST_PAGE_FAULT)) | \ + (1ULL << (RISCV_EXCP_LOAD_GUEST_ACCESS_FAULT)) | \ + (1ULL << (RISCV_EXCP_VIRT_INSTRUCTION_FAULT)) | \ + (1ULL << (RISCV_EXCP_STORE_GUEST_AMO_ACCESS_FAULT))) +static const target_ulong vs_delegable_excps = DELEGABLE_EXCPS & + ~((1ULL << (RISCV_EXCP_S_ECALL)) | + (1ULL << (RISCV_EXCP_VS_ECALL)) | + (1ULL << (RISCV_EXCP_M_ECALL)) | + (1ULL << (RISCV_EXCP_INST_GUEST_PAGE_FAULT)) | + (1ULL << (RISCV_EXCP_LOAD_GUEST_ACCESS_FAULT)) | + (1ULL << (RISCV_EXCP_VIRT_INSTRUCTION_FAULT)) | + (1ULL << (RISCV_EXCP_STORE_GUEST_AMO_ACCESS_FAULT))); static const target_ulong sstatus_v1_10_mask = SSTATUS_SIE | SSTATUS_SPIE | SSTATUS_UIE | SSTATUS_UPIE | SSTATUS_SPP | SSTATUS_FS | SSTATUS_XS | SSTATUS_SUM | SSTATUS_MXR; @@ -620,7 +628,7 @@ static RISCVException read_medeleg(CPURISCVState *env, int csrno, static RISCVException write_medeleg(CPURISCVState *env, int csrno, target_ulong val) { - env->medeleg = (env->medeleg & ~delegable_excps) | (val & delegable_excps); + env->medeleg = (env->medeleg & ~DELEGABLE_EXCPS) | (val & DELEGABLE_EXCPS); return RISCV_EXCP_NONE; } @@ -1039,7 +1047,7 @@ static RISCVException read_hedeleg(CPURISCVState *env, int csrno, static RISCVException write_hedeleg(CPURISCVState *env, int csrno, target_ulong val) { - env->hedeleg = val; + env->hedeleg = val & vs_delegable_excps; return RISCV_EXCP_NONE; } @@ -1053,7 +1061,7 @@ static RISCVException read_hideleg(CPURISCVState *env, int csrno, static RISCVException write_hideleg(CPURISCVState *env, int csrno, target_ulong val) { - env->hideleg = val; + env->hideleg = val & vs_delegable_ints; return RISCV_EXCP_NONE; } From patchwork Thu Jul 15 07:16:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379159 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-21.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4FCFC1B08C for ; Thu, 15 Jul 2021 07:22:38 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 91B9F61362 for ; Thu, 15 Jul 2021 07:22:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 91B9F61362 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:50452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vhd-00013u-O1 for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:22:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc6-0005Yg-MC for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:54 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27200) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc3-0003UP-NS for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333412; x=1657869412; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SbSzoMijwfPI2ZTclf3G3p+iRCTsIMjZDdCadjYDN2o=; b=o5BpKbFD9lu8NspFM+CBVEKLIBlvZIR6Ul7cJ39WSD2wmXvCapfxcs5L NrZADahzPw9lNoaeD2A+u/u+UNXJnbbzFQeRHoN7nc6G5j/yDnGXFCqTX yaGBp5GxvKofBRQ5nfP7nj+0cXUoEC+qRzpXZWhVWXmJqLKEjRDadT4T2 ZThX3+13G7mi9isrq1I2mT82AC2oLKkGUWMBmEQXD/5/nJohVhC1fcNLG Vnvfq0EVdfRCTaER4PBGkJmd9f0KIFpWckHXFf+ycYcWXpFcIyfYcMpUL +cPt6/Koe+FjPds8xd/HZRpgUNE2tZpmm6T0bzyjiXp3G8GuXig/iP4XC Q==; IronPort-SDR: vCBIWHEaS/ZTpxwhnTQ/dLNPpHM6veUGpJautCXK7XcqQeLEjkp1oCyHDLOCESkvpDgfXs0kOr vX1E03rns17wLa7LSqBNA5UM78DyzN9X4CVe0jtNF8XVVmmooT8W3b7+CJY/vb+HeWbaeDzDj8 n9AHoRXEpBCQF9OiT7cZQszl58jdHyHKxmWkFwqGgDAQOabfGSNHmV7AC3tMm35UiO1CzLva4J RQsZRW4l30AKG5rHHT4TMLQbeQt+Z0MeMfIlLcUw0ySy7ivBxYjeY9uUcAGRuUGsXhoiQYWMwY 3cI= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212305" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: KdPfCRV1r06iIMDuasQG92veX7gw7OXus68w5w7squXTTB2pOGBkiCWvMnheQrnIdqYfNlvoCL HQf8gBfoK03In0zinMr5sE5HHfGEy/rv3jr68NU0B2LgMVLxJEBFS+IM40f1P2HgzTkA4+xb24 JZvcsGDJEr+KzB15Y4YnCx8ehOYFGeKvD+XDaTg2pW6OU5GryxkDbCYrbiyB8NVpy4JPaE1s4j T9yJcDxcQGMOrw250T5cNNzSwLhz8UP2bjB/DrRHUz5qkIr0r9nufpwiGlmbs/NrVpybMxMbFv EDztVCOzEOGswoEHy8FZ0Mb8 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: B5WJIuf5kBvQBRaoQ3W2FvA/9LxgStzQZIUqgh4tqUY89WpCEJ98Z0Ji6yL71n2izjdJ7uYy/1 IoyzaapGLy9BQzdDwywYy+XgOZIp5d3G81W18DTc7zf2I8RXrOCWdY0ktofiYQF/fdsR+ti2El idSPxmtvR5VmP6zGv+lJD4/n/FvqKT8jGyMRSOMcil0l/fE/OI/eFtPS0MpUOEzsBI2BgBSt91 3A7OZh7Z3G0/6f1AVR75NJnN/gyTpH/88Hr5/3N55LC2YsEG6vZvsuoktvaLMCPYG9yKorVKWl duo= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 06/12] docs/system: riscv: Update Microchip Icicle Kit for direct kernel boot Date: Thu, 15 Jul 2021 00:16:34 -0700 Message-Id: <20210715071640.232070-7-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng This adds a new section in the documentation to demonstrate how to use the new direct kernel boot feature for Microchip Icicle Kit, other than the HSS bootflow, using an upstream U-Boot v2021.07 image as an example. It also updates the truth table to have a new '-dtb' column which is required by direct kernel boot. Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210706095045.1917913-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- docs/system/riscv/microchip-icicle-kit.rst | 54 +++++++++++++++++++--- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/docs/system/riscv/microchip-icicle-kit.rst b/docs/system/riscv/microchip-icicle-kit.rst index 54ced661e3..817d2aec9c 100644 --- a/docs/system/riscv/microchip-icicle-kit.rst +++ b/docs/system/riscv/microchip-icicle-kit.rst @@ -47,13 +47,13 @@ The user provided DTB should have the following requirements: QEMU follows below truth table to select which payload to execute: -===== ========== ======= --bios -kernel payload -===== ========== ======= - N N HSS - Y don't care HSS - N Y kernel -===== ========== ======= +===== ========== ========== ======= +-bios -kernel -dtb payload +===== ========== ========== ======= + N N don't care HSS + Y don't care don't care HSS + N Y Y kernel +===== ========== ========== ======= The memory is set to 1537 MiB by default which is the minimum required high memory size by HSS. A sanity check on ram size is performed in the machine @@ -106,4 +106,44 @@ HSS output is on the first serial port (stdio) and U-Boot outputs on the second serial port. U-Boot will automatically load the Linux kernel from the SD card image. +Direct Kernel Boot +------------------ + +Sometimes we just want to test booting a new kernel, and transforming the +kernel image to the format required by the HSS bootflow is tedious. We can +use '-kernel' for direct kernel booting just like other RISC-V machines do. + +In this mode, the OpenSBI fw_dynamic BIOS image for 'generic' platform is +used to boot an S-mode payload like U-Boot or OS kernel directly. + +For example, the following commands show building a U-Boot image from U-Boot +mainline v2021.07 for the Microchip Icicle Kit board: + +.. code-block:: bash + + $ export CROSS_COMPILE=riscv64-linux- + $ make microchip_mpfs_icicle_defconfig + +Then we can boot the machine by: + +.. code-block:: bash + + $ qemu-system-riscv64 -M microchip-icicle-kit -smp 5 -m 2G \ + -sd path/to/sdcard.img \ + -nic user,model=cadence_gem \ + -nic tap,ifname=tap,model=cadence_gem,script=no \ + -display none -serial stdio \ + -kernel path/to/u-boot/build/dir/u-boot.bin \ + -dtb path/to/u-boot/build/dir/u-boot.dtb + +CAVEATS: + +* Check the "stdout-path" property in the /chosen node in the DTB to determine + which serial port is used for the serial console, e.g.: if the console is set + to the second serial port, change to use "-serial null -serial stdio". +* The default U-Boot configuration uses CONFIG_OF_SEPARATE hence the ELF image + ``u-boot`` cannot be passed to "-kernel" as it does not contain the DTB hence + ``u-boot.bin`` has to be used which does contain one. To use the ELF image, + we need to change to CONFIG_OF_EMBED or CONFIG_OF_PRIOR_STAGE. + .. _HSS: https://github.com/polarfire-soc/hart-software-services From patchwork Thu Jul 15 07:16:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379161 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52336C07E96 for ; Thu, 15 Jul 2021 07:23:16 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E5F7D61358 for ; Thu, 15 Jul 2021 07:23:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E5F7D61358 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3viF-0002WG-0o for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:23:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc7-0005cg-PF for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:55 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27213) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc4-0003aa-PU for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333413; x=1657869413; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9A8QWqswZ6UOntZKeMVseSxt7D5c/I+oM3IrzN5UJzI=; b=d5IQbpWnaM+hCdZ180hi6dn1I12LKCpjV/wuXi5N26OWv4dIzIH31zrr sjwnY+3Dir9urep02gbig1Df8N+YGkuEPmbAfXwc9FmMPSm95i/1cFNJ9 D1cdckNszohl8ztnbmGntEYyhEEARiS4HzwrDHXZT2zJPwnjlJzfaO4Ge obnGOOQ7UhkCj0b4RIiEEuZDCZ/eI5FTcUJFP0yMG4mEc/9hhuGZRz8/K edrk/PMRU3OWDeBJvS6OU50BiM2u21LAv39hhlO09+QNx2qekO6rXAL/B 3eUPR5GB+/tg1VZeL1RuZ+2YPZEPZJa6Dzz3UGrS0l/iZ5w0Kaz5pC7DB g==; IronPort-SDR: MG5VGHKOtLvZ2aDFSzibwdiTmj7zP6SxGSdYZkmQZxZMKL1vETdW+IBWJW4+4dBr+diuC9QxWw EhrqiYI8qhcHVldIA67Kxkg14ujsSBnonYAizNJl8rqrCsqCGTgj0AEzAp9lyjewLB3o5Mgsoa UW65nlbDuVrrKSZv8Fhky73sHrZq26IM/XHNfh8tzfvAkbwEd4s77yqCeGBMZYrh7jZF+wjagv RzKzlta/0SQeBgDJkAJgrmKLUETOGbQSK/qk8LSDkpqSLdM5UUU23Ps6q8eBsIVzgzX7cgoq7U cDE= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212306" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: ex2f50PZHDuCZ+BU4fGZ94Q1Y0UtiBJAUaNBp1T3x/i44CHd9bB1lGQxUJ0GEsFJACSuKyR48l Tigja2gEpcYT2ufUtoxyy5mpNLOEf0uf1SoYtpZQOjQuLezoKdAr96ktyeTKtCFKPgkhBbCPBp 6t7DKYbRc2arGkohYzZLyAvWtkRDWaCOyNAOmspyIDIl8QUY3dTURL2YG8EBDlWh4zf3y5FK6X 71EF8tCf6okqB6dP6im1n7UTE1PEEk1SsYBXPl2wArfmyu/TI5Pxyplvk0c0iFwCq2ehiEyG86 6r1vdR6LjkgLuTrlmsVxQQUk Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: mt1R6uIb/DQqmSg4XdDLZV60mFZuYv6RWfS/4JAHtMSlxGbFssdftvZsBdj44o4fvsJHRZ4SpK VdF25D09wmq0/ju4rd+1qWrql3p7yOg1QQQGz0QR3bb7EaqvSVczuElJbhO81wuTbtPcFMXFJ3 oR/gjQFKUUIvk3TbUZc5jTkItdrrXvwVFP2g7CXMy/BnOK41wyKiMnf1etPrdQRDOLF+oR4h6d LcQzvytnZkeNwrSnbwx4D9pDAh95mUnTw/JPek4HvBwB/O+3t01c9mrfdwk63+hSj/yJrfYhjb QGE= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 07/12] hw/riscv: sifive_u: Correct the CLINT timebase frequency Date: Thu, 15 Jul 2021 00:16:35 -0700 Message-Id: <20210715071640.232070-8-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng At present the CLINT timebase frequency is set to 10MHz on sifive_u, but on the real hardware the timebase frequency is 1Mhz. Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210706102616.1922469-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- hw/riscv/sifive_u.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 273c86418c..e75ca38783 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -62,6 +62,9 @@ #include +/* CLINT timebase frequency */ +#define CLINT_TIMEBASE_FREQ 1000000 + static const MemMapEntry sifive_u_memmap[] = { [SIFIVE_U_DEV_DEBUG] = { 0x0, 0x100 }, [SIFIVE_U_DEV_MROM] = { 0x1000, 0xf000 }, @@ -165,7 +168,7 @@ static void create_fdt(SiFiveUState *s, const MemMapEntry *memmap, qemu_fdt_add_subnode(fdt, "/cpus"); qemu_fdt_setprop_cell(fdt, "/cpus", "timebase-frequency", - SIFIVE_CLINT_TIMEBASE_FREQ); + CLINT_TIMEBASE_FREQ); qemu_fdt_setprop_cell(fdt, "/cpus", "#size-cells", 0x0); qemu_fdt_setprop_cell(fdt, "/cpus", "#address-cells", 0x1); @@ -847,7 +850,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp) sifive_clint_create(memmap[SIFIVE_U_DEV_CLINT].base, memmap[SIFIVE_U_DEV_CLINT].size, 0, ms->smp.cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE, - SIFIVE_CLINT_TIMEBASE_FREQ, false); + CLINT_TIMEBASE_FREQ, false); if (!sysbus_realize(SYS_BUS_DEVICE(&s->prci), errp)) { return; From patchwork Thu Jul 15 07:16:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379157 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF143C07E96 for ; Thu, 15 Jul 2021 07:22:37 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6A2A561358 for ; Thu, 15 Jul 2021 07:22:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6A2A561358 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:50328 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vhc-0000yp-IZ for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:22:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34096) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc6-0005Yp-RE for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:54 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27205) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc5-0003VO-0Z for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333413; x=1657869413; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5qe5NSgZWinSdjj7ZsUlkyN3Gf/d5eMq2C8L+vF+ROQ=; b=Tmr5u7QXi+oR4+2GP/wQXoafvwsRKcYbhk7ysdhwSLT7xwTJDAeq5DG1 9sAsAW2t1KOVmyB/YvLD9tKdcv6gnlJjUeqVi26hTxRGqCEPz4jZYAi8i MdyX8jG9z+WH2MAUGB/pIlbStdf8U44dCjkht4mmbmAdBCWnm9CCiIe1j gNPXA9jIwgA3rj647EgAbDmldCyEbH+9ISMYD8fdI8h2sC9sHvya430zJ Oekt6J1IIxF1MAZkqKoXmtsDxSF6VvrsRrUFLOxwD6PoVN1ll0Y+yjYxD orEbI819npR+RKepT26Gat5x428bdPHPOVIlVUxm4HRayETmMk+HXD2ED w==; IronPort-SDR: 9cDK564MFCrlJaM3GiloRZLd1ufZBxzSgotk8lOHd2862ltUHdd4SIU3YjN8q/wc45lqXXch4a 3Gzejnn27LxuGj2IyiVnxU8L2RyUw4OdpraKvMDK2zOI0tjSgw583UfFCBekbUKiLAdRejqoXW IsknMpP3DLtQXt+6trjLI/sqtdQlwzFi0FY9ZFAFo6iIAgUcwjykCyY4onplYQGbKcxshXLd3I +Vb13WjPdMpJOG9mJECvFL2I2ooW12LC3+YqSDhccC80Zw5oNEYVpp9a5Q8KNRDf4c3lzi01yR Lk8= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212307" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: 4NXIlqmHpMaX4Nw7GPgNmYy00FaYnnyLVa97xvnDW23XhSvvHwf8QhrvBBnNzAWMz8IXWqROky EB/QZpqKeFxLYGXui3G6GuiMHakSzqOq4wI+rn8uNbXw76OjXNF/vevbTBeK/ugd2Ks7Ywr4Y8 CTitMwAmO2aZ2lyRARBb/dpXg37SKFCi7BTxcuxKoWA/ZWU+1S1McWuJNtaXJgirFnwaMip0oN wKxoC3AXPF4o/QlKsQTCwJU38R9V1iILZ/a2qL8fzQWlHZAvic2I8SL7uZ7/Ex4UASr7R1CcNL 3naJSDiIc6o1Ja5dPTAsjlP8 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: vQ7H992MqEdg9dpnF9g+D+9klWOjcfkzRSf/TvDgSzCprdAIaoJrPnU9m6n+ZmTDy5q73XH/W/ M4r3zO+kFuzJJoc9mrbsrbGv6Wce4qTfTz+1qIPv9HCvaRoGkIKAQ1sd9YhiDIQeQoVKOO4M6f cGD5SVJt1Zw2dfMSCL6xjmy8XavEKrlyUwxxc8FIouMRhkkLSkytQeo4+mWRKNok+OYjLSdf/J KdqlXw3IxRE/l/duWSF08wC6+7QDuRHUnxuOTq0szsyWQkA9QwWlIaxz8IS2g3I/FW4mBa8uPY sD0= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 08/12] hw/riscv: sifive_u: Make sure firmware info is 8-byte aligned Date: Thu, 15 Jul 2021 00:16:36 -0700 Message-Id: <20210715071640.232070-9-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Bin Meng Currently the firmware dynamic info (fw_dyn) is put right after the reset vector, which is not 8-byte aligned on RV64. OpenSBI fw_dynamic uses ld to read contents from 'struct fw_dynamic_info', which expects fw_dyn to be on the 8-byte boundary, otherwise the misaligned load exception may happen. Fortunately this does not cause any issue on QEMU, as QEMU does support misaligned load. RV32 does not have any issue as it is 4-byte aligned already. Change to make sure it is 8-byte aligned which works for both RV32 and RV64. Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: 20210708143319.10441-1-bmeng.cn@gmail.com Signed-off-by: Alistair Francis --- hw/riscv/sifive_u.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index e75ca38783..87bbd10b21 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -602,10 +602,10 @@ static void sifive_u_machine_init(MachineState *machine) } /* reset vector */ - uint32_t reset_vec[11] = { + uint32_t reset_vec[12] = { s->msel, /* MSEL pin state */ 0x00000297, /* 1: auipc t0, %pcrel_hi(fw_dyn) */ - 0x02828613, /* addi a2, t0, %pcrel_lo(1b) */ + 0x02c28613, /* addi a2, t0, %pcrel_lo(1b) */ 0xf1402573, /* csrr a0, mhartid */ 0, 0, @@ -613,6 +613,7 @@ static void sifive_u_machine_init(MachineState *machine) start_addr, /* start: .dword */ start_addr_hi32, fdt_load_addr, /* fdt_laddr: .dword */ + 0x00000000, 0x00000000, /* fw_dyn: */ }; From patchwork Thu Jul 15 07:16:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379165 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C05DFC1B08C for ; Thu, 15 Jul 2021 07:24:54 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6FED4601FA for ; Thu, 15 Jul 2021 07:24:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6FED4601FA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57402 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vjp-0005iC-Jj for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:24:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc8-0005fY-Jb for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:56 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27200) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vc7-0003UP-09 for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:16:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333415; x=1657869415; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PxMspOk3+BuBy2D/exxvDUQtwHonT8cvBBgfO7w5J5c=; b=f3GV8TghWWXVv3/7qWVqsmfbvWxnQnnj/MX+4KNk2Z/sJtUfp+UOOpBz FWCK2EB8j6mV1zFEsMRWgf4JDvzLm8UyRysV3KDXONRq60kn0PJHqjo70 hEMea8BLoY8JCBE205jUQuACBZFW3E2oWAwAIeYsxRVwXnfxRxk60k72V bYXDcD/CyZgbHGbMa5/2akch811itD/MD3C9NoCDmPtzUMUYmeEDVHoqU 32o5cp1NzAKenHm1sruxhQElAFSm3gs8HanvTD2ckYbBaTjNrtY7b5re5 Aq9vMx57wpTknuAISClOEfSFlkVrg6SNG01t8WzML/xcZa1xkyO0LM4nM A==; IronPort-SDR: CJTvfja9RDngXwzGAuQeE74fA1nSxYDIya/tLWU/iCwQX2gydAd0WaEyEjWT4dzuozYYwxxGPf ZUv0Km4Eh+95gKr+hqE1VAIEgwAdGXdYt8YHrNvwiHQYJNbdir8iD69FC6dfI4Z+Vw4oUyhj9Y RCZGzawqoyRFrXuycx9mSbMKiBVB1/UdEzNm18Pjapa9qq8Glr3wpQOfC5XKDDtDCsYoK7YDWP BIy4xK3+luQnNG+sXzoToWx/oyYu1KVJENtGgoMwAI8dGOZB3fs2te90BNFs7qT9IXLH4FP6Af LsM= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212308" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: AAM6WS6RzclTvrP2WSxBbT8btOBxPOVDYOHav9xcnqQTjglobbsDsByDg+3RekLDP4G2ygTNPB CuXw2n67VcQ0QTVQgiEbT8KBEQ9c50v7vA03JOTl4xCR58KyPqHDJd4hNN3+mzjA94/nzothE/ EfpwKjsYcjqKH4hniuqvXsNhUZBK5+bf36Zp3XOlqsLFlObY+ErDaO6dtjjCX7m1hMkbsaTewL vmZAAcb6MkfZiqrLx+3nSrNaBg92Z3bwMJQ3xvMgOE23jW/9e2Eg+xyUgPuC8UC/7c4gKol43V G8XLl9L+WYOwxS0oF5GyD2aA Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: NieMzRvDLvF1DHEnLBzmtGP94icsQ9gkIPo7dicrgN7ZRrsfG9luoN1Xh4qdku2fu6nvGh+QK6 9ZG7YyATJzBPAfHiA6icwoyQl5nHHzpMrF8OBroVA0CBR0IDucsLifLKddMjvkSK1rjcVo50P9 nF0B7FW0Fmh5b8A0PBB3UZZlyPPPyuD+QQjf+aAarqUklq60snM8k16IMvaPVwW7o3JM6WJhKz ZAKbz6I65clZmTAEyPqNGkpz8vaGvt8RUlQNT6TIgtqB760AKdye0RsQKtK4IuXd+qmBBrjGGk JRg= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 09/12] char: ibex_uart: Update the register layout Date: Thu, 15 Jul 2021 00:16:37 -0700 Message-Id: <20210715071640.232070-10-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Update the register layout to match the latest OpenTitan bitstream. Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Message-id: 25c8377d32f3e0f0a1a862c8a5092f8a9e3f9928.1625801868.git.alistair.francis@wdc.com --- hw/char/ibex_uart.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/hw/char/ibex_uart.c b/hw/char/ibex_uart.c index fe4b6c3c9e..6b0c9330bf 100644 --- a/hw/char/ibex_uart.c +++ b/hw/char/ibex_uart.c @@ -42,7 +42,8 @@ REG32(INTR_STATE, 0x00) FIELD(INTR_STATE, RX_OVERFLOW, 3, 1) REG32(INTR_ENABLE, 0x04) REG32(INTR_TEST, 0x08) -REG32(CTRL, 0x0C) +REG32(ALERT_TEST, 0x0C) +REG32(CTRL, 0x10) FIELD(CTRL, TX_ENABLE, 0, 1) FIELD(CTRL, RX_ENABLE, 1, 1) FIELD(CTRL, NF, 2, 1) @@ -52,25 +53,25 @@ REG32(CTRL, 0x0C) FIELD(CTRL, PARITY_ODD, 7, 1) FIELD(CTRL, RXBLVL, 8, 2) FIELD(CTRL, NCO, 16, 16) -REG32(STATUS, 0x10) +REG32(STATUS, 0x14) FIELD(STATUS, TXFULL, 0, 1) FIELD(STATUS, RXFULL, 1, 1) FIELD(STATUS, TXEMPTY, 2, 1) FIELD(STATUS, RXIDLE, 4, 1) FIELD(STATUS, RXEMPTY, 5, 1) -REG32(RDATA, 0x14) -REG32(WDATA, 0x18) -REG32(FIFO_CTRL, 0x1c) +REG32(RDATA, 0x18) +REG32(WDATA, 0x1C) +REG32(FIFO_CTRL, 0x20) FIELD(FIFO_CTRL, RXRST, 0, 1) FIELD(FIFO_CTRL, TXRST, 1, 1) FIELD(FIFO_CTRL, RXILVL, 2, 3) FIELD(FIFO_CTRL, TXILVL, 5, 2) -REG32(FIFO_STATUS, 0x20) +REG32(FIFO_STATUS, 0x24) FIELD(FIFO_STATUS, TXLVL, 0, 5) FIELD(FIFO_STATUS, RXLVL, 16, 5) -REG32(OVRD, 0x24) -REG32(VAL, 0x28) -REG32(TIMEOUT_CTRL, 0x2c) +REG32(OVRD, 0x28) +REG32(VAL, 0x2C) +REG32(TIMEOUT_CTRL, 0x30) static void ibex_uart_update_irqs(IbexUartState *s) { From patchwork Thu Jul 15 07:16:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379169 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93C05C07E96 for ; Thu, 15 Jul 2021 07:26:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4548261374 for ; Thu, 15 Jul 2021 07:26:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4548261374 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vlc-0001Cj-9Z for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:26:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34162) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcI-00060K-TF for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:07 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27205) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcH-0003VO-4M for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333425; x=1657869425; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cGua8vSKOZZ/PPn1kCw33FiPKJInMTSE/ByicFl93Ro=; b=UShcAoXJuC8G84qlg15CPywwsVLQZ4YNJa13/gnw7qwz6AVXCZiIW6fn /EV4mRF4L4byQudmX/FknRSCdSRL73wS5c3OkxH86iHeJ2U/NX6doYctK pGJV+2jpT7TI6+xA2k+udR5gUSta9Z7efUKJmpNUIZ0gdpxBAu2W8Vdw1 uHVTvcmrcjBZOAv3+uBXAI/Nrq+xSCx42cId9JARhR4qCFZ3xisKhcJQj 89Yh87VjnjfCzCIyqkk3/b05BnFJ0yPKYLrrlLeXHsjMjLDFi2x0HuTqm Ma+Rdpt3dc7opG9yR0HKMWUxcpMZDrjIg59dPbwj6wp2yzsXm0sLwCb6g Q==; IronPort-SDR: aK8uldllOPvq1YmKiQCPJuEGQtpkgzkc9lLcgynE5qtkarlXQ9ip+VwEn8bZxFqvUB5xV5N5HA QhlcqVXqCXqDlta0a4eyI6AVbRYEwhZTwDTIYUkiGrgtWBgI4Jp1MQ/T9kHzJfYXvz6kegooQg DKrMBcHGUoWF8DVhK3du91M3C4MeEbdgCFwH4GXuNRhb71c1ca8eo0o+LjIVruYXxdtXzdt6nR FwFpVHI8BQQauZHI500y64vcLxb+75pOR6I4RqmKOeA5gDoZkSL8WOCdgx7VejeOTSr0TsHeqJ F/4= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212309" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: AFbuI/Mh9+aSo2f5vvuvXVnkjrQpjweuU3144nky8xCOtsPB4Ml6jD+ECswoaWMVf8877Jj2rp Dq9axwUBaZgwtNwVB/HmMGyn5NGANNRg36aUXXX02cyFlkKx500eQBalh6HoEKQLMu9sd2DvVL kLWOwYXNP1FcpfQoTi/9hQXz974VRPVhnODaKw4NhVAPp3rPe/PFZYy8AJnf1fbpvx1dyOCmW2 440J5c5tenxMihWNR7UxymE6tg9TIliKsHq1bZedmyPh0y02bucxmyUacSPc/m2Y4UUYEOL5V0 K6nSAC1VwIWzGbvaxPwTVn7l Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: fY7OVQ/+njX9P+Z6iDLpAfxbQgAia+FBl6LJyzCnkXqbnIXf3Pz6WRU0sMV3f1hZu9vTUy1hTG Lc67mTm+knO+iUCi8TspXUfEi2PDM1qqpcyUktLqR9fTEeXiB2o6jaDqZas2UjjazGJb+i4fqC 4cTGAEdvWWdkaPxtEyP7jigQOhOEPmn6SgcOXOXVcOvOaEzfmuSCjVEBDDxRZ7Up/WAW+sAH42 r+R1scFghe+9gTu+qltSu4+5RBIUwESY2FsPJFy+LwhzoPOh5QVy8WLe8TQ6E/ERlx27dHy21S IrI= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:43 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 10/12] hw/riscv: opentitan: Add the unimplement rv_core_ibex_peri Date: Thu, 15 Jul 2021 00:16:38 -0700 Message-Id: <20210715071640.232070-11-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Message-id: ed707782e84118e1b06a32fd79b70fecfb54ff82.1625801868.git.alistair.francis@wdc.com --- include/hw/riscv/opentitan.h | 1 + hw/riscv/opentitan.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/hw/riscv/opentitan.h b/include/hw/riscv/opentitan.h index 86cceef698..a488f5e8ec 100644 --- a/include/hw/riscv/opentitan.h +++ b/include/hw/riscv/opentitan.h @@ -81,6 +81,7 @@ enum { IBEX_DEV_ALERT_HANDLER, IBEX_DEV_NMI_GEN, IBEX_DEV_OTBN, + IBEX_DEV_PERI, }; enum { diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index c5a7e3bacb..933c211b11 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -58,6 +58,7 @@ static const MemMapEntry ibex_memmap[] = { [IBEX_DEV_ALERT_HANDLER] = { 0x411b0000, 0x1000 }, [IBEX_DEV_NMI_GEN] = { 0x411c0000, 0x1000 }, [IBEX_DEV_OTBN] = { 0x411d0000, 0x10000 }, + [IBEX_DEV_PERI] = { 0x411f0000, 0x10000 }, }; static void opentitan_board_init(MachineState *machine) @@ -217,6 +218,8 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_soc, Error **errp) memmap[IBEX_DEV_NMI_GEN].base, memmap[IBEX_DEV_NMI_GEN].size); create_unimplemented_device("riscv.lowrisc.ibex.otbn", memmap[IBEX_DEV_OTBN].base, memmap[IBEX_DEV_OTBN].size); + create_unimplemented_device("riscv.lowrisc.ibex.peri", + memmap[IBEX_DEV_PERI].base, memmap[IBEX_DEV_PERI].size); } static void lowrisc_ibex_soc_class_init(ObjectClass *oc, void *data) From patchwork Thu Jul 15 07:16:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379167 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 29A7FC07E96 for ; Thu, 15 Jul 2021 07:25:57 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD89E6128B for ; Thu, 15 Jul 2021 07:25:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DD89E6128B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:59562 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vkp-0007Bi-Vr for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:25:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcK-00061M-8N for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:08 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27213) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcI-0003aa-45 for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333426; x=1657869426; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=z/ClrNoVNTB6Ni1MIH2PRYQ8QXs+hHuddAsSsBZMUC8=; b=VZKhMe/LebdQLxWx7XyNMt7lXDJBADIWMeO/EKElBdHPWEeGhlEGE7ma KS82+UO2wt9pzkaQuFeKURhHla5En6e33/96uxu0WRZG3IyU7xeh2HVX6 JndLLDhXAtokK0//quiK8czqbWws4G93Oe5jzDd/qWzgax8kq1jmuBhK9 jDfhwVm75nACqt5Chvk9dplS/GRGc7zaC/w3RU6xWucaNryVx2FlK6rWi nUsaUJ+48ENawzVp0YGYHEvQ2wofEE1zoddEIjwG/9jDf0SzLGcJYea1M Ec9NTOo8JNM2/jVKZT58YICNkoVNlXdYmzO35wGJA6a9PKmjMmZmpu+Yk A==; IronPort-SDR: j/1IhWNL7x5PLKIlmEXvJrbxF1LvtkTq0RQisSmDjdi5mErB3HoFHtivlCKh9I1YsCSSh76mdN JhGv3rWkwZj7+mUO2B9nEK0bKUXtUeNCfcRMfc5b5K46aYDZij6D/vJ7xr1XnEcMtER90jr5+A I9LrRQrkI6t8kTA8gZLxR4Y2rHfH7wvfJV/WXkFUvj9qLEFxjAKMUdAMwH+KTeH8OjZHt7ns6+ +ebsDv9uaGIMyAgO6KaosqDLOfBvt0rP1BMA2X9UZE6rOd3cS9rQ/930sxj49c/Ne/R6D1i4Pb uiY= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212310" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: iyXw9OEgwdS+ZB4x6ltQA6eBK0idLDoN1GbsxogxB1MYRYG0KgoFU8z2CT3+tWIa/KDFaLF+4w 4Qscx4lOi0ji6gR1ci7fZCuatHjPAjVlIn86BNG1sssikSj1poVzikofaWjMeOtLwlRGjYPkIW S2o+SIgiBW5SWJDpsJLMimVuB0+NS9y6oOftAkuXudnDLJgCEEt57cNG1xkosFdlw7JVBoFJnG ypAO74BnWkqD2Y63ZBUW2p13ThlZ2WK9bkH4A6u/0Mu+d/tj3HMTe7jY9AjfyibntKmjc0hLZR 3NNC3oSq4typPerwh7l0p8at Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:45 -0700 IronPort-SDR: ySomnvEeJZ4ZjTyLSzIIvMFdZing+h0DOLNFDlus0Q06GpLHiAxAzv7eSNeh/JLkY3AsmT3pVO +VKkwjdIBrd/t5GKxO5sEYRIfR2ogoAfkEB0NYOgkES4eBGq6Hmdnbe8VXAMquQOpL5BJriEbf SFIItMJYcG37F7M+6QNgh/OfI+HckbybPY5TULN6WXz41qSgkmgtZeEubejuuJGp04gTKssl+n W3ClvMRNxn8AVszR5WFzg60WhyU+DDQJrRc5Kew7xR7Xqf/upu83ojv6L7U15I9AWieT6wR+Sq 2O4= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:44 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 11/12] hw/riscv: opentitan: Add the flash alias Date: Thu, 15 Jul 2021 00:16:39 -0700 Message-Id: <20210715071640.232070-12-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" OpenTitan has an alias of flash avaliable which is called virtual flash. Add support for that in the QEMU model. Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Message-id: c9cfbd2dd840fd0076877b8ea4d6dcfce60db5e9.1625801868.git.alistair.francis@wdc.com --- include/hw/riscv/opentitan.h | 2 ++ hw/riscv/opentitan.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/include/hw/riscv/opentitan.h b/include/hw/riscv/opentitan.h index a488f5e8ec..9f93bebdac 100644 --- a/include/hw/riscv/opentitan.h +++ b/include/hw/riscv/opentitan.h @@ -40,6 +40,7 @@ struct LowRISCIbexSoCState { MemoryRegion flash_mem; MemoryRegion rom; + MemoryRegion flash_alias; }; typedef struct OpenTitanState { @@ -54,6 +55,7 @@ enum { IBEX_DEV_ROM, IBEX_DEV_RAM, IBEX_DEV_FLASH, + IBEX_DEV_FLASH_VIRTUAL, IBEX_DEV_UART, IBEX_DEV_GPIO, IBEX_DEV_SPI, diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index 933c211b11..36a41c8b5b 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -59,6 +59,7 @@ static const MemMapEntry ibex_memmap[] = { [IBEX_DEV_NMI_GEN] = { 0x411c0000, 0x1000 }, [IBEX_DEV_OTBN] = { 0x411d0000, 0x10000 }, [IBEX_DEV_PERI] = { 0x411f0000, 0x10000 }, + [IBEX_DEV_FLASH_VIRTUAL] = { 0x80000000, 0x80000 }, }; static void opentitan_board_init(MachineState *machine) @@ -134,8 +135,13 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_soc, Error **errp) /* Flash memory */ memory_region_init_rom(&s->flash_mem, OBJECT(dev_soc), "riscv.lowrisc.ibex.flash", memmap[IBEX_DEV_FLASH].size, &error_fatal); + memory_region_init_alias(&s->flash_alias, OBJECT(dev_soc), + "riscv.lowrisc.ibex.flash_virtual", &s->flash_mem, 0, + memmap[IBEX_DEV_FLASH_VIRTUAL].size); memory_region_add_subregion(sys_mem, memmap[IBEX_DEV_FLASH].base, &s->flash_mem); + memory_region_add_subregion(sys_mem, memmap[IBEX_DEV_FLASH_VIRTUAL].base, + &s->flash_alias); /* PLIC */ if (!sysbus_realize(SYS_BUS_DEVICE(&s->plic), errp)) { From patchwork Thu Jul 15 07:16:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 12379171 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 757D6C47E48 for ; Thu, 15 Jul 2021 07:27:58 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C2136128B for ; Thu, 15 Jul 2021 07:27:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C2136128B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37522 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3vmn-00032F-5u for qemu-devel@archiver.kernel.org; Thu, 15 Jul 2021 03:27:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcM-00065E-SG for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:12 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:27200) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3vcJ-0003UP-1d for qemu-devel@nongnu.org; Thu, 15 Jul 2021 03:17:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1626333427; x=1657869427; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=W42T9tCGl/VZPfz3tvGyGRPlXKy+CcWqs/dXc2q7Ppo=; b=NKPxtVBkkLcGrkuDNPzxVm03dn3DOfqqwccMefgC7xrPHAWsJQr3x7Fu zIm+VqQ/OtykrstFTPACBOij1rqdRF8xxc9Iqy31NDo8GtTwtx0uynlpx IHSsJB5v56pFKdT3ANxzSEnp8mlW76xIeahHlT9UtFKjHB398nUk3nnFT 6bqbjXk1yDmfc9W3KG4kv68q1OTgnt33gXPWmOT/98Toa9TnbxeeRBeiE QdD+c3SUjoZgiLIsj296SvWkl4nRTEYOwChGOFAnB7UbX3HNO+jr/GSyY P6qd/7BBHTCRqSX4gJ/YSp18y1W+tuADhQhbesn4LSVzYkFr71XI/VsvM A==; IronPort-SDR: t8ZFm/KKVHeTFqs25mecyTKKhmmBbfziUIg9vFFUSvVSemiTFdmRB2uNt6QUalsvgg6OICKiHe /5kxv781EOwLllp9PMAQeX8hR3DKncDuYWxF5iL0nh9VFlgQ8AAruA2WOIvdy2Jsu1dhPSw0+A CFmKgiqgam9RH3Yq87lXPNHqiz2bX9YMTVRWiauj+26wxteaOhnJ2PIosQdLRvuJEvODyZWX/1 2VetnCAJz6nG8QzofcKOoZ2TDA/UVrxjmOxgWqbLNYAQbW5vq09xpkg0CYqMn+tiGc/yCbvGKK hQg= X-IronPort-AV: E=Sophos;i="5.84,240,1620662400"; d="scan'208";a="175212311" 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; 15 Jul 2021 15:16:43 +0800 IronPort-SDR: NklwrFWerG3SjhPaW0Tdm9B+5ssc4zWD9JZ+EdDS6PdT3v+LLhe+uQofwiJx87rqKVrWjdr/U0 MvMZzEFgg3+f4eI1LTgm8aSgYJJWksU30z9LO3TiCy0eJz5RMcC6PLGvXpTpSdyN50Tt2Gu6Ay pPXyE3yA2pMvoFWAmszMUCcdGxYlwPqE+cDhYcJzHALn7a4Pw/N5iGCmLFEn66dwx+FzQGBqCO BAWT2QJYepFs8eBLERMB0YbojK9Z4fKqlLywELUbdfysNPbTGZghutvUCPeDRV/uJF2v6kGkho qwjVasshwVViLn/mBpxtoZLR Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2021 23:54:46 -0700 IronPort-SDR: jW56WcnafIJqpSvVjxtpIUvERU9SEar+a14wre2PFr7xqlw7olta8twcZ+FVjhMXpwrHfeSGfo UPlv9Gjz4uw86cmCclGdrvfvZkzbnvHB1SE+CS3MrGcTzf4uKgMD0hO8eIxg1UfwI5VLNt/Qyq rShM6f3bLlWLEvhid9auExZaC5dLCT/wn4jwCm+XutN67OqODaOnv3J7Em4M8KUA1Dz9NyNtFx wswV9rw3+p68MzewRG5mvfW97UTphWUU7wQs83qQB9ICqwt0nF5YxQpcTMgCmHgHUa7WiIJpQy Ukg= WDCIronportException: Internal Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.248]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Jul 2021 00:16:44 -0700 From: Alistair Francis To: peter.maydell@linaro.org, qemu-devel@nongnu.org Subject: [PULL v2 12/12] hw/riscv/boot: Check the error of fdt_pack() Date: Thu, 15 Jul 2021 00:16:40 -0700 Message-Id: <20210715071640.232070-13-alistair.francis@wdc.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210715071640.232070-1-alistair.francis@wdc.com> References: <20210715071640.232070-1-alistair.francis@wdc.com> MIME-Version: 1.0 Received-SPF: pass client-ip=216.71.154.45; envelope-from=prvs=8230c157d=alistair.francis@wdc.com; helo=esa6.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, RCVD_IN_MSPIKE_H2=-0.001, 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: Bin Meng , Alistair Francis Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Coverity reports that we don't check the error result of fdt_pack(), so let's save the result and assert that it is 0. Fixes: Coverity CID 1458136 Signed-off-by: Alistair Francis Reviewed-by: Bin Meng Message-id: 07325315b49d5555269f76094e4bc5296e0643b9.1626303527.git.alistair.francis@wdc.com --- hw/riscv/boot.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 0d38bb7426..993bf89064 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -182,7 +182,7 @@ uint32_t riscv_load_fdt(hwaddr dram_base, uint64_t mem_size, void *fdt) { uint32_t temp, fdt_addr; hwaddr dram_end = dram_base + mem_size; - int fdtsize = fdt_totalsize(fdt); + int ret, fdtsize = fdt_totalsize(fdt); if (fdtsize <= 0) { error_report("invalid device-tree"); @@ -198,7 +198,9 @@ uint32_t riscv_load_fdt(hwaddr dram_base, uint64_t mem_size, void *fdt) temp = MIN(dram_end, 3072 * MiB); fdt_addr = QEMU_ALIGN_DOWN(temp - fdtsize, 16 * MiB); - fdt_pack(fdt); + ret = fdt_pack(fdt); + /* Should only fail if we've built a corrupted tree */ + g_assert(ret == 0); /* copy in the device tree */ qemu_fdt_dumpdtb(fdt, fdtsize);