All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Oliver Upton <oliver.upton@linux.dev>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org, Mark Brown <broonie@kernel.org>,
	Jing Zhang <jingzhangos@google.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	James Morse <james.morse@arm.com>, Marc Zyngier <maz@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Ian Rogers <irogers@google.com>,
	Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v3 5/5] KVM: arm64: selftests: Test for setting ID register from usersapce
Date: Wed, 18 Oct 2023 14:35:02 +0200	[thread overview]
Message-ID: <87mswgcdmx.fsf@redhat.com> (raw)
In-Reply-To: <ZS4_wGJPg3G8dA7Z@linux.dev>

On Tue, Oct 17 2023, Oliver Upton <oliver.upton@linux.dev> wrote:

> On Mon, Oct 16, 2023 at 05:30:06PM +0200, Cornelia Huck wrote:
>> On Wed, Oct 11 2023, Oliver Upton <oliver.upton@linux.dev> wrote:
>> 
>> > From: Jing Zhang <jingzhangos@google.com>
>> >
>> > Add tests to verify setting ID registers from userspace is handled
>> > correctly by KVM. Also add a test case to use ioctl
>> > KVM_ARM_GET_REG_WRITABLE_MASKS to get writable masks.
>> >
>> > Signed-off-by: Jing Zhang <jingzhangos@google.com>
>> > Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
>> > ---
>> >  tools/testing/selftests/kvm/Makefile          |   1 +
>> >  .../selftests/kvm/aarch64/set_id_regs.c       | 479 ++++++++++++++++++
>> >  2 files changed, 480 insertions(+)
>> >  create mode 100644 tools/testing/selftests/kvm/aarch64/set_id_regs.c
>> 
>> (...)
>> 
>> > +static void test_user_set_reg(struct kvm_vcpu *vcpu, bool aarch64_only)
>> > +{
>> > +	uint64_t masks[KVM_ARM_FEATURE_ID_RANGE_SIZE];
>> > +	struct reg_mask_range range = {
>> > +		.addr = (__u64)masks,
>> > +	};
>> > +	int ret;
>> > +
>> > +	/* KVM should return error when reserved field is not zero */
>> > +	range.reserved[0] = 1;
>> > +	ret = __vm_ioctl(vcpu->vm, KVM_ARM_GET_REG_WRITABLE_MASKS, &range);
>> > +	TEST_ASSERT(ret, "KVM doesn't check invalid parameters.");
>> 
>> I think the code should first check for
>> KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES -- newer kselftests are supposed
>> to be able to run on older kernels, and we should just skip all of this
>> if the API isn't there.
>
> Ah, thanks! I'll apply the following on top:
>
> diff --git a/tools/testing/selftests/kvm/aarch64/set_id_regs.c b/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> index 5c0718fd1705..bac05210b539 100644
> --- a/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> +++ b/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> @@ -452,6 +452,8 @@ int main(void)
>  	uint64_t val, el0;
>  	int ftr_cnt;
>  
> +	TEST_REQUIRE(kvm_has_cap(KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES));
> +
>  	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
>  
>  	/* Check for AARCH64 only system */

Thanks, LGTM.


WARNING: multiple messages have this Message-ID (diff)
From: Cornelia Huck <cohuck@redhat.com>
To: Oliver Upton <oliver.upton@linux.dev>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org, Mark Brown <broonie@kernel.org>,
	Jing Zhang <jingzhangos@google.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	James Morse <james.morse@arm.com>, Marc Zyngier <maz@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Ian Rogers <irogers@google.com>,
	Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v3 5/5] KVM: arm64: selftests: Test for setting ID register from usersapce
Date: Wed, 18 Oct 2023 14:35:02 +0200	[thread overview]
Message-ID: <87mswgcdmx.fsf@redhat.com> (raw)
In-Reply-To: <ZS4_wGJPg3G8dA7Z@linux.dev>

On Tue, Oct 17 2023, Oliver Upton <oliver.upton@linux.dev> wrote:

