public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: linux-kernel@vger.kernel.org
Cc: Sean Christopherson <seanjc@google.com>
Subject: [RFC PATCH 014/105] KVM: sefltests: Use vm_ioctl() and __vm_ioctl() helpers
Date: Fri, 11 Mar 2022 05:49:25 +0000	[thread overview]
Message-ID: <20220311055056.57265-15-seanjc@google.com> (raw)
In-Reply-To: <20220311055056.57265-1-seanjc@google.com>

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 .../selftests/kvm/include/kvm_util_base.h     |  59 ++++++++--
 .../selftests/kvm/kvm_binary_stats_test.c     |   6 +-
 tools/testing/selftests/kvm/lib/kvm_util.c    | 111 ++----------------
 .../selftests/kvm/set_memory_region_test.c    |   5 +-
 4 files changed, 65 insertions(+), 116 deletions(-)

diff --git a/tools/testing/selftests/kvm/include/kvm_util_base.h b/tools/testing/selftests/kvm/include/kvm_util_base.h
index bcffd9f85490..09e84ce50331 100644
--- a/tools/testing/selftests/kvm/include/kvm_util_base.h
+++ b/tools/testing/selftests/kvm/include/kvm_util_base.h
@@ -103,8 +103,6 @@ extern const struct vm_guest_mode_params vm_guest_mode_params[];
 int open_path_or_exit(const char *path, int flags);
 int open_kvm_dev_path_or_exit(void);
 int kvm_check_cap(long cap);
-int vm_check_cap(struct kvm_vm *vm, long cap);
-int vm_enable_cap(struct kvm_vm *vm, struct kvm_enable_cap *cap);
 
 #define __KVM_IOCTL_ERROR(_name, _ret) \
 	"%s failed, rc: %i errno: %i (%s)", (_name), (_ret), errno, strerror(errno)
@@ -125,6 +123,23 @@ void _vcpu_ioctl(struct kvm_vm *vm, uint32_t vcpuid, unsigned long cmd,
 #define vcpu_ioctl(vm, vcpuid, cmd, arg) \
 	_vcpu_ioctl(vm, vcpuid, cmd, #cmd, arg)
 
+/*
+ * Looks up and returns the value corresponding to the capability
+ * (KVM_CAP_*) given by cap.
+ */
+static inline int vm_check_cap(struct kvm_vm *vm, long cap)
+{
+	int ret =  __vm_ioctl(vm, KVM_CHECK_EXTENSION, (void *)cap);
+
+	TEST_ASSERT(ret >= 0, KVM_IOCTL_ERROR(KVM_CHECK_EXTENSION, ret));
+	return ret;
+}
+
+static inline void vm_enable_cap(struct kvm_vm *vm, struct kvm_enable_cap *cap)
+{
+	vm_ioctl(vm, KVM_ENABLE_CAP, cap);
+}
+
 void vm_enable_dirty_ring(struct kvm_vm *vm, uint32_t ring_size);
 const char *vm_guest_mode_string(uint32_t i);
 
@@ -133,18 +148,46 @@ struct kvm_vm *vm_create(uint64_t phy_pages);
 void kvm_vm_free(struct kvm_vm *vmp);
 void kvm_vm_restart(struct kvm_vm *vmp);
 void kvm_vm_release(struct kvm_vm *vmp);
-void kvm_vm_get_dirty_log(struct kvm_vm *vm, int slot, void *log);
-void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log,
-			    uint64_t first_page, uint32_t num_pages);
-uint32_t kvm_vm_reset_dirty_ring(struct kvm_vm *vm);
-
 int kvm_memcmp_hva_gva(void *hva, struct kvm_vm *vm, const vm_vaddr_t gva,
 		       size_t len);
-
 void kvm_vm_elf_load(struct kvm_vm *vm, const char *filename);
 
 void vm_dump(FILE *stream, struct kvm_vm *vm, uint8_t indent);
 
+static inline void kvm_vm_get_dirty_log(struct kvm_vm *vm, int slot, void *log)
+{
+	struct kvm_dirty_log args = { .dirty_bitmap = log, .slot = slot };
+
+	vm_ioctl(vm, KVM_GET_DIRTY_LOG, &args);
+}
+
+static inline void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log,
+					  uint64_t first_page, uint32_t num_pages)
+{
+	struct kvm_clear_dirty_log args = {
+		.dirty_bitmap = log,
+		.slot = slot,
+		.first_page = first_page,
+		.num_pages = num_pages
+	};
+
+	vm_ioctl(vm, KVM_CLEAR_DIRTY_LOG, &args);
+}
+
+static inline uint32_t kvm_vm_reset_dirty_ring(struct kvm_vm *vm)
+{
+	return __vm_ioctl(vm, KVM_RESET_DIRTY_RINGS, NULL);
+}
+
+static inline int vm_get_stats_fd(struct kvm_vm *vm)
+{
+	int fd = __vm_ioctl(vm, KVM_GET_STATS_FD, NULL);
+
+	TEST_ASSERT(fd >= 0, KVM_IOCTL_ERROR(KVM_GET_STATS_FD, fd));
+	return fd;
+}
+
+
 /*
  * VM VCPU Dump
  *
diff --git a/tools/testing/selftests/kvm/kvm_binary_stats_test.c b/tools/testing/selftests/kvm/kvm_binary_stats_test.c
index bab8b49b52da..0a27b0f85009 100644
--- a/tools/testing/selftests/kvm/kvm_binary_stats_test.c
+++ b/tools/testing/selftests/kvm/kvm_binary_stats_test.c
@@ -165,11 +165,7 @@ static void stats_test(int stats_fd)
 
 static void vm_stats_test(struct kvm_vm *vm)
 {
-	int stats_fd;
-
-	/* Get fd for VM stats */
-	stats_fd = vm_get_stats_fd(vm);
-	TEST_ASSERT(stats_fd >= 0, "Get VM stats fd");
+	int stats_fd = vm_get_stats_fd(vm);
 
 	stats_test(stats_fd);
 	close(stats_fd);
diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c
index a37baaddfeaf..974de21eef23 100644
--- a/tools/testing/selftests/kvm/lib/kvm_util.c
+++ b/tools/testing/selftests/kvm/lib/kvm_util.c
@@ -85,56 +85,6 @@ int kvm_check_cap(long cap)
 	return ret;
 }
 
-/* VM Check Capability
- *
- * Input Args:
- *   vm - Virtual Machine
- *   cap - Capability
- *
- * Output Args: None
- *
- * Return:
- *   On success, the Value corresponding to the capability (KVM_CAP_*)
- *   specified by the value of cap.  On failure a TEST_ASSERT failure
- *   is produced.
- *
- * Looks up and returns the value corresponding to the capability
- * (KVM_CAP_*) given by cap.
- */
-int vm_check_cap(struct kvm_vm *vm, long cap)
-{
-	int ret;
-
-	ret = ioctl(vm->fd, KVM_CHECK_EXTENSION, cap);
-	TEST_ASSERT(ret >= 0, "KVM_CHECK_EXTENSION VM IOCTL failed,\n"
-		"  rc: %i errno: %i", ret, errno);
-
-	return ret;
-}
-
-/* VM Enable Capability
- *
- * Input Args:
- *   vm - Virtual Machine
- *   cap - Capability
- *
- * Output Args: None
- *
- * Return: On success, 0. On failure a TEST_ASSERT failure is produced.
- *
- * Enables a capability (KVM_CAP_*) on the VM.
- */
-int vm_enable_cap(struct kvm_vm *vm, struct kvm_enable_cap *cap)
-{
-	int ret;
-
-	ret = ioctl(vm->fd, KVM_ENABLE_CAP, cap);
-	TEST_ASSERT(ret == 0, "KVM_ENABLE_CAP IOCTL failed,\n"
-		"  rc: %i errno: %i", ret, errno);
-
-	return ret;
-}
-
 void vm_enable_dirty_ring(struct kvm_vm *vm, uint32_t ring_size)
 {
 	struct kvm_enable_cap cap = { 0 };
@@ -452,36 +402,6 @@ void kvm_vm_restart(struct kvm_vm *vmp)
 	}
 }
 
