Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp17425446rwd; Tue, 27 Jun 2023 02:53:22 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ770wQhZ8gS1xoXC0e5+rMYUCUjgwbFnhJc+zG8IeMpr8aGpuJ0JuhybCFK5vT69nkTuu2e X-Received: by 2002:aa7:cb4c:0:b0:51d:8058:a7e0 with SMTP id w12-20020aa7cb4c000000b0051d8058a7e0mr5847123edt.32.1687859602064; Tue, 27 Jun 2023 02:53:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687859602; cv=none; d=google.com; s=arc-20160816; b=Bb2KCZ1JfHnQrAEQll9VGFEfET6MU7AFr7xExf8dtpT146yQyUI2Rynb2oBFwG2+YO D8FdvSo+50595oDuNWii1UlXMiBercax2lPDLjK025qGkysVHc6/GW74ggKj9P44o7Ci kiAz3+LZX4oAf6BKvoJdlOxPXqioffIJ9MNvHX6ZrqDn0X4a9C04XdFbTt3ctWBWqFDI KIDJhuK41zX+sJCcYIjG008BtGSfTFOeQnswPJKNkuvK71TizyJ/y+4gl9v/GXdT7I9d Kdno7cIB2T9lryF3p2axWIvWnKuXBW/LMEhAMVsMuZi/izDsUxfBtbue6u5gTynnvewy 3x1Q== 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-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=MpzTw3E7Z1hiaRKO3mrWVuNDi99XvZiDXNO0HWAlUSI=; fh=aEbGf8qUeEKk488Y26/qrsFT99ujhDW1Yo8ewCNK21c=; b=hicy8V76JYBEUen/pIn/b/Zhg/Vj4zMrggmyJyIrt24lshLFdOAMM+BN7V2TCmTOpW ZrImnQ7xbt87ITOqYqENKqQH4RSKXQCgaQdsOh33q+O+5ZpfKdwlK8c59sbhqjIBMa44 QxDgh6E0l69ybhV/Q8BwmUAlgxDTFPHZv4jzBphEPGaa++Tomna5OC449TWvb+P0uPyA yoE6Qb9ZwHdK/017ZGb8zImSxkmqzUmkG+EZ/xWkrmpZXrgaDPwczB/2am6Bsyyd8/VZ ANSuLz6VvDGRSQ9MW0U3alTYa8jtYWxUbcL3JmUl85r0Ua4sEqSpYuu5Bt75RmBHmuim db5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ventanamicro.com header.s=google header.b=QSbolgKu; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dy23-20020a05640231f700b00518e1e668acsi3861604edb.519.2023.06.27.02.52.57; Tue, 27 Jun 2023 02:53:22 -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=@ventanamicro.com header.s=google header.b=QSbolgKu; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232099AbjF0JLq (ORCPT + 99 others); Tue, 27 Jun 2023 05:11:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231796AbjF0JL2 (ORCPT ); Tue, 27 Jun 2023 05:11:28 -0400 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 26F941FE2 for ; Tue, 27 Jun 2023 02:11:08 -0700 (PDT) Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-98e0c1d5289so370465666b.2 for ; Tue, 27 Jun 2023 02:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1687857066; x=1690449066; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=MpzTw3E7Z1hiaRKO3mrWVuNDi99XvZiDXNO0HWAlUSI=; b=QSbolgKuWBtTP13NnqwJj/MLdAunJIZ6gtz5oOH0Gk/6uu5TXD3aDKDtckngzeGNaE 1divA1wajXFvZ959P2P+ecVS56HtJWwKO5XYGX0JXEuYv6O05YsmkbaJIdCG/KL7/D10 uHEgJAb7XNFWgRbEDEIIJ4I4sZ9N739G6DGlqAlMaT5P42qCLKyHgYCbKoqfG4iTAKAx bI1OoTRkfyOhA46nTLx7ebwlkZpdnr8u5LXchC20fCpLld228zc/vEqpWyQD9aAoB47D lerSIo0JkhbQ8MVSsOZDGbfhT7fNhyaPuOcCJRfbgyLEzvbkW+Le68KX/VsjoMKN7tK9 YR3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687857066; x=1690449066; h=in-reply-to: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=MpzTw3E7Z1hiaRKO3mrWVuNDi99XvZiDXNO0HWAlUSI=; b=LJmh2LUnG523MLkEvFQxHLifp8ba6pQWBX9F8DWHk6vuSpWX8jUCItI0ZGnhow57kB MzU1KS+Ar1iviimXSIQvxRbSEeM50uzopOUGjrmpX4XAH2TgjWSPehvroxj41NZsb8Da tPGvo8UT2SjUUaqCIKuzm7zunjmdzK3UUmywbKg595uWzqTA5kLL5N9qUbaQFzUIBiij Khmu5rE5gEqW+GEMDzXzKmSrjNfbTPx/lYjZ1Wl8jZozuiHdLpSMqi9oHiePSaThBdCc thqgV5kQyhvz3TZ0yvXvz0FD1dBC3unkHjIaHXRdtgaMfDlCDFYR+DyycHdB6dGw9PBx XS/A== X-Gm-Message-State: AC+VfDyansGPcI7pIOUVFvmv47h+CroS3Yfzj7SA5Rifgp8A/ww6awJD gxGb+94ELURqQzrSoBOoYqBr+w== X-Received: by 2002:a17:906:5a59:b0:98d:f11e:4816 with SMTP id my25-20020a1709065a5900b0098df11e4816mr7286613ejc.29.1687857066569; Tue, 27 Jun 2023 02:11:06 -0700 (PDT) Received: from localhost (2001-1ae9-1c2-4c00-20f-c6b4-1e57-7965.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:20f:c6b4:1e57:7965]) by smtp.gmail.com with ESMTPSA id ox27-20020a170907101b00b00988e81e1638sm4328436ejb.92.2023.06.27.02.11.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Jun 2023 02:11:06 -0700 (PDT) Date: Tue, 27 Jun 2023 11:11:05 +0200 From: Andrew Jones To: Haibo Xu Cc: xiaobo55x@gmail.com, maz@kernel.org, oliver.upton@linux.dev, seanjc@google.com, Paolo Bonzini , Jonathan Corbet , Anup Patel , Atish Patra , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan , James Morse , Suzuki K Poulose , Zenghui Yu , Ben Gardon , David Matlack , Ricardo Koller , Vishal Annapurve , Vipin Sharma , Colton Lewis , kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev Subject: Re: [PATCH v4 09/12] KVM: selftests: Only do get/set tests on present blessed list Message-ID: <20230627-adcb173b3ee813e2e16353bd@orel> References: <47f0502d076c071260a87953cbabadfc85d278cf.1687515463.git.haibo1.xu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <47f0502d076c071260a87953cbabadfc85d278cf.1687515463.git.haibo1.xu@intel.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Fri, Jun 23, 2023 at 06:40:11PM +0800, Haibo Xu wrote: > Only do the get/set tests on present and blessed registers > since we don't know the capabilities of any new ones. > > Suggested-by: Andrew Jones > Signed-off-by: Haibo Xu > --- > tools/testing/selftests/kvm/get-reg-list.c | 29 ++++++++++++++-------- > 1 file changed, 18 insertions(+), 11 deletions(-) > > diff --git a/tools/testing/selftests/kvm/get-reg-list.c b/tools/testing/selftests/kvm/get-reg-list.c > index b956ee410996..3beb6b62de0a 100644 > --- a/tools/testing/selftests/kvm/get-reg-list.c > +++ b/tools/testing/selftests/kvm/get-reg-list.c > @@ -52,6 +52,10 @@ extern int vcpu_configs_n; > for_each_reg_filtered(i) \ > if (!find_reg(blessed_reg, blessed_n, reg_list->reg[i])) > > +#define for_each_present_blessed_reg(i) \ > + for ((i) = 0; (i) < blessed_n; ++(i)) \ > + if (find_reg(reg_list->reg, reg_list->n, blessed_reg[i])) > + > static const char *config_name(struct vcpu_reg_list *c) > { > struct vcpu_reg_sublist *s; > @@ -189,6 +193,16 @@ static void run_test(struct vcpu_reg_list *c) > return; > } > > + for_each_sublist(c, s) > + blessed_n += s->regs_n; > + blessed_reg = calloc(blessed_n, sizeof(__u64)); > + > + n = 0; > + for_each_sublist(c, s) { > + for (i = 0; i < s->regs_n; ++i) > + blessed_reg[n++] = s->regs[i]; > + } > + > /* > * We only test that we can get the register and then write back the > * same value. Some registers may allow other values to be written > @@ -198,8 +212,11 @@ static void run_test(struct vcpu_reg_list *c) > * be written need to have the other values tested, then we should > * create a new set of tests for those in a new independent test > * executable. > + * > + * Only do the get/set tests on present, blessed list registers, > + * since we don't know the capabilities of any new registers. > */ > - for_each_reg(i) { > + for_each_present_blessed_reg(i) { > uint8_t addr[2048 / 8]; > struct kvm_one_reg reg = { > .id = reg_list->reg[i], > @@ -242,16 +259,6 @@ static void run_test(struct vcpu_reg_list *c) > } > } > > - for_each_sublist(c, s) > - blessed_n += s->regs_n; > - blessed_reg = calloc(blessed_n, sizeof(__u64)); > - > - n = 0; > - for_each_sublist(c, s) { > - for (i = 0; i < s->regs_n; ++i) > - blessed_reg[n++] = s->regs[i]; > - } > - > for_each_new_reg(i) > ++new_regs; > > -- > 2.34.1 > Reviewed-by: Andrew Jones Thanks, drew