Skip to content

Commit

Permalink
KVM: selftests: Extend VM creation's @shape to allow control of VM su…
Browse files Browse the repository at this point in the history
…btype

Carve out space in the @shape passed to the various VM creation helpers to
allow using the shape to control the subtype of VM, e.g. to identify x86's
SEV VMs (which are "regular" VMs as far as KVM is concerned).

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Vishal Annapurve <vannapurve@google.com>
Cc: Ackerley Tng <ackerleytng@google.com>
Cc: Andrew Jones <andrew.jones@linux.dev>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Michael Roth <michael.roth@amd.com>
Tested-by: Carlos Bilbao <carlos.bilbao@amd.com>
Link: https://lore.kernel.org/r/20240223004258.3104051-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
  • Loading branch information
sean-jc committed Feb 28, 2024
1 parent 8d25185 commit 1261903
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
9 changes: 7 additions & 2 deletions tools/testing/selftests/kvm/include/kvm_util_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ enum kvm_mem_region_type {
struct kvm_vm {
int mode;
unsigned long type;
uint8_t subtype;
int kvm_fd;
int fd;
unsigned int pgtable_levels;
Expand Down Expand Up @@ -191,10 +192,14 @@ enum vm_guest_mode {
};

struct vm_shape {
enum vm_guest_mode mode;
unsigned int type;
uint32_t type;
uint8_t mode;
uint8_t subtype;
uint16_t padding;
};

kvm_static_assert(sizeof(struct vm_shape) == sizeof(uint64_t));

#define VM_TYPE_DEFAULT 0

#define VM_SHAPE(__mode) \
Expand Down
1 change: 1 addition & 0 deletions tools/testing/selftests/kvm/lib/kvm_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ struct kvm_vm *____vm_create(struct vm_shape shape)

vm->mode = shape.mode;
vm->type = shape.type;
vm->subtype = shape.subtype;

vm->pa_bits = vm_guest_mode_params[vm->mode].pa_bits;
vm->va_bits = vm_guest_mode_params[vm->mode].va_bits;
Expand Down

0 comments on commit 1261903

Please sign in to comment.