-void kvm_vm_get_dirty_log(struct kvm_vm *vm, int slot, void *log)
-{
-	struct kvm_dirty_log args = { .dirty_bitmap = log, .slot = slot };
-	int ret;
-
-	ret = ioctl(vm->fd, KVM_GET_DIRTY_LOG, &args);
-	TEST_ASSERT(ret == 0, "%s: KVM_GET_DIRTY_LOG failed: %s",
-		    __func__, strerror(-ret));
-}
-
-void kvm_vm_clear_dirty_log(struct kvm_vm *vm, int slot, void *log,
-			    uint64_t first_page, uint32_t num_pages)
-{
-	struct kvm_clear_dirty_log args = {
-		.dirty_bitmap = log, .slot = slot,
-		.first_page = first_page,
-		.num_pages = num_pages
-	};
-	int ret;
-
-	ret = ioctl(vm->fd, KVM_CLEAR_DIRTY_LOG, &args);
-	TEST_ASSERT(ret == 0, "%s: KVM_CLEAR_DIRTY_LOG failed: %s",
-		    __func__, strerror(-ret));
-}
-
-uint32_t kvm_vm_reset_dirty_ring(struct kvm_vm *vm)
-{
-	return ioctl(vm->fd, KVM_RESET_DIRTY_RINGS);
-}
-
 /*
  * Userspace Memory Region Find
  *
@@ -637,7 +557,7 @@ static void __vm_mem_region_delete(struct kvm_vm *vm,
 	}
 
 	region->region.memory_size = 0;
-	ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region);
+	ret = __vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region->region);
 	TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed, "
 		    "rc: %i errno: %i", ret, errno);
 
@@ -955,7 +875,7 @@ void vm_userspace_mem_region_add(struct kvm_vm *vm,
 	region->region.guest_phys_addr = guest_paddr;
 	region->region.memory_size = npages * vm->page_size;
 	region->region.userspace_addr = (uintptr_t) region->host_mem;
-	ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region);
+	ret = __vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region->region);
 	TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed,\n"
 		"  rc: %i errno: %i\n"
 		"  slot: %u flags: 0x%x\n"
@@ -1038,7 +958,7 @@ void vm_mem_region_set_flags(struct kvm_vm *vm, uint32_t slot, uint32_t flags)
 
 	region->region.flags = flags;
 
-	ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region);
+	ret = __vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region->region);
 
 	TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed,\n"
 		"  rc: %i errno: %i slot: %u flags: 0x%x",
@@ -1068,7 +988,7 @@ void vm_mem_region_move(struct kvm_vm *vm, uint32_t slot, uint64_t new_gpa)
 
 	region->region.guest_phys_addr = new_gpa;
 
-	ret = ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION, &region->region);
+	ret = __vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region->region);
 
 	TEST_ASSERT(!ret, "KVM_SET_USER_MEMORY_REGION failed\n"
 		    "ret: %i errno: %i slot: %u new_gpa: 0x%lx",
@@ -1152,10 +1072,10 @@ void vm_vcpu_add(struct kvm_vm *vm, uint32_t vcpuid)
 	/* Allocate and initialize new vcpu structure. */
 	vcpu = calloc(1, sizeof(*vcpu));
 	TEST_ASSERT(vcpu != NULL, "Insufficient Memory");
+
 	vcpu->id = vcpuid;
