All of lore.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 015/128] KVM: sefltests: Use vm_ioctl() and __vm_ioctl() helpers
Date: Wed,  4 May 2022 22:47:21 +0000	[thread overview]
Message-ID: <20220504224914.1654036-16-seanjc@google.com> (raw)
In-Reply-To: <20220504224914.1654036-1-seanjc@google.com>

Use the recently introduced VM-specific ioctl() helpers instead of open
coding calls to ioctl() just to pretty print the ioctl name.  Keep a few
open coded assertions that provide additional info.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 .../selftests/kvm/include/kvm_util_base.h     |  60 +++++++--
 .../selftests/kvm/kvm_binary_stats_test.c     |   6 +-
 .../testing/selftests/kvm/lib/aarch64/vgic.c  |   6 +-
 tools/testing/selftests/kvm/lib/kvm_util.c    | 116 ++----------------
 .../selftests/kvm/set_memory_region_test.c    |   3 +-
 .../kvm/x86_64/pmu_event_filter_test.c        |   2 +-
 6 files changed, 67 insertions(+), 126 deletions(-)

diff --git a/tools/testing/selftests/kvm/include/kvm_util_base.h b/tools/testing/selftests/kvm/include/kvm_util_base.h
index 39e1971e5d65..1ccb91103e74 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_SYSCALL_ERROR(_name, _ret) \
 	"%s failed, rc: %i errno: %i (%s)", (_name), (_ret), errno, strerror(errno)
@@ -126,6 +124,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);
 
@@ -134,19 +149,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);
 int kvm_memfd_alloc(size_t size, bool hugepages);
 
 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
  *
@@ -483,8 +525,6 @@ kvm_userspace_memory_region_find(struct kvm_vm *vm, uint64_t start,
 
 void assert_on_unhandled_exception(struct kvm_vm *vm, uint32_t vcpuid);
 
-int vm_get_stats_fd(struct kvm_vm *vm);
-
 uint32_t guest_get_vcpuid(void);
 
 #endif /* SELFTEST_KVM_UTIL_BASE_H */
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/aarch64/vgic.c b/tools/testing/selftests/kvm/lib/aarch64/vgic.c
index 5d45046c1b80..25d1ec65621d 100644
--- a/tools/testing/selftests/kvm/lib/aarch64/vgic.c
+++ b/tools/testing/selftests/kvm/lib/aarch64/vgic.c
@@ -104,8 +104,7 @@ void kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level)
 {
 	int ret = _kvm_irq_set_level_info(gic_fd, intid, level);
 
-	TEST_ASSERT(ret == 0, "KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO failed, "
-			"rc: %i errno: %i", ret, errno);
+	TEST_ASSERT(!ret, KVM_IOCTL_ERROR(KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO, ret));
 }
 
 int _kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level)
@@ -127,8 +126,7 @@ void kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level)
 {
 	int ret = _kvm_arm_irq_line(vm, intid, level);
 
-	TEST_ASSERT(ret == 0, "KVM_IRQ_LINE failed, rc: %i errno: %i",
-			ret, errno);
+	TEST_ASSERT(!ret, KVM_IOCTL_ERROR(KVM_IRQ_LINE, ret));
 }
 
 static void vgic_poke_irq(int gic_fd, uint32_t intid,
diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c
index 7eedd9ff20fa..339d524a0399 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 };
@@ -460,36 +410,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
  *
@@ -645,9 +565,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);
-	TEST_ASSERT(ret == 0, "KVM_SET_USER_MEMORY_REGION IOCTL failed, "
-		    "rc: %i errno: %i", ret, errno);
+	vm_ioctl(vm, KVM_SET_USER_MEMORY_REGION, &region->region);
 
 	sparsebit_free(&region->unused_phy_pages);
 	ret = munmap(region->mmap_start, region->mmap_size);
@@ -993,7 +911,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"
@@ -1076,7 +994,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",
@@ -1106,7 +1024,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",
@@ -1190,10 +1108,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",
@@ -1534,11 +1452,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;
 }
@@ -1759,7 +1673,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;
 }
@@ -1855,7 +1769,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)
@@ -1894,7 +1808,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;
@@ -1905,8 +1819,7 @@ void kvm_gsi_routing_write(struct kvm_vm *vm, struct kvm_irq_routing *routing)
 	int ret;
 
 	ret = _kvm_gsi_routing_write(vm, routing);
-	TEST_ASSERT(ret == 0, "KVM_SET_GSI_ROUTING failed, rc: %i errno: %i",
-				ret, errno);
+	TEST_ASSERT(!ret, KVM_IOCTL_ERROR(KVM_SET_GSI_ROUTING, ret));
 }
 
 /*
@@ -2205,8 +2118,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 89b13f23c3ac..e66deb8ba7e0 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);
diff --git a/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c b/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
index 0d06ffa95d9d..269033af43ce 100644
--- a/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
+++ b/tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c
@@ -344,7 +344,7 @@ static void test_pmu_config_disable(void (*guest_code)(void))
 
 	cap.cap = KVM_CAP_PMU_CAPABILITY;
 	cap.args[0] = KVM_PMU_CAP_DISABLE;
-	TEST_ASSERT(!vm_enable_cap(vm, &cap), "Failed to set KVM_PMU_CAP_DISABLE.");
+	vm_enable_cap(vm, &cap);
 
 	vm_vcpu_add_default(vm, VCPU_ID, guest_code);
 	vm_init_descriptor_tables(vm);
-- 
2.36.0.464.gb9c8b46e94-goog


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

Thread overview: 132+ 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 ` Sean Christopherson [this message]
2022-05-04 22:47 ` [PATCH 016/128] KVM: selftests: Make kvm_ioctl() " 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 ` [PATCH 092/128] KVM: selftests: Add "arch" to common utils that have arch implementations Sean Christopherson
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 120/128] KVM: selftests: Purge vm+vcpu_id == vcpu silliness 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-16-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 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.