public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Andrew Jones <drjones@redhat.com>,
	David Matlack <dmatlack@google.com>,
	Ben Gardon <bgardon@google.com>, Oliver Upton <oupton@google.com>,
	Sean Christopherson <seanjc@google.com>
Subject: [PATCH 092/128] KVM: selftests: Add "arch" to common utils that have arch implementations
Date: Wed,  4 May 2022 22:48:38 +0000	[thread overview]
Message-ID: <20220504224914.1654036-93-seanjc@google.com> (raw)
In-Reply-To: <20220504224914.1654036-1-seanjc@google.com>

Add "arch" into the name of utility functions that are declared in common
code, but (surprise!) have arch-specific implementations.  Shuffle code
around so that all such helpers' declarations are bundled together.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 .../selftests/kvm/include/kvm_util_base.h     | 200 ++++++++++--------
 .../selftests/kvm/lib/aarch64/processor.c     |  12 +-
 .../selftests/kvm/lib/riscv/processor.c       |  12 +-
 .../selftests/kvm/lib/s390x/processor.c       |  12 +-
 .../selftests/kvm/lib/x86_64/processor.c      |  12 +-
 5 files changed, 141 insertions(+), 107 deletions(-)

diff --git a/tools/testing/selftests/kvm/include/kvm_util_base.h b/tools/testing/selftests/kvm/include/kvm_util_base.h
index 570eb05005ea..5e316f7cd927 100644
--- a/tools/testing/selftests/kvm/include/kvm_util_base.h
+++ b/tools/testing/selftests/kvm/include/kvm_util_base.h
@@ -95,23 +95,6 @@ struct kvm_vm {
 
 struct kvm_vcpu *vcpu_get(struct kvm_vm *vm, uint32_t vcpuid);
 
-/*
- * Virtual Translation Tables Dump
- *
- * Input Args:
- *   stream - Output FILE stream
- *   vm     - Virtual Machine
- *   indent - Left margin indent amount
- *
- * Output Args: None
- *
- * Return: None
- *
- * Dumps to the FILE stream given by @stream, the contents of all the
- * virtual translation tables for the VM given by @vm.
- */
-void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent);
-
 struct userspace_mem_region *
 memslot2region(struct kvm_vm *vm, uint32_t memslot);
 
@@ -283,25 +266,6 @@ static inline int vm_get_stats_fd(struct kvm_vm *vm)
 	return fd;
 }
 
-/*
- * VM VCPU Dump
- *
- * Input Args:
- *   stream - Output FILE stream
- *   vm     - Virtual Machine
- *   vcpuid - VCPU ID
- *   indent - Left margin indent amount
- *
- * Output Args: None
- *
- * Return: None
- *
- * Dumps the current state of the VCPU specified by @vcpuid, within the VM
- * given by @vm, to the FILE stream given by @stream.
- */
-void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid,
-	       uint8_t indent);
-
 void vm_create_irqchip(struct kvm_vm *vm);
 
 void vm_set_user_memory_region(struct kvm_vm *vm, uint32_t slot, uint32_t flags,
@@ -328,23 +292,6 @@ void *addr_gva2hva(struct kvm_vm *vm, vm_vaddr_t gva);
 vm_paddr_t addr_hva2gpa(struct kvm_vm *vm, void *hva);
 void *addr_gpa2alias(struct kvm_vm *vm, vm_paddr_t gpa);
 
-/*
- * Address Guest Virtual to Guest Physical
- *
- * Input Args:
- *   vm - Virtual Machine
- *   gva - VM virtual address
- *
- * Output Args: None
- *
- * Return:
- *   Equivalent VM physical address
- *
- * Returns the VM physical address of the translated VM virtual
- * address given by @gva.
- */
-vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva);
-
 struct kvm_run *vcpu_state(struct kvm_vm *vm, uint32_t vcpuid);
 void vcpu_run(struct kvm_vm *vm, uint32_t vcpuid);
 int _vcpu_run(struct kvm_vm *vm, uint32_t vcpuid);
@@ -568,26 +515,6 @@ void kvm_gsi_routing_write(struct kvm_vm *vm, struct kvm_irq_routing *routing);
 
 const char *exit_reason_str(unsigned int exit_reason);
 