-	vcpu->fd = ioctl(vm->fd, KVM_CREATE_VCPU, vcpuid);
-	TEST_ASSERT(vcpu->fd >= 0, "KVM_CREATE_VCPU failed, rc: %i errno: %i",
-		vcpu->fd, errno);
+	vcpu->fd = __vm_ioctl(vm, KVM_CREATE_VCPU, (void *)(unsigned long)vcpuid);
+	TEST_ASSERT(vcpu->fd >= 0, KVM_IOCTL_ERROR(KVM_CREATE_VCPU, vcpu->fd));
 
 	TEST_ASSERT(vcpu_mmap_sz() >= sizeof(*vcpu->state), "vcpu mmap size "
 		"smaller than expected, vcpu_mmap_sz: %i expected_min: %zi",
@@ -1496,11 +1416,7 @@ void *addr_gpa2alias(struct kvm_vm *vm, vm_paddr_t gpa)
  */
 void vm_create_irqchip(struct kvm_vm *vm)
 {
-	int ret;
-
-	ret = ioctl(vm->fd, KVM_CREATE_IRQCHIP, 0);
-	TEST_ASSERT(ret == 0, "KVM_CREATE_IRQCHIP IOCTL failed, "
-		"rc: %i errno: %i", ret, errno);
+	vm_ioctl(vm, KVM_CREATE_IRQCHIP, NULL);
 
 	vm->has_irqchip = true;
 }
@@ -1721,7 +1637,7 @@ int _kvm_create_device(struct kvm_vm *vm, uint64_t type, bool test, int *fd)
 	create_dev.type = type;
 	create_dev.fd = -1;
 	create_dev.flags = test ? KVM_CREATE_DEVICE_TEST : 0;
-	ret = ioctl(vm_get_fd(vm), KVM_CREATE_DEVICE, &create_dev);
+	ret = __vm_ioctl(vm, KVM_CREATE_DEVICE, &create_dev);
 	*fd = create_dev.fd;
 	return ret;
 }
@@ -1817,7 +1733,7 @@ void kvm_irq_line(struct kvm_vm *vm, uint32_t irq, int level)
 {
 	int ret = _kvm_irq_line(vm, irq, level);
 
-	TEST_ASSERT(ret >= 0, "KVM_IRQ_LINE failed, rc: %i errno: %i", ret, errno);
+	TEST_ASSERT(ret >= 0, KVM_IOCTL_ERROR(KVM_IRQ_LINE, ret));
 }
 
 struct kvm_irq_routing *kvm_gsi_routing_create(void)
@@ -1856,7 +1772,7 @@ int _kvm_gsi_routing_write(struct kvm_vm *vm, struct kvm_irq_routing *routing)
 	int ret;
 
 	assert(routing);
-	ret = ioctl(vm_get_fd(vm), KVM_SET_GSI_ROUTING, routing);
+	ret = __vm_ioctl(vm, KVM_SET_GSI_ROUTING, routing);
 	free(routing);
 
 	return ret;
@@ -2167,8 +2083,3 @@ unsigned int vm_calc_num_guest_pages(enum vm_guest_mode mode, size_t size)
 	n = DIV_ROUND_UP(size, vm_guest_mode_params[mode].page_size);
 	return vm_adjust_num_guest_pages(mode, n);
 }
-
-int vm_get_stats_fd(struct kvm_vm *vm)
-{
-	return ioctl(vm->fd, KVM_GET_STATS_FD, NULL);
-}
diff --git a/tools/testing/selftests/kvm/set_memory_region_test.c b/tools/testing/selftests/kvm/set_memory_region_test.c
index fa4613010091..482ae2ad662c 100644
--- a/tools/testing/selftests/kvm/set_memory_region_test.c
+++ b/tools/testing/selftests/kvm/set_memory_region_test.c
@@ -317,8 +317,7 @@ static void test_zero_memory_regions(void)
 	vm = vm_create(0);
 	vm_vcpu_add(vm, VCPU_ID);
 
-	TEST_ASSERT(!ioctl(vm_get_fd(vm), KVM_SET_NR_MMU_PAGES, 64),
-		    "KVM_SET_NR_MMU_PAGES failed, errno = %d\n", errno);
+	vm_ioctl(vm, KVM_SET_NR_MMU_PAGES, (void *)64ul);
 	vcpu_run(vm, VCPU_ID);
 
 	run = vcpu_state(vm, VCPU_ID);
@@ -340,7 +339,7 @@ static int test_memory_region_add(struct kvm_vm *vm, void *mem, uint32_t slot,
 	region.guest_phys_addr = guest_addr;
 	region.memory_size = size;
 	region.userspace_addr = (uintptr_t) mem;
-	ret = ioctl(vm_get_fd(vm), KVM_SET_USER_MEMORY_REGION, &region);
+	ret = __vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region);
 
 	return ret;
 }
-- 
2.35.1.723.g4982287a31-goog


  parent reply	other threads:[~2022-03-11  5:52 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-11  5:49 [RFC PATCH 000/105] KVM: selftests: Overhaul APIs, purge VCPU_ID Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 001/105] KVM: selftests: Fix buggy check in test_v3_new_redist_regions() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 002/105] KVM: selftests: Always open VM file descriptors with O_RDWR Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 003/105] KVM: selftest: Add another underscore to inner ioctl helpers Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 004/105] KVM: selftests: Make vcpu_ioctl() a wrapper to pretty print ioctl name Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 005/105] KVM: selftests: Drop @mode from common vm_create() helper Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 006/105] KVM: selftests: Split vcpu_set_nested_state() into two helpers Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 007/105] KVM: selftests: Add hyperv_svm_test test binary to .gitignore Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 008/105] KVM: sefltests: Use vcpu_ioctl() and __vcpu_ioctl() helpers Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 009/105] KVM: selftests: Add __vcpu_run() helper Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 010/105] KVM: selftests: Use vcpu_access_device_attr() in arm64 code Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 011/105] KVM: selftests: Remove vcpu_get_fd() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 012/105] KVM: selftests: Add vcpu_get() to retrieve and assert on vCPU existence Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 013/105] KVM: selftests: Make vm_ioctl() a wrapper to pretty print ioctl name Sean Christopherson
