Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp1448303rdb; Wed, 20 Sep 2023 09:19:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHNHd7DH6TNxGkiYSskrqTN0U3o2/6QZfGaMv93b6bl56ZnSTKFNiFC4hFJXW7U8OtYjOtB X-Received: by 2002:a05:6a20:9752:b0:153:860e:47ef with SMTP id hs18-20020a056a20975200b00153860e47efmr2748327pzc.47.1695226797400; Wed, 20 Sep 2023 09:19:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695226797; cv=none; d=google.com; s=arc-20160816; b=g7oPzbHINnUx+QLxWjgZHMVgx/BTFx8Xfy66p+zRVHrtmSNxwi9011CD7sRmQElAQt V4Yy9nuQSPGXyB02NuTIQYXEAEFTmLvc8+6HmiDrxBUWyVPusrv5wsgtqze+dxA8CkJ+ igV8l0RMiPlh9/gedD/IDUG/f1hxD+lE0cMLGzHFdmtPjWHFo+vTMRbhBAHw5/Vnyd/k 39muL07R6eFDoejZiZ8pqpkor0Gk8l5iQTquk59PAIu2Ir9zxfuus7gUwVxAP95OMeYi d8X5WI8FRFvb45udo+oezkb+sk2FrF5jwIvWhGcxAdjk0WB2P2Z+R3IjuaZO1rbwLO6J GrJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=I/hPQ2aul6l5anqC2DYg1b33GU8acR4UMMOAz4f8qXg=; fh=+bPEwRvYNcp0BWRDulgrlTJsMRalHgU3rWVvFIZvRWc=; b=Z4ng345CbDPVjuhyZKMNczGRWdDdpJWf/+87UA3+6YrZSyxL2Ib+vKzQQeXNlN+xXc +qNYD2qmkDUhTk6w3xMEIjTVXsekTMfq6cZHjD8GpcStw5PEqqKq+hfR04RejuS3mUC6 n+0xO3j1+uFLP6Gkdc3AcmDPqWQkPbHguQHJH+hMgyFXfRz2jqO/Q1XmeUH0/Kody673 Le2kqNVF8oZbqrW29CDlEoslbbZFfgh6vTv3SWXOw5tSRo/TcwEuhNpajAzk48/K1Qe9 RXvDQhxAbYVC/MJFdi2L9boiIARaRJVd7BBt3XTza4EXbWpbVYEpJOPa5ZBiep7mCg67 t1eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=o0Gf+tWR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id s9-20020a17090a760900b00268414272d1si1821339pjk.156.2023.09.20.09.19.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 09:19:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=o0Gf+tWR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 18E09826BB90; Tue, 19 Sep 2023 22:37:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232785AbjITFhN (ORCPT + 99 others); Wed, 20 Sep 2023 01:37:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232855AbjITFhD (ORCPT ); Wed, 20 Sep 2023 01:37:03 -0400 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3625187 for ; Tue, 19 Sep 2023 22:26:17 -0700 (PDT) Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-31dcf18f9e2so6042444f8f.0 for ; Tue, 19 Sep 2023 22:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1695187575; x=1695792375; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=I/hPQ2aul6l5anqC2DYg1b33GU8acR4UMMOAz4f8qXg=; b=o0Gf+tWRogb+SbLM1tSG1E8qc0qcYjOA6p/GnF194s6vGNv8UA9uXqiz1L4XqoErLR Qmm4dH5FYiCgGfeU/uzFZBiV4GBiafgRl3NrFLUrWW4NLjg4/eawNYnUuvuyT0fqSJlL Ho16+LKwJeUzgLpaffIYtLy8MmbpX219KDE5v86W3sBfnKot5IR+CAWixAQWzDGrpbQ1 Li7balcTrfkTVOtWc3YSm07MDipAVMNYivuQQQqFEAzX4iOAuZ49zqj7YT0mktWPeYCr J6I6f9VKFQ6k3urr/MOiUSftPzLhV5OSHw/8nq9W/v07wpyj73xI+6V92/PTkOUWTVzL +AEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695187575; x=1695792375; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I/hPQ2aul6l5anqC2DYg1b33GU8acR4UMMOAz4f8qXg=; b=gk2myUbBIjSZcijnqYHQUYfQn7xp0zP371Yr/cXRaKof2AkBB5k6MI9SdcZwo5NSCg 6sdGKvADSO3hQbS2fYh1h7eWZUIt+b32T37dSo5ZbCT79whjlfsgcktWQ5KPXjSwgn+G P960nJvonKPY5Djarg7DyCbThA/HbeqeoozVDhlOV1ZHiMxrAtCnPcPWbGL30+Dk4fIS 7NUO7yWFcxUYk3X8kYo10T8EVWBJBEgKKopiC0Xb0jj9i313Nt7Y+nzhRacM/hKY0iDE m3J3qbBET76LqJ6cAb5EzhGfq+QiQtiKoxX5WFZHwcVG96XvUQIc3+6dYfWy8+6vKRKM kdmw== X-Gm-Message-State: AOJu0YwNcBRIqNGzQXoYtAwi3LID6MtDHskV+N8pc2t2ONARD8UkzoW8 7DRh5fZv2StLvqlCfz1jH5gIfw== X-Received: by 2002:adf:dc8f:0:b0:321:5d9f:2d9f with SMTP id r15-20020adfdc8f000000b003215d9f2d9fmr1348682wrj.47.1695187574848; Tue, 19 Sep 2023 22:26:14 -0700 (PDT) Received: from localhost (cst2-173-16.cust.vodafone.cz. [31.30.173.16]) by smtp.gmail.com with ESMTPSA id g10-20020adff3ca000000b003200c918c81sm9574162wrp.112.2023.09.19.22.26.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 22:26:14 -0700 (PDT) Date: Wed, 20 Sep 2023 07:26:13 +0200 From: Andrew Jones To: Atish Patra Cc: Anup Patel , Paolo Bonzini , Shuah Khan , Palmer Dabbelt , Paul Walmsley , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH 4/4] KVM: riscv: selftests: Selectively filter-out AIA registers Message-ID: <20230920-d9e483ee61b25b834af160bb@orel> References: <20230918180646.1398384-1-apatel@ventanamicro.com> <20230918180646.1398384-5-apatel@ventanamicro.com> <20230920-bc0e3956d144be651727e252@orel> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230920-bc0e3956d144be651727e252@orel> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 19 Sep 2023 22:37:13 -0700 (PDT) On Wed, Sep 20, 2023 at 06:48:11AM +0200, Andrew Jones wrote: > On Tue, Sep 19, 2023 at 01:12:47PM -0700, Atish Patra wrote: > > On Mon, Sep 18, 2023 at 11:07 AM Anup Patel wrote: > > > > > > Currently the AIA ONE_REG registers are reported by get-reg-list > > > as new registers for various vcpu_reg_list configs whenever Ssaia > > > is available on the host because Ssaia extension can only be > > > disabled by Smstateen extension which is not always available. > > > > > > To tackle this, we should filter-out AIA ONE_REG registers only > > > when Ssaia can't be disabled for a VCPU. > > > > > > Fixes: 477069398ed6 ("KVM: riscv: selftests: Add get-reg-list test") > > > Signed-off-by: Anup Patel > > > --- > > > .../selftests/kvm/riscv/get-reg-list.c | 23 +++++++++++++++++-- > > > 1 file changed, 21 insertions(+), 2 deletions(-) > > > > > > diff --git a/tools/testing/selftests/kvm/riscv/get-reg-list.c b/tools/testing/selftests/kvm/riscv/get-reg-list.c > > > index 76c0ad11e423..85907c86b835 100644 > > > --- a/tools/testing/selftests/kvm/riscv/get-reg-list.c > > > +++ b/tools/testing/selftests/kvm/riscv/get-reg-list.c > > > @@ -12,6 +12,8 @@ > > > > > > #define REG_MASK (KVM_REG_ARCH_MASK | KVM_REG_SIZE_MASK) > > > > > > +static bool isa_ext_cant_disable[KVM_RISCV_ISA_EXT_MAX]; > > > + > > > bool filter_reg(__u64 reg) > > > { > > > switch (reg & ~REG_MASK) { > > > @@ -48,6 +50,15 @@ bool filter_reg(__u64 reg) > > > case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIFENCEI: > > > case KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_ZIHPM: > > > return true; > > > + /* AIA registers are always available when Ssaia can't be disabled */ > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(siselect): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(iprio1): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(iprio2): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(sieh): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(siph): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(iprio1h): > > > + case KVM_REG_RISCV_CSR | KVM_REG_RISCV_CSR_AIA | KVM_REG_RISCV_CSR_AIA_REG(iprio2h): > > > + return isa_ext_cant_disable[KVM_RISCV_ISA_EXT_SSAIA] ? true : false; > > > > Ahh I guess. you do need the switch case for AIA CSRs but for ISA > > extensions can be avoided as it is contiguous. > > I guess we could so something like > > case KVM_REG_RISCV_ISA_EXT ... KVM_REG_RISCV_ISA_EXT | KVM_RISCV_ISA_EXT_MAX: > > for the ISA extensions. > On second thought, I think I like them each listed explicitly. When we add a new extension it will show up in the new register list, which will not only remind us that it needs to be filtered, but also that we should probably also create a specific config for it. Thanks, drew