-void virt_pgd_alloc(struct kvm_vm *vm);
-
-/*
- * VM Virtual Page Map
- *
- * Input Args:
- *   vm - Virtual Machine
- *   vaddr - VM Virtual Address
- *   paddr - VM Physical Address
- *   memslot - Memory region slot for new virtual translation tables
- *
- * Output Args: None
- *
- * Return: None
- *
- * Within @vm, creates a virtual translation for the page starting
- * at @vaddr to the page starting at @paddr.
- */
-void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr);
-
 vm_paddr_t vm_phy_page_alloc(struct kvm_vm *vm, vm_paddr_t paddr_min,
 			     uint32_t memslot);
 vm_paddr_t vm_phy_pages_alloc(struct kvm_vm *vm, size_t num,
@@ -656,16 +583,6 @@ static inline struct kvm_vm *vm_create_with_one_vcpu(struct kvm_vcpu **vcpu,
 
 struct kvm_vcpu *vm_recreate_with_one_vcpu(struct kvm_vm *vm);
 
-/*
- * Adds a vCPU with reasonable defaults (e.g. a stack)
- *
- * Input Args:
- *   vm - Virtual Machine
- *   vcpuid - The id of the VCPU to add to the VM.
- *   guest_code - The vCPU's entry point
- */
-void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code);
-
 unsigned int vm_get_page_size(struct kvm_vm *vm);
 unsigned int vm_get_page_shift(struct kvm_vm *vm);
 unsigned long vm_compute_max_gfn(struct kvm_vm *vm);
@@ -704,4 +621,121 @@ kvm_userspace_memory_region_find(struct kvm_vm *vm, uint64_t start,
 
 void assert_on_unhandled_exception(struct kvm_vm *vm, uint32_t vcpuid);
 
+/*
+ * VM VCPU Dump
+ *
+ * Input Args:
+ *   stream - Output FILE stream
+ *   vm     - Virtual Machine
+ *   vcpuid - VCPU ID
+ *   indent - Left margin indent amount
+ *
+ * Output Args: None
+ *
+ * Return: None
+ *
+ * Dumps the current state of the VCPU specified by @vcpuid, within the VM
+ * given by @vm, to the FILE stream given by @stream.
+ */
+
+void vcpu_arch_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid,
+		    uint8_t indent);
+
+static inline void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid,
+			     uint8_t indent)
+{
+	vcpu_arch_dump(stream, vm, vcpuid, indent);
+}
+
+/*
+ * Adds a vCPU with reasonable defaults (e.g. a stack)
+ *
+ * Input Args:
+ *   vm - Virtual Machine
+ *   vcpuid - The id of the VCPU to add to the VM.
+ *   guest_code - The vCPU's entry point
+ */
+void vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code);
+
+static inline void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid,
+				       void *guest_code)
+{
+	vm_arch_vcpu_add(vm, vcpuid, guest_code);
+}
+
+void virt_arch_pgd_alloc(struct kvm_vm *vm);
+
+static inline void virt_pgd_alloc(struct kvm_vm *vm)
+{
+	virt_arch_pgd_alloc(vm);
+}
+
+/*
+ * VM Virtual Page Map
+ *
+ * Input Args:
+ *   vm - Virtual Machine
+ *   vaddr - VM Virtual Address
+ *   paddr - VM Physical Address
+ *   memslot - Memory region slot for new virtual translation tables
+ *
+ * Output Args: None
+ *
+ * Return: None
+ *
+ * Within @vm, creates a virtual translation for the page starting
+ * at @vaddr to the page starting at @paddr.
+ */
+void virt_arch_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr);
+
+static inline void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
+{
+	virt_arch_pg_map(vm, vaddr, paddr);
+}
+
+
+/*
+ * Address Guest Virtual to Guest Physical
+ *
+ * Input Args:
+ *   vm - Virtual Machine
+ *   gva - VM virtual address
+ *
+ * Output Args: None
+ *
+ * Return:
+ *   Equivalent VM physical address
+ *
+ * Returns the VM physical address of the translated VM virtual
+ * address given by @gva.
+ */
+vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva);
+
+static inline vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
+{
+	return addr_arch_gva2gpa(vm, gva);
+}
+
+/*
+ * Virtual Translation Tables Dump
+ *
+ * Input Args:
+ *   stream - Output FILE stream
+ *   vm     - Virtual Machine
+ *   indent - Left margin indent amount
+ *
+ * Output Args: None
+ *
+ * Return: None
+ *
+ * Dumps to the FILE stream given by @stream, the contents of all the
+ * virtual translation tables for the VM given by @vm.
+ */
+void virt_arch_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent);
+
+static inline void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
+{
+	virt_arch_dump(stream, vm, indent);
+}
+
 #endif /* SELFTEST_KVM_UTIL_BASE_H */
