[PATCH 00/13] kvm: selftests: add aarch64 framework and dirty

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series provides KVM selftests that test dirty log tracking on
AArch64 for both 4K and 64K guest page sizes. Additionally the
framework provides an easy way to test dirty log tracking with the
recently posted dynamic IPA and 52bit IPA series[1].

The series breaks down into parts as follows:

 01-02: generalize guest code to host userspace exit support by
        introducing "ucalls" - hypercalls to userspace
 03-05: prepare common code for a new architecture
 06-07: add virtual memory setup support for AArch64
    08: add vcpu setup support for AArch64
    09: port the dirty log test to AArch64
 10-11: add 64K guest page size support for the dirty log test
 12-13: prepare the dirty log test to also test > 40-bit guest
        physical address setups by allowing the test memory
        region to be placed at the top of physical memory

[1] https://www.spinics.net/lists/arm-kernel/msg676819.html

Thanks,
drew


Andrew Jones (13):
  kvm: selftests: vcpu_setup: set cr4.osfxsr
  kvm: selftests: introduce ucall
  kvm: selftests: move arch-specific files to arch-specific locations
  kvm: selftests: add cscope make target
  kvm: selftests: tidy up kvm_util
  kvm: selftests: add vm_phy_pages_alloc
  kvm: selftests: add virt mem support for aarch64
  kvm: selftests: add vcpu support for aarch64
  kvm: selftests: port dirty_log_test to aarch64
  kvm: selftests: introduce new VM mode for 64K pages
  kvm: selftests: dirty_log_test: also test 64K pages on aarch64
  kvm: selftests: stop lying to aarch64 tests about PA-bits
  kvm: selftests: support high GPAs in dirty_log_test

 tools/testing/selftests/kvm/.gitignore        |  11 +-
 tools/testing/selftests/kvm/Makefile          |  36 +-
 tools/testing/selftests/kvm/dirty_log_test.c  | 374 +++++++++----
 .../selftests/kvm/include/aarch64/processor.h |  55 ++
 .../testing/selftests/kvm/include/kvm_util.h  | 166 +++---
 .../testing/selftests/kvm/include/sparsebit.h |   6 +-
 .../testing/selftests/kvm/include/test_util.h |   6 +-
 .../kvm/include/{x86.h => x86_64/processor.h} |  24 +-
 .../selftests/kvm/include/{ => x86_64}/vmx.h  |   6 +-
 .../selftests/kvm/lib/aarch64/processor.c     | 311 +++++++++++
 tools/testing/selftests/kvm/lib/assert.c      |   2 +-
 tools/testing/selftests/kvm/lib/kvm_util.c    | 499 +++++++-----------
 .../selftests/kvm/lib/kvm_util_internal.h     |  33 +-
 tools/testing/selftests/kvm/lib/ucall.c       | 144 +++++
 .../kvm/lib/{x86.c => x86_64/processor.c}     | 197 ++++++-
 .../selftests/kvm/lib/{ => x86_64}/vmx.c      |   4 +-
 .../kvm/{ => x86_64}/cr4_cpuid_sync_test.c    |  14 +-
 .../kvm/{ => x86_64}/set_sregs_test.c         |   2 +-
 .../selftests/kvm/{ => x86_64}/state_test.c   |  25 +-
 .../kvm/{ => x86_64}/sync_regs_test.c         |   2 +-
 .../kvm/{ => x86_64}/vmx_tsc_adjust_test.c    |  23 +-
 21 files changed, 1329 insertions(+), 611 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/include/aarch64/processor.h
 rename tools/testing/selftests/kvm/include/{x86.h => x86_64/processor.h} (98%)
 rename tools/testing/selftests/kvm/include/{ => x86_64}/vmx.h (99%)
 create mode 100644 tools/testing/selftests/kvm/lib/aarch64/processor.c
 create mode 100644 tools/testing/selftests/kvm/lib/ucall.c
 rename tools/testing/selftests/kvm/lib/{x86.c => x86_64/processor.c} (85%)
 rename tools/testing/selftests/kvm/lib/{ => x86_64}/vmx.c (99%)
 rename tools/testing/selftests/kvm/{ => x86_64}/cr4_cpuid_sync_test.c (91%)
 rename tools/testing/selftests/kvm/{ => x86_64}/set_sregs_test.c (98%)
 rename tools/testing/selftests/kvm/{ => x86_64}/state_test.c (90%)
 rename tools/testing/selftests/kvm/{ => x86_64}/sync_regs_test.c (99%)
 rename tools/testing/selftests/kvm/{ => x86_64}/vmx_tsc_adjust_test.c (91%)

-- 
2.17.1

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux