Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1199752pxf; Fri, 19 Mar 2021 01:08:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwkDfvXQe2tIdYlEDebjn2sz720G7oX5L0+oYxA4q/QytODRx0eiR6EMS6detaXiVt2NeTs X-Received: by 2002:a05:6402:375:: with SMTP id s21mr8050182edw.287.1616141335590; Fri, 19 Mar 2021 01:08:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616141335; cv=none; d=google.com; s=arc-20160816; b=Wb8SmfM8CRduwR5XDAS3gNJecUsPVffbmNHlhcbnjDD/E55Oeu4yumfRl0uQXO4tyS zAZ2oRke43QNeVvUlQBFthS+IRffKm00cWAfvWUBU09ojzpMPTFFQ6Ncam8pX6LqIhc9 qA6ysC4aVevPn/HdVnT0f5GVdDqBvFCvHKLLTiNFbHR//d33y8PjU1oG2sZOFKctxi8B YK6ZAdiIMo8+7l9NDpttXvOP6lWXnQpJO2fSFocnUyXVaOCMY55R9meNhiERnDgjV/Hy DbKCLdVlqRD1cGLCiXqT3fP+fnM1sqFCVcrByU9vXUHUwPgJ4OaKQ+57nxaiUTigiSoo B5HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=Skqo6f9yW8lK62SqKGHOk+G8drCEfkExBud4qudsccw=; b=qj/+jZKL14t89msN+C4EXlfDLPkWaHwK/e0Ub0QGNf0z5HnmM/cSQWANEXrggZYn6k gu/hzyY12WfX27zL580E1YgLaB2PNvBrrBeetdHMqHlkoKIwQg+h0E213G1d1JDUAmjH 026Oer6/KRXzztSTSNsnfr1/YBw/VAOmP4ZAFu79WG3GaoM2BZfpFMSUFj0xenSS+Wzp y8tx3B8b/qvfeGb5+fde8RkUlATlQiMM9e0hHD0q4fc/s0GMhzgMzRIlOTHgvXZzwJwW tA1AjPeDCyo3K3Xi9Bwl6Mo2e+5e0X3+ti3i4QP/3DtZIvtWYM+4dmV8zQDpGQWLwtoc tyJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Py3IaICH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r6si3724792eda.292.2021.03.19.01.08.33; Fri, 19 Mar 2021 01:08:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Py3IaICH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234282AbhCSIHm (ORCPT + 99 others); Fri, 19 Mar 2021 04:07:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:43823 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234225AbhCSIHS (ORCPT ); Fri, 19 Mar 2021 04:07:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616141237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Skqo6f9yW8lK62SqKGHOk+G8drCEfkExBud4qudsccw=; b=Py3IaICHV1IBCvgJr1SRNqCNhSYy+/mgWsR3pIAT4BjkRTlpadJ2THVoW9fvM9LvS5AzKX rgB8SYzSfG6wsf+P1cmcILpeWkMhAvA1RvSR+yCSzIUS6WTpEnfpSeC/WoSLqnmB/hza9g R9tVQVega2nkIdZhIs5MgJAvEjYBJZ0= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-436-_kmvS_A-N1uLXdF9cjDDDg-1; Fri, 19 Mar 2021 04:07:15 -0400 X-MC-Unique: _kmvS_A-N1uLXdF9cjDDDg-1 Received: by mail-ed1-f72.google.com with SMTP id cq11so22410823edb.14 for ; Fri, 19 Mar 2021 01:07:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Skqo6f9yW8lK62SqKGHOk+G8drCEfkExBud4qudsccw=; b=mQqn1XbclPEIy2Nx3aAJ1W/1/imrj1Dm7uZUYCATK1Ew/zxuNDkwzXF0i3DbmWYBYZ kLL61rUJ9amgGf9p/9g+HH9JutWDD+1B2850SV1zooBM5lIJOOfFyyiKDzb5xWaMS0Eh e54YaFCvaEMFvW3wSuhN23lo4aLhkZlwJrfacIIfHFjMka0M23t2knUJEXtqHRad5bMm KxsqsnW5+1oBz2gDrudOrEfQsmuxK/+PRYrRwz3FgiSHSWclWiwcR2u8QsxDUhmrAWZj HkyBVJBKg9FkmQDk/FbKk3Nrn27BWiXqidu9v720WX9ukn+e5lXgTcdFIFlr4dXfqGZZ PL9Q== X-Gm-Message-State: AOAM533pXw/UdLpzgeD7Atx9lypYERZPxbOYzsGl+317NtOsxAP2KS6x Ka2iMAFftZT+pcgu5/izN4wZ4Ks+r9CWZMuLOKFG9/KOni9kAyJhn+fy8XMridMyLY9VPBOq9CD 573KKx6Snprcf5f8vvAZ44+/oIzxe5ZXqbKpDLrE3FLg/vzxx1ltR4urv9v8GpwtRTPQu2scYDk 1W X-Received: by 2002:a17:906:4955:: with SMTP id f21mr3064179ejt.74.1616141234476; Fri, 19 Mar 2021 01:07:14 -0700 (PDT) X-Received: by 2002:a17:906:4955:: with SMTP id f21mr3064155ejt.74.1616141234243; Fri, 19 Mar 2021 01:07:14 -0700 (PDT) Received: from localhost.localdomain ([194.230.155.135]) by smtp.gmail.com with ESMTPSA id r17sm3311246ejz.109.2021.03.19.01.07.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Mar 2021 01:07:13 -0700 (PDT) Subject: Re: [PATCH] selftests/kvm: add get_msr_index_features To: Andrew Jones Cc: linux-kselftest@vger.kernel.org, Paolo Bonzini , Shuah Khan , Vitaly Kuznetsov , kvm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210318145629.486450-1-eesposit@redhat.com> <20210318170316.6vah7x2ws4bimmdf@kamzik.brq.redhat.com> From: Emanuele Giuseppe Esposito Message-ID: <52d09cdf-3819-0cd8-5812-387febaa1ab3@redhat.com> Date: Fri, 19 Mar 2021 09:07:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <20210318170316.6vah7x2ws4bimmdf@kamzik.brq.redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, Thank you for the feedback (also in v1). On 18/03/2021 18:03, Andrew Jones wrote: > On Thu, Mar 18, 2021 at 03:56:29PM +0100, Emanuele Giuseppe Esposito wrote: >> Test the KVM_GET_MSR_FEATURE_INDEX_LIST >> and KVM_GET_MSR_INDEX_LIST ioctls. >> >> Signed-off-by: Emanuele Giuseppe Esposito >> --- >> tools/testing/selftests/kvm/.gitignore | 1 + >> tools/testing/selftests/kvm/Makefile | 1 + >> .../kvm/x86_64/get_msr_index_features.c | 124 ++++++++++++++++++ >> 3 files changed, 126 insertions(+) >> create mode 100644 tools/testing/selftests/kvm/x86_64/get_msr_index_features.c >> >> diff --git a/tools/testing/selftests/kvm/.gitignore b/tools/testing/selftests/kvm/.gitignore >> index 32b87cc77c8e..d99f3969d371 100644 >> --- a/tools/testing/selftests/kvm/.gitignore >> +++ b/tools/testing/selftests/kvm/.gitignore >> @@ -5,6 +5,7 @@ >> /s390x/resets >> /s390x/sync_regs_test >> /x86_64/cr4_cpuid_sync_test >> +/x86_64/get_msr_index_features >> /x86_64/debug_regs >> /x86_64/evmcs_test >> /x86_64/get_cpuid_test >> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile >> index a6d61f451f88..c748b9650e28 100644 >> --- a/tools/testing/selftests/kvm/Makefile >> +++ b/tools/testing/selftests/kvm/Makefile >> @@ -39,6 +39,7 @@ LIBKVM_aarch64 = lib/aarch64/processor.c lib/aarch64/ucall.c >> LIBKVM_s390x = lib/s390x/processor.c lib/s390x/ucall.c lib/s390x/diag318_test_handler.c >> >> TEST_GEN_PROGS_x86_64 = x86_64/cr4_cpuid_sync_test >> +TEST_GEN_PROGS_x86_64 += x86_64/get_msr_index_features > > Maybe we should give up trying to keep an alphabetic order. My bad, I did not notice that it was in alphabetic order. > >> TEST_GEN_PROGS_x86_64 += x86_64/evmcs_test >> TEST_GEN_PROGS_x86_64 += x86_64/get_cpuid_test >> TEST_GEN_PROGS_x86_64 += x86_64/hyperv_cpuid >> diff --git a/tools/testing/selftests/kvm/x86_64/get_msr_index_features.c b/tools/testing/selftests/kvm/x86_64/get_msr_index_features.c >> new file mode 100644 >> index 000000000000..ad9972d99dfa >> --- /dev/null >> +++ b/tools/testing/selftests/kvm/x86_64/get_msr_index_features.c >> @@ -0,0 +1,124 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Test that KVM_GET_MSR_INDEX_LIST and >> + * KVM_GET_MSR_FEATURE_INDEX_LIST work as intended >> + * >> + * Copyright (C) 2020, Red Hat, Inc. >> + */ >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include "test_util.h" >> +#include "kvm_util.h" >> +#include "processor.h" >> +#include "../lib/kvm_util_internal.h" > > I'm not sure why the original kvm selftests authors decided to do this > internal stuff, but we should either kill that or avoid doing stuff like > this. I need this include because of the KVM_DEV_PATH macro, to get the kvm_fd. No other reason for including it in this test. >> + >> +static int kvm_num_feature_msrs(int kvm_fd, int nmsrs) >> +{ >> + struct kvm_msr_list *list; >> + int r; >> + >> + list = malloc(sizeof(*list) + nmsrs * sizeof(list->indices[0])); >> + list->nmsrs = nmsrs; >> + r = ioctl(kvm_fd, KVM_GET_MSR_FEATURE_INDEX_LIST, list); >> + TEST_ASSERT(r == -1 && errno == E2BIG, >> + "Unexpected result from KVM_GET_MSR_FEATURE_INDEX_LIST probe, r: %i", >> + r); > > Weird indentation. I'd just leave it up on the last line. We don't care > about long lines. Ok. I wanted avoid warnings from the checkpatch script. Paolo, do you want me to send v2 with fixed indentation or you already took care of it? I'll be happy to do so. Emanuele