> On Mon, Oct 16, 2023 at 05:30:06PM +0200, Cornelia Huck wrote:
>> On Wed, Oct 11 2023, Oliver Upton <oliver.upton@linux.dev> wrote:
>> 
>> > From: Jing Zhang <jingzhangos@google.com>
>> >
>> > Add tests to verify setting ID registers from userspace is handled
>> > correctly by KVM. Also add a test case to use ioctl
>> > KVM_ARM_GET_REG_WRITABLE_MASKS to get writable masks.
>> >
>> > Signed-off-by: Jing Zhang <jingzhangos@google.com>
>> > Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
>> > ---
>> >  tools/testing/selftests/kvm/Makefile          |   1 +
>> >  .../selftests/kvm/aarch64/set_id_regs.c       | 479 ++++++++++++++++++
>> >  2 files changed, 480 insertions(+)
>> >  create mode 100644 tools/testing/selftests/kvm/aarch64/set_id_regs.c
>> 
>> (...)
>> 
>> > +static void test_user_set_reg(struct kvm_vcpu *vcpu, bool aarch64_only)
>> > +{
>> > +	uint64_t masks[KVM_ARM_FEATURE_ID_RANGE_SIZE];
>> > +	struct reg_mask_range range = {
>> > +		.addr = (__u64)masks,
>> > +	};
>> > +	int ret;
>> > +
>> > +	/* KVM should return error when reserved field is not zero */
>> > +	range.reserved[0] = 1;
>> > +	ret = __vm_ioctl(vcpu->vm, KVM_ARM_GET_REG_WRITABLE_MASKS, &range);
>> > +	TEST_ASSERT(ret, "KVM doesn't check invalid parameters.");
>> 
>> I think the code should first check for
>> KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES -- newer kselftests are supposed
>> to be able to run on older kernels, and we should just skip all of this
>> if the API isn't there.
>
> Ah, thanks! I'll apply the following on top:
>
> diff --git a/tools/testing/selftests/kvm/aarch64/set_id_regs.c b/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> index 5c0718fd1705..bac05210b539 100644
> --- a/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> +++ b/tools/testing/selftests/kvm/aarch64/set_id_regs.c
> @@ -452,6 +452,8 @@ int main(void)
>  	uint64_t val, el0;
>  	int ftr_cnt;
>  
> +	TEST_REQUIRE(kvm_has_cap(KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES));
> +
>  	vm = vm_create_with_one_vcpu(&vcpu, guest_code);
>  
>  	/* Check for AARCH64 only system */

Thanks, LGTM.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-10-18 12:35 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-11 19:57 [PATCH v3 0/5] KVM: selftests: Add ID reg test, update headers Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-11 19:57 ` [PATCH v3 1/5] tools: arm64: Add a Makefile for generating sysreg-defs.h Oliver Upton
2023-10-11 19:57   ` Oliver Upton
2023-10-18  9:50   ` Eric Auger
2023-10-18  9:50     ` Eric Auger
2023-10-11 19:57 ` [PATCH v3 2/5] perf build: Generate arm64's sysreg-defs.h and add to include path Oliver Upton
2023-10-11 19:57   ` Oliver Upton
2023-10-17 22:23   ` Namhyung Kim
2023-10-17 22:23     ` Namhyung Kim
2023-10-18 14:12     ` Arnaldo Carvalho de Melo
2023-10-18 14:12       ` Arnaldo Carvalho de Melo
2023-11-07  6:10       ` Ian Rogers
2023-11-07  6:10         ` Ian Rogers
2023-11-17 21:42         ` Ian Rogers
2023-11-17 21:42           ` Ian Rogers
2023-10-11 19:57 ` [PATCH v3 3/5] KVM: selftests: Generate " Oliver Upton
2023-10-11 19:57   ` Oliver Upton
2023-10-18  9:52   ` Eric Auger
2023-10-18  9:52     ` Eric Auger
2023-10-23 13:53   ` Nina Schoetterl-Glausch
2023-10-23 13:53     ` Nina Schoetterl-Glausch
2023-10-27  0:59     ` Oliver Upton
2023-10-27  0:59       ` Oliver Upton
2023-10-25  9:02   ` Aishwarya TCV
2023-10-25  9:02     ` Aishwarya TCV
2023-10-25 19:07     ` Oliver Upton
2023-10-25 19:07       ` Oliver Upton
2023-10-26  1:06       ` Aishwarya TCV
2023-10-26  1:06         ` Aishwarya TCV
2023-10-11 19:57 ` [PATCH v3 4/5] tools headers arm64: Update sysreg.h with kernel sources Oliver Upton
2023-10-11 19:57   ` Oliver Upton
2023-10-18 11:57   ` Eric Auger
2023-10-18 11:57     ` Eric Auger
2023-10-18 12:16     ` Mark Brown
2023-10-18 12:16       ` Mark Brown
2023-10-18 13:06       ` Eric Auger
2023-10-18 13:06         ` Eric Auger
2023-10-19  0:06         ` Oliver Upton
2023-10-19  0:06           ` Oliver Upton
2023-10-19  8:43           ` Eric Auger
2023-10-19  8:43             ` Eric Auger
2023-10-19 19:48             ` Oliver Upton
2023-10-19 19:48               ` Oliver Upton
2023-10-11 19:57 ` [PATCH v3 5/5] KVM: arm64: selftests: Test for setting ID register from usersapce Oliver Upton
2023-10-11 19:57   ` Oliver Upton
2023-10-16 15:30   ` Cornelia Huck
2023-10-16 15:30     ` Cornelia Huck
2023-10-17  8:03     ` Oliver Upton
2023-10-17  8:03       ` Oliver Upton
2023-10-18 12:35       ` Cornelia Huck [this message]
2023-10-18 12:35         ` Cornelia Huck
2023-10-19  8:38   ` Eric Auger
2023-10-19  8:38     ` Eric Auger
2024-01-05  9:07     ` Zenghui Yu
2024-01-05  9:07       ` Zenghui Yu
2024-01-08 22:40       ` Oliver Upton
2024-01-08 22:40         ` Oliver Upton
2024-01-09  1:31         ` Jing Zhang
2024-01-09  1:31           ` Jing Zhang
2024-01-09 15:36           ` Zenghui Yu
2024-01-09 15:36             ` Zenghui Yu
2024-01-09 16:23             ` Jing Zhang
2024-01-09 16:23               ` Jing Zhang
2024-01-09  7:50         ` Itaru Kitayama
2024-01-09  7:50           ` Itaru Kitayama
2023-10-18 13:44 ` [PATCH v3 0/5] KVM: selftests: Add ID reg test, update headers Marc Zyngier
2023-10-18 13:44   ` Marc Zyngier
2023-10-18 23:58 ` Oliver Upton
2023-10-18 23:58   ` Oliver Upton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mswgcdmx.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=irogers@google.com \
    --cc=james.morse@arm.com \
    --cc=jingzhangos@google.com \
    --cc=jolsa@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=suzuki.poulose@arm.com \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.