Commit 2a511ca9 authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: selftests: Allocate x86's GDT during VM creation



Allocate the GDT during creation of non-barebones VMs instead of waiting
until the first vCPU is created, as the whole point of non-barebones VMs
is to be able to run vCPUs, i.e. the GDT is going to get allocated no
matter what.

Reviewed-by: default avatarAckerley Tng <ackerleytng@google.com>
Link: https://lore.kernel.org/r/20240314232637.2538648-13-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 44c93b27
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -519,9 +519,6 @@ vm_paddr_t addr_arch_gva2gpa(struct kvm_vm *vm, vm_vaddr_t gva)

static void kvm_setup_gdt(struct kvm_vm *vm, struct kvm_dtable *dt)
{
	if (!vm->arch.gdt)
		vm->arch.gdt = __vm_vaddr_alloc_page(vm, MEM_REGION_DATA);

	dt->base = vm->arch.gdt;
	dt->limit = getpagesize() - 1;
}
@@ -645,6 +642,7 @@ static void vm_init_descriptor_tables(struct kvm_vm *vm)
	extern void *idt_handlers;
	int i;

	vm->arch.gdt = __vm_vaddr_alloc_page(vm, MEM_REGION_DATA);
	vm->arch.idt = __vm_vaddr_alloc_page(vm, MEM_REGION_DATA);
	vm->handlers = __vm_vaddr_alloc_page(vm, MEM_REGION_DATA);
	/* Handlers have the same address in both address spaces.*/