2022-03-11  5:49 ` Sean Christopherson [this message]
2022-03-11  5:49 ` [RFC PATCH 015/105] KVM: selftests: Make kvm_ioctl() " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 016/105] KVM: selftests: Use kvm_ioctl() helpers Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 017/105] KVM: selftests: Make x86-64's register dump helpers static Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 018/105] KVM: selftests: Get rid of kvm_util_internal.h Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 019/105] KVM: selftests: Use KVM_IOCTL_ERROR() for one-off arm64 ioctls Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 020/105] KVM: selftests: Drop @test param from kvm_create_device() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 021/105] KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 022/105] KVM: selftests: Multiplex return code and fd in __kvm_create_device() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 023/105] KVM: selftests: Rename KVM_HAS_DEVICE_ATTR helpers for consistency Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 024/105] KVM: selftests: Drop 'int' return from asserting *_device_has_attr() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 025/105] KVM: selftests: Split get/set device_attr helpers Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 026/105] KVM: selftests: Add a VM backpointer to 'struct vcpu' Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 027/105] KVM: selftests: Add vm_create_*() variants to expose/return " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 028/105] KVM: selftests: Rename vcpu.state => vcpu.run Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 029/105] KVM: selftests: Rename 'struct vcpu' to 'struct kvm_vcpu' Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 030/105] KVM: selftests: Return the created vCPU from vm_vcpu_add() Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 031/105] KVM: selftests: Convert memslot_perf_test away from VCPU_ID Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 032/105] KVM: selftests: Convert rseq_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 033/105] KVM: selftests: Convert xss_msr_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 034/105] KVM: selftests: Convert vmx_preemption_timer_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 035/105] KVM: selftests: Convert vmx_pmu_msrs_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 036/105] KVM: selftests: Convert vmx_set_nested_state_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 037/105] KVM: selftests: Convert vmx_tsc_adjust_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 038/105] KVM: selftests: Convert mmu_role_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 039/105] KVM: selftests: Convert pmu_event_filter_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 040/105] KVM: selftests: Convert smm_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 041/105] KVM: selftests: Convert state_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 042/105] KVM: selftests: Convert svm_int_ctl_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 043/105] KVM: selftests: Convert svm_vmcall_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 044/105] KVM: selftests: Convert sync_regs_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 045/105] KVM: selftests: Convert hyperv_cpuid " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 046/105] KVM: selftests: Convert kvm_pv_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 047/105] KVM: selftests: Convert platform_info_test " Sean Christopherson
2022-03-11  5:49 ` [RFC PATCH 048/105] KVM: selftests: Convert vmx_nested_tsc_scaling_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 049/105] KVM: selftests: Convert set_sregs_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 050/105] KVM: selftests: Convert vmx_dirty_log_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 051/105] KVM: selftests: Convert vmx_close_while_nested_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 052/105] KVM: selftests: Convert vmx_apic_access_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 053/105] KVM: selftests: Convert userspace_msr_exit_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 054/105] KVM: selftests: Convert vmx_exception_with_invalid_guest_state " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 055/105] KVM: selftests: Convert tsc_msrs_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 056/105] KVM: selftests: Convert kvm_clock_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 057/105] KVM: selftests: Convert hyperv_svm_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 058/105] KVM: selftests: Convert hyperv_features " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 059/105] KVM: selftests: Convert hyperv_clock " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 060/105] KVM: selftests: Convert evmcs_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 061/105] KVM: selftests: Convert emulator_error_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 062/105] KVM: selftests: Convert debug_regs " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 063/105] KVM: selftests: Add proper helper for advancing RIP in debug_regs Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 064/105] KVM: selftests: Convert amx_test away from VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 065/105] KVM: selftests: Convert cr4_cpuid_sync_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 066/105] KVM: selftests: Convert cpuid_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 067/105] KVM: selftests: Convert userspace_io_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 068/105] KVM: selftests: Convert vmx_invalid_nested_guest_state " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 069/105] KVM: selftests: Convert xen_vmcall_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 070/105] KVM: selftests: Convert xen_shinfo_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 071/105] KVM: selftests: Convert dirty_log_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 072/105] KVM: selftests: Convert set_memory_region_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 073/105] KVM: selftests: Convert system_counter_offset_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 074/105] KVM: selftests: Convert debug-exceptions " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 075/105] KVM: selftests: Convert vgic_irq.c include/aarch64/vgic.h lib/aarch64/vgic " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 076/105] KVM: selftests: Make arm64's guest_get_vcpuid() declaration arm64-only Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 077/105] KVM: selftests: Move vm_is_unrestricted_guest() to x86-64 Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 078/105] KVM: selftests: Add "arch" to common utils that have arch implementations Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 079/105] KVM: selftests: Return created vcpu from vm_vcpu_add_default() Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 080/105] KVM: selftests: Rename vm_vcpu_add* helpers to better show relationships Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 081/105] KVM: selftests: Convert set_boot_cpu_id away from VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 082/105] KVM: selftests: Convert psci_cpu_on_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 083/105] KVM: selftests: Convert hardware_disable_test " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 084/105] KVM: selftests: Add VM creation helper that "returns" vCPUs Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 085/105] KVM: selftests: Convert steal_time away from VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 086/105] KVM: selftests: Convert arch_timer " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 087/105] KVM: selftests: Fix typo in vgic_init test Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 088/105] KVM: selftests: Convert vgic_init away from vm_create_default_with_vcpus() Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 089/105] KVM: selftests: Convert xapic_ipi_test away from *_VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 090/105] KVM: selftests: Convert sync_regs_test away from VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 091/105] KVM: selftests: Convert resets " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 092/105] KVM: selftests: Convert memop " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 093/105] KVM: selftests: Convert s390x/diag318_test_handler " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 094/105] KVM: selftests: Drop vm_create_default* helpers Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 095/105] KVM: selftests: Drop vcpuids param from VM creators Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 096/105] KVM: selftests: Convert kvm_page_table_test away from reliance on vcpu_id Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 097/105] KVM: selftests: Convert kvm_binary_stats_test away from VCPU_ID Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 098/105] KVM: selftests: Convert get-reg-list " Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 099/105] KVM: selftests: Stop conflating vCPU index and ID in perf tests Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 100/105] KVM: selftests: Remove vcpu_get() usage from dirty_log_test Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 101/105] KVM: selftests: Require vCPU output array when creating VM with vCPUs Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 102/105] KVM: selftest: Purge vm+vcpu_id == vcpu silliness Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 103/105] KVM: selftests: Drop vcpu_get(), rename vcpu_find() => vcpu_exists() Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 104/105] KVM: selftests: Remove vcpu_state() helper Sean Christopherson
2022-03-11  5:50 ` [RFC PATCH 105/105] KVM: selftests: Open code and drop kvm_vm accessors Sean Christopherson
2022-03-14  9:49 ` [RFC PATCH 000/105] KVM: selftests: Overhaul APIs, purge VCPU_ID Vitaly Kuznetsov
2022-03-14 11:06 ` Andrew Jones
2022-03-14 17:56   ` Oliver Upton
2022-03-15  8:08     ` Andrew Jones
2022-03-28 19:02   ` Sean Christopherson
2022-04-06 16:50 ` David Matlack

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=20220311055056.57265-15-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=linux-kernel@vger.kernel.org \
    /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