linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] KVM: arm64: Selftest IPA fixes
@ 2021-12-16 12:31 Marc Zyngier
  2021-12-16 12:31 ` [PATCH 1/5] KVM: selftests: Fix vm_compute_max_gfn on !x86 Marc Zyngier
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Marc Zyngier @ 2021-12-16 12:31 UTC (permalink / raw)
  To: Paolo Bonzini, Andrew Jones
  Cc: James Morse, Suzuki K Poulose, Alexandru Elisei, kvmarm, kvm,
	linux-arm-kernel, kernel-team

Now that the common variety of fruity arm64 systems makes a pretty
remarkable KVM host, I have decided to run the collection of selftests
on it.

Nothing works. Oh no!

As it turns out, the tests have a notion of "default mode" (36bit PA,
4kB), which cannot work in general on arm64 because there no such
thing as an IPA size that would be valid everywhere (apart from the
minimal 32bit), nor a guaranteed to be supported page size.

This small series is a first attempt at making these things computed
at runtime by making the default something else on systems that do not
support it. It also makes the supported page sizes dynamically
discovered. The initial patch addresses an issue that has already been
addressed separately, and is only there so that I don't get shouted at
by some robot.

With that, the selftests do run on the M1, with the exception of the
memslot tests that are freaked out by the use of 16kB pages on the
host and 4kB in the guest. Maybe I'll implement some form of 16kB
support in the future.

Marc Zyngier (5):
  KVM: selftests: Fix vm_compute_max_gfn on !x86
  KVM: selftests: Initialise default mode in each test
  KVM: selftests: arm64: Introduce a variable default IPA size
  KVM: selftests: arm64: Check for supported page sizes
  KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K,64K}

 .../selftests/kvm/aarch64/arch_timer.c        |  3 +
 .../selftests/kvm/aarch64/debug-exceptions.c  |  3 +
 .../selftests/kvm/aarch64/get-reg-list.c      |  3 +
 .../selftests/kvm/aarch64/psci_cpu_on_test.c  |  3 +
 .../testing/selftests/kvm/aarch64/vgic_init.c |  3 +
 .../testing/selftests/kvm/include/kvm_util.h  | 15 ++--
 .../selftests/kvm/kvm_binary_stats_test.c     |  3 +
 .../selftests/kvm/kvm_create_max_vcpus.c      |  3 +
 .../selftests/kvm/lib/aarch64/processor.c     |  8 ++
 tools/testing/selftests/kvm/lib/guest_modes.c | 77 +++++++++++++++++--
 tools/testing/selftests/kvm/lib/kvm_util.c    |  6 ++
 .../testing/selftests/kvm/memslot_perf_test.c |  4 +
 tools/testing/selftests/kvm/rseq_test.c       |  3 +
 .../selftests/kvm/set_memory_region_test.c    |  4 +
 tools/testing/selftests/kvm/steal_time.c      |  3 +
 15 files changed, 131 insertions(+), 10 deletions(-)

-- 
2.30.2


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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-12-23 17:01 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-16 12:31 [PATCH 0/5] KVM: arm64: Selftest IPA fixes Marc Zyngier
2021-12-16 12:31 ` [PATCH 1/5] KVM: selftests: Fix vm_compute_max_gfn on !x86 Marc Zyngier
2021-12-16 12:31 ` [PATCH 2/5] KVM: selftests: Initialise default mode in each test Marc Zyngier
2021-12-23 17:00   ` Andrew Jones
2021-12-16 12:31 ` [PATCH 3/5] KVM: selftests: arm64: Introduce a variable default IPA size Marc Zyngier
2021-12-23 16:17   ` Andrew Jones
2021-12-16 12:31 ` [PATCH 4/5] KVM: selftests: arm64: Check for supported page sizes Marc Zyngier
2021-12-23 16:26   ` Andrew Jones
2021-12-16 12:31 ` [PATCH 5/5] KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K, 64K} Marc Zyngier
2021-12-23 16:32   ` [PATCH 5/5] KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K,64K} Andrew Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).