diff --git a/tools/testing/selftests/kvm/lib/aarch64/processor.c b/tools/testing/selftests/kvm/lib/aarch64/processor.c
index 5f6967058647..653e740c46b1 100644
--- a/tools/testing/selftests/kvm/lib/aarch64/processor.c
+++ b/tools/testing/selftests/kvm/lib/aarch64/processor.c
@@ -74,7 +74,7 @@ static uint64_t __maybe_unused ptrs_per_pte(struct kvm_vm *vm)
 	return 1 << (vm->page_shift - 3);
 }
 
-void virt_pgd_alloc(struct kvm_vm *vm)
+void virt_arch_pgd_alloc(struct kvm_vm *vm)
 {
 	if (!vm->pgd_created) {
 		vm_paddr_t paddr = vm_phy_pages_alloc(vm,
@@ -131,14 +131,14 @@ static void _virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr,
 	*ptep |= (attr_idx << 2) | (1 << 10) /* Access Flag */;
 }
 
-void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
+void virt_arch_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
 {
 	uint64_t attr_idx = 4; /* NORMAL (See DEFAULT_MAIR_EL1) */
 
 	_virt_pg_map(vm, vaddr, paddr, attr_idx);
 }
 
-vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
+vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
 {
 	uint64_t *ptep;
 
@@ -195,7 +195,7 @@ static void pte_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent, uint64_t p
 #endif
 }
 
-void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
+void virt_arch_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
 {
 	int level = 4 - (vm->pgtable_levels - 1);
 	uint64_t pgd, *ptep;
@@ -303,7 +303,7 @@ void aarch64_vcpu_setup(struct kvm_vm *vm, uint32_t vcpuid, struct kvm_vcpu_init
 	set_reg(vm, vcpuid, KVM_ARM64_SYS_REG(SYS_TPIDR_EL1), vcpuid);
 }
 
-void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
+void vcpu_arch_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
 {
 	uint64_t pstate, pc;
 
@@ -330,7 +330,7 @@ void aarch64_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid,
 	set_reg(vm, vcpuid, ARM64_CORE_REG(regs.pc), (uint64_t)guest_code);
 }
 
-void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
+void vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
 {
 	aarch64_vcpu_add_default(vm, vcpuid, NULL, guest_code);
 }
diff --git a/tools/testing/selftests/kvm/lib/riscv/processor.c b/tools/testing/selftests/kvm/lib/riscv/processor.c
index c61c4856ed03..e43651ad7729 100644
--- a/tools/testing/selftests/kvm/lib/riscv/processor.c
+++ b/tools/testing/selftests/kvm/lib/riscv/processor.c
@@ -53,7 +53,7 @@ static uint64_t pte_index(struct kvm_vm *vm, vm_vaddr_t gva, int level)
 	return (gva & pte_index_mask[level]) >> pte_index_shift[level];
 }
 
-void virt_pgd_alloc(struct kvm_vm *vm)
+void virt_arch_pgd_alloc(struct kvm_vm *vm)
 {
 	if (!vm->pgd_created) {
 		vm_paddr_t paddr = vm_phy_pages_alloc(vm,
@@ -64,7 +64,7 @@ void virt_pgd_alloc(struct kvm_vm *vm)
 	}
 }
 
-void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
+void virt_arch_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
 {
 	uint64_t *ptep, next_ppn;
 	int level = vm->pgtable_levels - 1;
@@ -108,7 +108,7 @@ void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
 		PGTBL_PTE_PERM_MASK | PGTBL_PTE_VALID_MASK;
 }
 
-vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
+vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
 {
 	uint64_t *ptep;
 	int level = vm->pgtable_levels - 1;
@@ -159,7 +159,7 @@ static void pte_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent,
 #endif
 }
 
-void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
+void virt_arch_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
 {
 	int level = vm->pgtable_levels - 1;
 	uint64_t pgd, *ptep;
@@ -201,7 +201,7 @@ void riscv_vcpu_mmu_setup(struct kvm_vm *vm, int vcpuid)
 	set_reg(vm, vcpuid, RISCV_CSR_REG(satp), satp);
 }
 
-void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
+void vcpu_arch_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
 {
 	struct kvm_riscv_core core;
 
@@ -273,7 +273,7 @@ static void __aligned(16) guest_hang(void)
 		;
 }
 
-void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
+void vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
 {
 	int r;
 	size_t stack_size = vm->page_size == 4096 ?
diff --git a/tools/testing/selftests/kvm/lib/s390x/processor.c b/tools/testing/selftests/kvm/lib/s390x/processor.c
index aec15ca9d887..c2fe56a3fb74 100644
--- a/tools/testing/selftests/kvm/lib/s390x/processor.c
+++ b/tools/testing/selftests/kvm/lib/s390x/processor.c
@@ -10,7 +10,7 @@
 
 #define PAGES_PER_REGION 4
 
-void virt_pgd_alloc(struct kvm_vm *vm)
+void virt_arch_pgd_alloc(struct kvm_vm *vm)
 {
 	vm_paddr_t paddr;
 
@@ -46,7 +46,7 @@ static uint64_t virt_alloc_region(struct kvm_vm *vm, int ri)
 		| ((ri < 4 ? (PAGES_PER_REGION - 1) : 0) & REGION_ENTRY_LENGTH);
 }
 
-void virt_pg_map(struct kvm_vm *vm, uint64_t gva, uint64_t gpa)
+void virt_arch_pg_map(struct kvm_vm *vm, uint64_t gva, uint64_t gpa)
 {
 	int ri, idx;
 	uint64_t *entry;
@@ -85,7 +85,7 @@ void virt_pg_map(struct kvm_vm *vm, uint64_t gva, uint64_t gpa)
 	entry[idx] = gpa;
 }
 
-vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
+vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
 {
 	int ri, idx;
 	uint64_t *entry;
@@ -146,7 +146,7 @@ static void virt_dump_region(FILE *stream, struct kvm_vm *vm, uint8_t indent,
 	}
 }
 
-void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
+void virt_arch_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
 {
 	if (!vm->pgd_created)
 		return;
@@ -154,7 +154,7 @@ void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
 	virt_dump_region(stream, vm, indent, vm->pgd);
 }
 
-void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
+void vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
 {
 	size_t stack_size =  DEFAULT_STACK_PGS * getpagesize();
 	uint64_t stack_vaddr;
@@ -205,7 +205,7 @@ void vcpu_args_set(struct kvm_vm *vm, uint32_t vcpuid, unsigned int num, ...)
 	va_end(ap);
 }
 
-void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
+void vcpu_arch_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
 {
 	struct kvm_vcpu *vcpu = vcpu_get(vm, vcpuid);
 
diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
index 31a0fd79110d..c5335345323c 100644
--- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
+++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
@@ -109,7 +109,7 @@ static void sregs_dump(FILE *stream, struct kvm_sregs *sregs, uint8_t indent)
 	}
 }
 
-void virt_pgd_alloc(struct kvm_vm *vm)
+void virt_arch_pgd_alloc(struct kvm_vm *vm)
 {
 	TEST_ASSERT(vm->mode == VM_MODE_PXXV48_4K, "Attempt to use "
 		"unknown or unsupported guest mode, mode: 0x%x", vm->mode);
@@ -208,7 +208,7 @@ void __virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr,
 	*pte = PTE_PRESENT_MASK | PTE_WRITABLE_MASK | (paddr & PHYSICAL_PAGE_MASK);
 }
 
-void virt_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
+void virt_arch_pg_map(struct kvm_vm *vm, uint64_t vaddr, uint64_t paddr)
 {
 	__virt_pg_map(vm, vaddr, paddr, X86_PAGE_SIZE_4K);
 }
@@ -303,7 +303,7 @@ void vm_set_page_table_entry(struct kvm_vm *vm, int vcpuid, uint64_t vaddr,
 	*(uint64_t *)new_pte = pte;
 }
 
-void virt_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
+void virt_arch_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent)
 {
 	uint64_t *pml4e, *pml4e_start;
 	uint64_t *pdpe, *pdpe_start;
@@ -484,7 +484,7 @@ static void kvm_seg_set_kernel_data_64bit(struct kvm_vm *vm, uint16_t selector,
 		kvm_seg_fill_gdt_64bit(vm, segp);
 }
 
-vm_paddr_t addr_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
+vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)
 {
 	uint16_t index[4];
 	uint64_t *pml4e, *pdpe, *pde;
@@ -633,7 +633,7 @@ void vm_xsave_req_perm(int bit)
 		    bitmask);
 }
 
-void vm_vcpu_add_default(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
+void vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid, void *guest_code)
 {
 	struct kvm_mp_state mp_state;
 	struct kvm_regs regs;
@@ -888,7 +888,7 @@ void vcpu_args_set(struct kvm_vm *vm, uint32_t vcpuid, unsigned int num, ...)
 	va_end(ap);
 }
 
-void vcpu_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
+void vcpu_arch_dump(FILE *stream, struct kvm_vm *vm, uint32_t vcpuid, uint8_t indent)
 {
 	struct kvm_regs regs;
 	struct kvm_sregs sregs;
-- 
2.36.0.464.gb9c8b46e94-goog


  parent reply	other threads:[~2022-05-04 22:56 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-04 22:47 [PATCH 000/128] KVM: selftests: Overhaul APIs, purge VCPU_ID Sean Christopherson
2022-05-04 22:47 ` [PATCH 001/128] KVM: selftests: Fix buggy-but-benign check in test_v3_new_redist_regions() Sean Christopherson
2022-05-04 22:47 ` [PATCH 002/128] KVM: selftests: Drop stale declarations from kvm_util_base.h Sean Christopherson
2022-05-04 22:47 ` [PATCH 003/128] KVM: selftests: Unconditionally compile KVM selftests with -Werror Sean Christopherson
2022-05-05 14:08   ` Vitaly Kuznetsov
2022-05-06 21:37     ` Sean Christopherson
2022-05-04 22:47 ` [PATCH 004/128] KVM: selftests: Always open VM file descriptors with O_RDWR Sean Christopherson
2022-05-04 22:47 ` [PATCH 005/128] KVM: selftests: Add another underscore to inner ioctl() helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 006/128] KVM: selftests: Make vcpu_ioctl() a wrapper to pretty print ioctl name Sean Christopherson
2022-05-04 22:47 ` [PATCH 007/128] KVM: selftests: Drop @mode from common vm_create() helper Sean Christopherson
2022-05-04 22:47 ` [PATCH 008/128] KVM: selftests: Split vcpu_set_nested_state() into two helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 009/128] KVM: sefltests: Use vcpu_ioctl() and __vcpu_ioctl() helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 010/128] KVM: selftests: Add __vcpu_run() helper Sean Christopherson
2022-05-04 22:47 ` [PATCH 011/128] KVM: selftests: Use vcpu_access_device_attr() in arm64 code Sean Christopherson
2022-05-04 22:47 ` [PATCH 012/128] KVM: selftests: Remove vcpu_get_fd() Sean Christopherson
2022-05-04 22:47 ` [PATCH 013/128] KVM: selftests: Add vcpu_get() to retrieve and assert on vCPU existence Sean Christopherson
2022-05-04 22:47 ` [PATCH 014/128] KVM: selftests: Make vm_ioctl() a wrapper to pretty print ioctl name Sean Christopherson
2022-05-04 22:47 ` [PATCH 015/128] KVM: sefltests: Use vm_ioctl() and __vm_ioctl() helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 016/128] KVM: selftests: Make kvm_ioctl() a wrapper to pretty print ioctl name Sean Christopherson
2022-05-04 22:47 ` [PATCH 017/128] KVM: selftests: Use kvm_ioctl() helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 018/128] KVM: selftests: Use __KVM_SYSCALL_ERROR() to handle non-KVM syscall errors Sean Christopherson
2022-05-04 22:47 ` [PATCH 019/128] KVM: selftests: Make x86-64's register dump helpers static Sean Christopherson
2022-05-04 22:47 ` [PATCH 020/128] KVM: selftests: Get rid of kvm_util_internal.h Sean Christopherson
2022-05-04 22:47 ` [PATCH 021/128] KVM: selftests: Use KVM_IOCTL_ERROR() for one-off arm64 ioctls Sean Christopherson
2022-05-04 22:47 ` [PATCH 022/128] KVM: selftests: Drop @test param from kvm_create_device() Sean Christopherson
2022-05-04 22:47 ` [PATCH 023/128] KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper Sean Christopherson
2022-05-04 22:47 ` [PATCH 024/128] KVM: selftests: Multiplex return code and fd in __kvm_create_device() Sean Christopherson
2022-05-04 22:47 ` [PATCH 025/128] KVM: selftests: Rename KVM_HAS_DEVICE_ATTR helpers for consistency Sean Christopherson
2022-05-04 22:47 ` [PATCH 026/128] KVM: selftests: Drop 'int' return from asserting *_has_device_attr() Sean Christopherson
2022-05-04 22:47 ` [PATCH 027/128] KVM: selftests: Split get/set device_attr helpers Sean Christopherson
2022-05-04 22:47 ` [PATCH 028/128] KVM: selftests: Add a VM backpointer to 'struct vcpu' Sean Christopherson
2022-05-04 22:47 ` [PATCH 029/128] KVM: selftests: Add vm_create_*() variants to expose/return " Sean Christopherson
2022-05-04 22:47 ` [PATCH 030/128] KVM: selftests: Push vm_adjust_num_guest_pages() into "w/o vCPUs" helper Sean Christopherson
2022-05-04 22:47 ` [PATCH 031/128] KVM: selftests: Use vm_create_without_vcpus() in set_boot_cpu_id Sean Christopherson
2022-05-04 22:47 ` [PATCH 032/128] KVM: selftests: Use vm_create_without_vcpus() in dirty_log_test Sean Christopherson
2022-05-04 22:47 ` [PATCH 033/128] KVM: selftests: Use vm_create_without_vcpus() in hardware_disable_test Sean Christopherson
2022-05-04 22:47 ` [PATCH 034/128] KVM: selftests: Use vm_create_without_vcpus() in psci_cpu_on_test Sean Christopherson
2022-05-04 22:47 ` [PATCH 035/128] KVM: selftests: Rename vm_create() => vm_create_barebones(), drop param Sean Christopherson
2022-05-04 22:47 ` [PATCH 036/128] KVM: selftests: Rename vm_create_without_vcpus() => vm_create() Sean Christopherson
2022-05-04 22:47 ` [PATCH 037/128] KVM: selftests: Make vm_create() a wrapper that specifies VM_MODE_DEFAULT Sean Christopherson
2022-05-04 22:47 ` [PATCH 038/128] KVM: selftests: Rename xAPIC state test's vcpu struct Sean Christopherson
2022-05-04 22:47 ` [PATCH 039/128] KVM: selftests: Rename vcpu.state => vcpu.run Sean Christopherson
2022-05-04 22:47 ` [PATCH 040/128] KVM: selftests: Rename 'struct vcpu' to 'struct kvm_vcpu' Sean Christopherson
2022-05-04 22:47 ` [PATCH 041/128] KVM: selftests: Return the created vCPU from vm_vcpu_add() Sean Christopherson
2022-05-04 22:47 ` [PATCH 042/128] KVM: selftests: Convert memslot_perf_test away from VCPU_ID Sean Christopherson
2022-05-04 22:47 ` [PATCH 043/128] KVM: selftests: Convert rseq_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 044/128] KVM: selftests: Convert xss_msr_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 045/128] KVM: selftests: Convert vmx_preemption_timer_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 046/128] KVM: selftests: Convert vmx_pmu_msrs_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 047/128] KVM: selftests: Convert vmx_set_nested_state_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 048/128] KVM: selftests: Convert vmx_tsc_adjust_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 049/128] KVM: selftests: Convert mmu_role_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 050/128] KVM: selftests: Convert pmu_event_filter_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 051/128] KVM: selftests: Convert smm_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 052/128] KVM: selftests: Convert state_test " Sean Christopherson
2022-05-04 22:47 ` [PATCH 053/128] KVM: selftests: Convert svm_int_ctl_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 054/128] KVM: selftests: Convert svm_vmcall_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 055/128] KVM: selftests: Convert sync_regs_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 056/128] KVM: selftests: Convert hyperv_cpuid " Sean Christopherson
2022-05-04 22:48 ` [PATCH 057/128] KVM: selftests: Convert kvm_pv_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 058/128] KVM: selftests: Convert platform_info_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 059/128] KVM: selftests: Convert vmx_nested_tsc_scaling_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 060/128] KVM: selftests: Convert set_sregs_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 061/128] KVM: selftests: Convert vmx_dirty_log_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 062/128] KVM: selftests: Convert vmx_close_while_nested_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 063/128] KVM: selftests: Convert vmx_apic_access_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 064/128] KVM: selftests: Convert userspace_msr_exit_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 065/128] KVM: selftests: Convert vmx_exception_with_invalid_guest_state " Sean Christopherson
2022-05-04 22:48 ` [PATCH 066/128] KVM: selftests: Convert tsc_msrs_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 067/128] KVM: selftests: Convert kvm_clock_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 068/128] KVM: selftests: Convert hyperv_svm_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 069/128] KVM: selftests: Convert hyperv_features " Sean Christopherson
2022-05-04 22:48 ` [PATCH 070/128] KVM: selftests: Convert hyperv_clock " Sean Christopherson
2022-05-04 22:48 ` [PATCH 071/128] KVM: selftests: Convert evmcs_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 072/128] KVM: selftests: Convert emulator_error_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 073/128] KVM: selftests: Convert debug_regs " Sean Christopherson
2022-05-04 22:48 ` [PATCH 074/128] KVM: selftests: Add proper helper for advancing RIP in debug_regs Sean Christopherson
2022-05-04 22:48 ` [PATCH 075/128] KVM: selftests: Convert amx_test away from VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 076/128] KVM: selftests: Convert cr4_cpuid_sync_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 077/128] KVM: selftests: Convert cpuid_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 078/128] KVM: selftests: Convert userspace_io_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 079/128] KVM: selftests: Convert vmx_invalid_nested_guest_state " Sean Christopherson
2022-05-04 22:48 ` [PATCH 080/128] KVM: selftests: Convert xen_vmcall_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 081/128] KVM: selftests: Convert xen_shinfo_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 082/128] KVM: selftests: Convert dirty_log_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 083/128] KVM: selftests: Convert set_memory_region_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 084/128] KVM: selftests: Convert system_counter_offset_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 085/128] KVM: selftests: Track kvm_vcpu object in tsc_scaling_sync Sean Christopherson
2022-05-04 22:48 ` [PATCH 086/128] KVM: selftests: Convert xapic_state_test away from hardcoded vCPU ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 087/128] KVM: selftests: Convert debug-exceptions away from VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 088/128] KVM: selftests: Convert fix_hypercall_test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 089/128] KVM: selftests: Convert vgic_irq " Sean Christopherson
2022-05-04 22:48 ` [PATCH 090/128] KVM: selftests: Make arm64's guest_get_vcpuid() declaration arm64-only Sean Christopherson
2022-05-04 22:48 ` [PATCH 091/128] KVM: selftests: Move vm_is_unrestricted_guest() to x86-64 Sean Christopherson
2022-05-04 22:48 ` Sean Christopherson [this message]
2022-05-04 22:48 ` [PATCH 093/128] KVM: selftests: Return created vcpu from vm_vcpu_add_default() Sean Christopherson
2022-05-04 22:48 ` [PATCH 094/128] KVM: selftests: Rename vm_vcpu_add* helpers to better show relationships Sean Christopherson
2022-05-04 22:48 ` [PATCH 095/128] KVM: selftests: Convert set_boot_cpu_id away from global VCPU_IDs Sean Christopherson
2022-05-04 22:48 ` [PATCH 096/128] KVM: selftests: Convert psci_cpu_on_test away from VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 097/128] KVM: selftests: Convert hardware_disable_test to pass around vCPU objects Sean Christopherson
2022-05-04 22:48 ` [PATCH 098/128] KVM: selftests: Add VM creation helper that "returns" vCPUs Sean Christopherson
2022-05-04 22:48 ` [PATCH 099/128] KVM: selftests: Convert steal_time away from VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 100/128] KVM: selftests: Convert arch_timer " Sean Christopherson
2022-05-04 22:48 ` [PATCH 101/128] KVM: selftests: Fix typo in vgic_init test Sean Christopherson
2022-05-04 22:48 ` [PATCH 102/128] KVM: selftests: Convert vgic_init away from vm_create_default_with_vcpus() Sean Christopherson
2022-05-04 22:48 ` [PATCH 103/128] KVM: selftests: Convert xapic_ipi_test away from *_VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 104/128] KVM: selftests: Convert sync_regs_test away from VCPU_ID Sean Christopherson
2022-05-04 22:48 ` [PATCH 105/128] KVM: selftests: Convert s390's "resets" test " Sean Christopherson
2022-05-04 22:48 ` [PATCH 106/128] KVM: selftests: Convert memop " Sean Christopherson
2022-05-04 22:48 ` [PATCH 107/128] KVM: selftests: Convert s390x/diag318_test_handler " Sean Christopherson
2022-05-04 22:48 ` [PATCH 108/128] KVM: selftests: Convert tprot " Sean Christopherson
2022-05-04 22:48 ` [PATCH 109/128] KVM: selftests: Use vm_create() in tsc_scaling_sync Sean Christopherson
2022-05-04 22:48 ` [PATCH 110/128] KVM: selftests: Use vm_create_with_vcpus() in max_guest_memory_test Sean Christopherson
2022-05-04 22:48 ` [PATCH 111/128] KVM: selftests: Drop vm_create_default* helpers Sean Christopherson
2022-05-04 22:48 ` [PATCH 112/128] KVM: selftests: Drop @vcpuids param from VM creators Sean Christopherson
2022-05-04 22:48 ` [PATCH 113/128] KVM: selftests: Convert kvm_page_table_test away from reliance on vcpu_id Sean Christopherson
2022-05-04 22:49 ` [PATCH 114/128] KVM: selftests: Convert kvm_binary_stats_test away from vCPU IDs Sean Christopherson
2022-05-04 22:49 ` [PATCH 115/128] KVM: selftests: Convert get-reg-list away from its "VCPU_ID" Sean Christopherson
2022-05-04 22:49 ` [PATCH 116/128] KVM: selftests: Stop hardcoding vCPU IDs in vcpu_width_config Sean Christopherson
2022-05-04 22:49 ` [PATCH 117/128] KVM: selftests: Stop conflating vCPU index and ID in perf tests Sean Christopherson
2022-05-04 22:49 ` [PATCH 118/128] KVM: selftests: Remove vcpu_get() usage from dirty_log_test Sean Christopherson
2022-05-04 22:49 ` [PATCH 119/128] KVM: selftests: Require vCPU output array when creating VM with vCPUs Sean Christopherson
2022-05-04 22:49 ` [PATCH 121/128] KVM: selftests: Drop vcpu_get(), rename vcpu_find() => vcpu_exists() Sean Christopherson
2022-05-04 22:49 ` [PATCH 122/128] KVM: selftests: Remove vcpu_state() helper Sean Christopherson
2022-05-04 22:49 ` [PATCH 123/128] KVM: selftests: Open code and drop 'struct kvm_vm' accessors Sean Christopherson
2022-05-04 22:49 ` [PATCH 124/128] KVM: selftests: Drop @slot0_mem_pages from __vm_create_with_vcpus() Sean Christopherson
2022-05-04 22:49 ` [PATCH 125/128] KVM: selftests: Drop @num_percpu_pages " Sean Christopherson
2022-05-04 22:49 ` [PATCH 126/128] KVM: selftests: Move per-VM/per-vCPU nr pages calculation to __vm_create() Sean Christopherson
2022-05-04 22:49 ` [PATCH 127/128] KVM: selftests: Trust that MAXPHYADDR > memslot0 in vmx_apic_access_test Sean Christopherson
2022-05-04 22:49 ` [PATCH 128/128] KVM: selftests: Drop DEFAULT_GUEST_PHY_PAGES, open code the magic number Sean Christopherson
2022-05-05 14:26 ` [PATCH 000/128] KVM: selftests: Overhaul APIs, purge VCPU_ID Vitaly Kuznetsov

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=20220504224914.1654036-93-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=bgardon@google.com \
    --cc=dmatlack@google.com \
    --cc=drjones@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oupton@google.com \
    --cc=pbonzini@redhat.com \
    --cc=vkuznets@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox