Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp4538047ioo; Tue, 31 May 2022 06:39:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz1aUy2NXbOAi/5tfs/V1yZkWf8FF4YbDB4H7UaXNTbaSnIy84LZHY5sAdg99kuAQED/wbH X-Received: by 2002:a17:902:a988:b0:158:9877:6c2c with SMTP id bh8-20020a170902a98800b0015898776c2cmr61557586plb.80.1654004380466; Tue, 31 May 2022 06:39:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654004380; cv=none; d=google.com; s=arc-20160816; b=Rv5x++IZXZplRHElwrcTJNf/JCeWIx0FAXrzG+Ondt0PZ4i2bSxjiScI+o7EphDil4 UaOVdc5pbiF9nRFqwshB66uUeY8a2Li+avfdWlZxiSg5WK5+q0//tIBW9d08sYzYy8eQ vPsD3SBh+cz/tigQOg7t2j+YgB4VWgY+t6GFrE7HBJ8ql6risgpJdWV99++9gtBTOihx QwEBeWu4Zi3ikmxENN6tBYBO1GfPmwDCw6Ls4v5ft23gdzeh+VTsWBvHd55FmE77ciQg J3Qhoqz6hV+E88Q+kTp07SAWW7I6Yqh80otJbSCbw/sxrGLKFzAfYIM0x0BQRNG+43Vm xYNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=xgeGj4fJm/gjUi6c3f/PZ9X31QJWQoEDbT23yLh0YCY=; b=XGre10FeOmTS06W1Qk5R7IK0UxvUFgU6Yc3LVImYE4Yy9qRrc9AxRS5q+H1rAYzEV8 4uswfQVS/VtEd2vEc3S5wdog13qgS+OnOedaqJQJeWlgz7kuWa7U3HIay3ytnVkLZYWW ndA7xsuCCv7gcXuA+NxL4TShLF6UyLg49hVNT/vgJxA0TX6s4WH1bov1BV/bXmEkA3tS TJZMU1U75H/2wN///IkYR23hoyVxXPYCpzSsmHlJCZTW5R08VNU9ufJIKHWxILQLS7eX v/dj+UP2cA9QliNI9R+PBPp7qLVH+BddTwV23akSdAjic6BlLBFXiwSJvZsqDc76QLwV c8hA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=GSi9i2Gl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 5-20020a631145000000b003f25729acd4si20564843pgr.555.2022.05.31.06.39.27; Tue, 31 May 2022 06:39:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=GSi9i2Gl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241015AbiEaAMr (ORCPT + 99 others); Mon, 30 May 2022 20:12:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231827AbiEaAMp (ORCPT ); Mon, 30 May 2022 20:12:45 -0400 Received: from mail-oa1-x32.google.com (mail-oa1-x32.google.com [IPv6:2001:4860:4864:20::32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 19A7014D2B for ; Mon, 30 May 2022 17:12:44 -0700 (PDT) Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-e656032735so16294584fac.0 for ; Mon, 30 May 2022 17:12:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xgeGj4fJm/gjUi6c3f/PZ9X31QJWQoEDbT23yLh0YCY=; b=GSi9i2GlvMBOMRlJgddzYlSNUxeTrGP/hQe/QsXSv/F762DylxoFQ1R4bVvIuV89Y0 TcE8yd7feusR1IwYrckeS7V8JtSBqZivtmqItg7FWonSHtcJIvG/mBSs2ze45+LT8Vve AGgZr9JVzkXeNlVhxSPT8t+AffO8fxHFySTdsfJjIAvdG+QuuXU55QgicTcYNdgKBUFv nx6KiSiME5flpoCbpXOlJ4JCfBATQgKVL0a9krVVk9dy2EiuYK8nD9jxmAuIbjJYS42C 0ISg3Z1qKMZeELAY7xfGIguX481uXHs21dLqatKzRarVotbJrK+h7InXeP3LLAoK2Vzu sjnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xgeGj4fJm/gjUi6c3f/PZ9X31QJWQoEDbT23yLh0YCY=; b=UpLguWd3Py9HZKWt/l64jh30QE0eTU9TCZ4LB4YZp6VnNcQAxdaAAPVSu5oqpVKam0 m82F7DMNg0H4a1GOOCBdYyMJwiJj8ScgKlvueZWKq6w8iV0wZd94vT9r/Cxp2qAsTniP ERISCGyqAAUMdlAwX+00mXF/1zPc+s0AR2JC3uGx1YjNLq2fQzD2DQrtBvQ0MXOWzR6y cdAo0xkW4GYXjXc7SskE+sp0ecj2WGIHmF27k01bfNoDm13w5Zgna08GVf8B9TRImvCk qSaZWVkB0/8W7lrxvYeM1pmwoqbSNGOZeeWtkwkzks9WMIN7kevCMyN40v1Eqls7FNdL +ppw== X-Gm-Message-State: AOAM533HaU9sfsA0VP9wOC/hx7OmkYmsVqka9x8cwOGcEjD99CcrpKmH DppjzX7JbUV0fwPqYzHR/wR3OkAX9coT8dv0RPU= X-Received: by 2002:a05:6870:2047:b0:e9:1b34:fbe with SMTP id l7-20020a056870204700b000e91b340fbemr11937610oad.64.1653955962878; Mon, 30 May 2022 17:12:42 -0700 (PDT) MIME-Version: 1.0 References: <20220523235057.123882-1-atishp@rivosinc.com> <20220523235057.123882-13-atishp@rivosinc.com> In-Reply-To: <20220523235057.123882-13-atishp@rivosinc.com> From: Alistair Francis Date: Tue, 31 May 2022 10:12:16 +1000 Message-ID: Subject: Re: [PATCH v9 12/12] target/riscv: Update the privilege field for sscofpmf CSRs To: Atish Patra Cc: Linux Kernel Mailing List , Alistair Francis , Bin Meng , Palmer Dabbelt , "qemu-devel@nongnu.org Developers" , "open list:RISC-V" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 24, 2022 at 9:59 AM Atish Patra wrote: > > The sscofpmf extension was ratified as a part of priv spec v1.12. > Mark the csr_ops accordingly. > > Signed-off-by: Atish Patra Reviewed-by: Alistair Francis Alistair > --- > target/riscv/csr.c | 90 ++++++++++++++++++++++++++++++---------------- > 1 file changed, 60 insertions(+), 30 deletions(-) > > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > index e229f53c674d..c6105edd7a1a 100644 > --- a/target/riscv/csr.c > +++ b/target/riscv/csr.c > @@ -4012,63 +4012,92 @@ riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = { > write_mhpmevent }, > > [CSR_MHPMEVENT3H] = { "mhpmevent3h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT4H] = { "mhpmevent4h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT5H] = { "mhpmevent5h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT6H] = { "mhpmevent6h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT7H] = { "mhpmevent7h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT8H] = { "mhpmevent8h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT9H] = { "mhpmevent9h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT10H] = { "mhpmevent10h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT11H] = { "mhpmevent11h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT12H] = { "mhpmevent12h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT13H] = { "mhpmevent13h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT14H] = { "mhpmevent14h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT15H] = { "mhpmevent15h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT16H] = { "mhpmevent16h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT17H] = { "mhpmevent17h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT18H] = { "mhpmevent18h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT19H] = { "mhpmevent19h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT20H] = { "mhpmevent20h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT21H] = { "mhpmevent21h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT22H] = { "mhpmevent22h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT23H] = { "mhpmevent23h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT24H] = { "mhpmevent24h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT25H] = { "mhpmevent25h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT26H] = { "mhpmevent26h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT27H] = { "mhpmevent27h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT28H] = { "mhpmevent28h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT29H] = { "mhpmevent29h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT30H] = { "mhpmevent30h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > [CSR_MHPMEVENT31H] = { "mhpmevent31h", sscofpmf, read_mhpmeventh, > - write_mhpmeventh}, > + write_mhpmeventh, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > > [CSR_HPMCOUNTER3H] = { "hpmcounter3h", ctr32, read_hpmcounterh }, > [CSR_HPMCOUNTER4H] = { "hpmcounter4h", ctr32, read_hpmcounterh }, > @@ -4158,7 +4187,8 @@ riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = { > write_mhpmcounterh }, > [CSR_MHPMCOUNTER31H] = { "mhpmcounter31h", mctr32, read_hpmcounterh, > write_mhpmcounterh }, > - [CSR_SCOUNTOVF] = { "scountovf", sscofpmf, read_scountovf }, > + [CSR_SCOUNTOVF] = { "scountovf", sscofpmf, read_scountovf, > + .min_priv_ver = PRIV_VERSION_1_12_0 }, > > #endif /* !CONFIG_USER_ONLY */ > }; > -- > 2.25.1 > >