From patchwork Mon Jul 26 12:59:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1510008 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=c+GaKcFN; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GYKlb3DDxz9sj5 for ; Mon, 26 Jul 2021 23:00:11 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 957C483326; Mon, 26 Jul 2021 14:59:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="c+GaKcFN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 29E9283320; Mon, 26 Jul 2021 14:59:48 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6B5F583327 for ; Mon, 26 Jul 2021 14:59:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1627304352; bh=BSMEatQKDWNKc3a9p5NLRqI2uPAhJqF1tr6npPENtA0=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=c+GaKcFNMqgwcCFtg7qXz8OemN1MsxxT3V/ZRZgwQvKhJ2C76HHb9nm+z0VVoI2e7 8sjA+yOUueWyy4i7hfhEYTABWkIu2luoAI4055935KTXmWFr84OH0iXBMsPun1P/lx 4b6ndod4TXOaEEgmyQS3bB3lEp2N9z2w7V/yG4OE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation.fritz.box ([88.152.144.157]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MRCOK-1lkxZk1JKu-00NAN0; Mon, 26 Jul 2021 14:59:12 +0200 From: Heinrich Schuchardt To: Rick Chen Cc: Leo , Heinrich Schuchardt , Bin Meng , Pragnesh Patel , Atish Patra , u-boot@lists.denx.de, Sean Anderson , Heinrich Schuchardt Subject: [PATCH v2 1/2] riscv: add missing SBI extension definitions Date: Mon, 26 Jul 2021 14:59:03 +0200 Message-Id: <20210726125904.90305-2-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210726125904.90305-1-xypron.glpk@gmx.de> References: <20210726125904.90305-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:i+ukmPE4FsYUdYPvWHWmqTwiX6tlw1yacj7VK4ya5zp62DoHnAE Z+gDGogxRI/BA2n9eXt5MWY2HN7+Ur7cHc/+gseLX2K1qW4GFuinFN+jXdRhBaJw//vVX7F uOskfdbfSCVs9brjeh13PBQoim6VsIRG6K1h41o2PAE+VLAUdbwkjFNjhyEK0uOVDGkMtgV vhJ7nl24cQAJ+On/ySwlQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:pwoXeYibN2A=:ZjUD0q8poErKe8Tm/DeWV8 HsuzfHnIt+Acsbtg8qlEmCcKoZIDztkiRb6AOO+JvGP36Q541FNAFwslkfQQlJAvnJZsuMAQA H9JpKPwYRQK3OqNviXaxm8tf7Tsh3gAZHEmmb3hT4GMqoEkhM01upUzP2Qnm0JpU4vjhqmtG5 p7SxhBzEKv/2cpnaK19Uu7myz5Qkls1hgIJBDHq1pALWFV/zAJH3qjK7kobNhFtIXIm8OJaCA 2cDQUOpWi2JETTuCK4IGHdH4r5OMtpZcfKnigADDKv/VcG5Tur9dX3YnpR0ND4a7TN+/LVDYW QZI4IuDWofj5kaF7MzLIVV9rzfDbVC8/TU4y2hhsUUdCeKrg4T3roztssW0jBuCYfeTsQ9Kwr 5W8nDXPjnJCXphvuuQexFyQko30rmA861iAxi7VOQeUb+ce+6M+Joj3I145tzcRnJ5VV7GnAm s8YHkigYTHrbiwirOQyFQRtqoiOffPcY46Ua2Sc+wKU73StqhoK1/PRw4y5bX41rnenbqg5Nb GJ5H8hgM41G6jIKeKoztZgxv0b06S3Er/G/H/z9+3Dr9JF5NIBeYOavEWBB/yF+I6rVP1xEoK zJ/1Y8oZllCGcKzA7EShcFcbuJT+nECIjigq2wlFSltLpHOdoAEvxOU62iDAB+ucnob8+4ssx m8DPDwJ87HicLjttzygYRaLI/kfmCOzdu8GoRVPpvJDHqmrojVLfIeZkzGd1UfoQnswa7B7Ta aWhGziH9PN5gDmzRPTkP7iqXMvQJJclG2mT/7RsECK4MHwWEot3in89H8+G3sYAAwN2L1VhmP NjnUyItL1SkNjHzCnto9ndu06LDOMmjGGZTyitrEnJrDa4sq3AEz8QX4BQhO2Z6eZc0sPqBW3 1fjHBPPL6zTihiodnm+7KTev+VAOBpdz3tw44ai62+Qdiq00H9j8o0ahLNiNIQqYJtkyo1XwQ xeHBXmelEmYGSHof2hlKsfGheuNCjysTsDsmoKC8bL/HZM6LnmzcaOjahQIufSXLzF+18OlHu 7WVNDxgd2m01kpTnWYvDU3rcrtGG2Rssk86vpEU6hoMwzEJ4ndYfj4SiGeExiNdOpR10aoTcw 8fx5WDSh4I9sn9G+autpjOQHiGDnWpXRkuf X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add the System Reset Extension and the Hart State Management Extension definitions. Add missing RFENCE Extension enum values. The SBI 0.1 extension constants are needed for for the sbi command. Remove an #ifdef. Cf. https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc Signed-off-by: Heinrich Schuchardt --- v2: Add constants for hart suspend and resume. --- arch/riscv/include/asm/sbi.h | 39 ++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) -- 2.30.2 diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h index 53ca316180..34a115afc3 100644 --- a/arch/riscv/include/asm/sbi.h +++ b/arch/riscv/include/asm/sbi.h @@ -12,7 +12,6 @@ #include enum sbi_ext_id { -#ifdef CONFIG_SBI_V01 SBI_EXT_0_1_SET_TIMER = 0x0, SBI_EXT_0_1_CONSOLE_PUTCHAR = 0x1, SBI_EXT_0_1_CONSOLE_GETCHAR = 0x2, @@ -22,11 +21,12 @@ enum sbi_ext_id { SBI_EXT_0_1_REMOTE_SFENCE_VMA = 0x6, SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID = 0x7, SBI_EXT_0_1_SHUTDOWN = 0x8, -#endif SBI_EXT_BASE = 0x10, SBI_EXT_TIME = 0x54494D45, SBI_EXT_IPI = 0x735049, SBI_EXT_RFENCE = 0x52464E43, + SBI_EXT_HSM = 0x48534D, + SBI_EXT_SRST = 0x53525354, }; enum sbi_ext_base_fid { @@ -51,6 +51,41 @@ enum sbi_ext_rfence_fid { SBI_EXT_RFENCE_REMOTE_FENCE_I = 0, SBI_EXT_RFENCE_REMOTE_SFENCE_VMA, SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID, + SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID, + SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA, + SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID, + SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA, +}; + +enum sbi_ext_hsm_fid { + SBI_EXT_HSM_HART_START = 0, + SBI_EXT_HSM_HART_STOP, + SBI_EXT_HSM_HART_STATUS, + SBI_EXT_HSM_HART_SUSPEND, +}; + +enum sbi_hsm_hart_status { + SBI_HSM_HART_STATUS_STARTED = 0, + SBI_HSM_HART_STATUS_STOPPED, + SBI_HSM_HART_STATUS_START_PENDING, + SBI_HSM_HART_STATUS_STOP_PENDING, + SBI_HSM_HART_STATUS_SUSPEND_PENDING, + SBI_HSM_HART_STATUS_RESUME_PENDING, +}; + +enum sbi_ext_srst_fid { + SBI_EXT_SRST_RESET = 0, +}; + +enum sbi_srst_reset_type { + SBI_SRST_RESET_TYPE_SHUTDOWN = 0, + SBI_SRST_RESET_TYPE_COLD_REBOOT, + SBI_SRST_RESET_TYPE_WARM_REBOOT, +}; + +enum sbi_srst_reset_reason { + SBI_SRST_RESET_REASON_NONE = 0, + SBI_SRST_RESET_REASON_SYS_FAILURE, }; #ifdef CONFIG_SBI_V01 From patchwork Mon Jul 26 12:59:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1510009 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=huQmyNNK; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GYKlr3XJbz9sX3 for ; Mon, 26 Jul 2021 23:00:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4E7D883314; Mon, 26 Jul 2021 15:00:07 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="huQmyNNK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3F9108331B; Mon, 26 Jul 2021 14:59:47 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EAF2B83324 for ; Mon, 26 Jul 2021 14:59:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1627304352; bh=TMJmhPzBdDuP+q5HKv2vhiuzGCZ66Ihc8KzTr/sf4ZU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=huQmyNNKsbsVzyYrU9OY/LCFk0rivCh1EzTAIRw1DiKiV9m9F2KKanzKuJMBWHaUf Bv0DlnxxaWmXmVJu+9IvZofg79slsKIbuI2wTAUHMEjxoxa8hAZiF/briNjmytReZD 0Vhssa71IdSMaQ3H3UXWby4+jRf8EAN+hI868OA0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation.fritz.box ([88.152.144.157]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MPogF-1llmWR2e39-00Mtmv; Mon, 26 Jul 2021 14:59:12 +0200 From: Heinrich Schuchardt To: Rick Chen Cc: Leo , Heinrich Schuchardt , Bin Meng , Pragnesh Patel , Atish Patra , u-boot@lists.denx.de, Sean Anderson , Heinrich Schuchardt Subject: [PATCH v2 2/2] cmd/sbi: add missing SBI information Date: Mon, 26 Jul 2021 14:59:04 +0200 Message-Id: <20210726125904.90305-3-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210726125904.90305-1-xypron.glpk@gmx.de> References: <20210726125904.90305-1-xypron.glpk@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:Aub2X6qZlvFQ2CUHSfU4BaVEFzuEqWGpH+vnOQDXbjy34Pm81zZ BBoH3SXVS6cHdEzR+nhOsxoI4Pr/+sAK/twlZ+FsAt8hjc5I2NWykhduLUvgSTOk7hxZcJo QxljyS5XeEYGaRxx7dyaf2BT8pNjIDvxRVaovJi/V04Uhd8CcsAkhloOczlQ0mdHFXPl2e2 mftoHmhcqhmjj5rT6dDhA== X-UI-Out-Filterresults: notjunk:1;V03:K0:bXgGThL6h30=:sAzBNg/3IW1K8pIWWiL+Ji nuaPUjmXq2Qshqp1NqeWPbsV/O97xQ+KFkx5+5Ze3i9Agned+vqyDwDqNshTDngXolqiJ5kAx bFSCbTkEIN6+GyxC06+2AK7RS36OrYydNYSe0BL1Ej5PwxR2mamxByMHBMgELBomFyAqrwmch nz4/gaGGryrU1WcPgK1HO1hIb9ZiVPAxZ+IXJfdR5G3gOkUPvZeNtZRAbSzXMEsdFTrN4Peax //Ukh1mH8nOCWw9zqqaqS+9PZrdOLICSuwgB0EDrx0xDApC9JVl/5suNruo7yTrnqlJQ3kyZ4 oYmE8pCM3VeZzonSl3HqyXt/nBUkgSuWcOVcTXb+33ts38kizjVc6snoCZ33ODZsD2xeKfQrZ dPvpxniftp01aqW5tH6PPAre92RKWbTV58xcK02wJL7BT3a1SeFlA5amAJaH5EbhWLgCoMHIw I/6V8OJAmAeyz8dzzoQ4w++3nnW8SC91bUoIQPnLNj293N25bcmTPzgIzrYcr+0NTkBdmwqxp EPb99UfZGN6xnPZ/M815qvCxh+TuNMwRGz4PWCDXkBm2f6qkgHrz12EOUutyAlp2/L68xhEBC oKCK5QDAC42+6AFhAOkM4K0BLjyRw62Lpu+aM3l+Lyd7ZXkiJb77C/SpoKRKMmus2dHLk5FDT msg5xqhWmh/gbxjg8vt3Sknh2QEVFaPXUE4pIQ16wCufAJMUlY9RWzWu9rjSfRH69AhcuZDam DV52skVG5KD3UocsuTPabySoz6WK/Z13E45qZigvM5HOqKc/YX4pNMgKga9S1IL97mla5FBlk r6zKVPQwSZ4p34FrnIrCylwRgQPkfsuANEKx7BdWejk5APFMXqAN61EQGHLfrefg/4+9CI/9v BsKbilVv2/hIYtl+pmOusxY9Dnet6Wva6p8obf7nNPYDsZDS19DHZ1Qq3/Al4HYUMxZSt1RcS rDN2iA1kE7uomK325JWOn0kYbMTW/sUMtmffgl3i5Dz+k3jxUIhQ4iNCAkZjJHK3OiMUdByyG 7Jr6pbx/fPYGZUV8m9Z1nAHzN9ugvEtfamhLeG6MDU7uki14hSun82BF9Sb4cJv+lkUG1GYFc 5hyvs+DbwiGJ+LQPJeROwThfAV+5M4fIwLq X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Let the sbi command display: * SBI implementation version * machine vendor ID * machine architecture ID * machine implementation ID With this patch the output for the HiFive Unmatched looks like => sbi SBI 0.3 OpenSBI 0.9 Machine: Vendor ID 489 Architecture ID 8000000000000007 Implementation ID 20181004 Extensions: sbi_set_timer sbi_console_putchar sbi_console_getchar sbi_clear_ipi sbi_send_ipi sbi_remote_fence_i sbi_remote_sfence_vma sbi_remote_sfence_vma_asid sbi_shutdown SBI Base Functionality Timer Extension IPI Extension RFENCE Extension Hart State Management Extension System Reset Extension Signed-off-by: Heinrich Schuchardt --- v2: no change --- cmd/riscv/sbi.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) -- 2.30.2 diff --git a/cmd/riscv/sbi.c b/cmd/riscv/sbi.c index 90c0811e14..c0db763ba7 100644 --- a/cmd/riscv/sbi.c +++ b/cmd/riscv/sbi.c @@ -59,13 +59,30 @@ static int do_sbi(struct cmd_tbl *cmdtp, int flag, int argc, if (ret >= 0) { for (i = 0; i < ARRAY_SIZE(implementations); ++i) { if (ret == implementations[i].id) { - printf("%s\n", implementations[i].name); + printf("%s", implementations[i].name); + ret = sbi_get_impl_version(); + if (ret > 0) { + /* OpenSBI specific version encoding */ + printf(" %ld", ret >> 16); + printf(".%ld", ret & 0xffff); + } + printf("\n"); break; } } if (i == ARRAY_SIZE(implementations)) printf("Unknown implementation ID %ld\n", ret); } + printf("Machine:\n"); + ret = sbi_get_mvendorid(); + if (ret != -ENOTSUPP) + printf(" Vendor ID %lx\n", ret); + ret = sbi_get_marchid(); + if (ret != -ENOTSUPP) + printf(" Architecture ID %lx\n", ret); + ret = sbi_get_mimpid(); + if (ret != -ENOTSUPP) + printf(" Implementation ID %lx\n", ret); printf("Extensions:\n"); for (i = 0; i < ARRAY_SIZE(extensions); ++i) { ret = sbi_probe_extension(extensions[i].id);