Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Marc Zyngier <maz@kernel.org>,
	Oliver Upton <oliver.upton@linux.dev>,
	 Paolo Bonzini <pbonzini@redhat.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Janosch Frank <frankja@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	 Sean Christopherson <seanjc@google.com>,
	Anup Patel <anup@brainfault.org>,
	 Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>
Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	 kvm@vger.kernel.org, kvm-riscv@lists.infradead.org,
	 linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	 Ackerley Tng <ackerleytng@google.com>
Subject: [PATCH 16/18] KVM: selftests: Add macro for TSS selector, rename up code/data macros
Date: Thu, 14 Mar 2024 16:26:35 -0700	[thread overview]
Message-ID: <20240314232637.2538648-17-seanjc@google.com> (raw)
In-Reply-To: <20240314232637.2538648-1-seanjc@google.com>

Add a proper #define for the TSS selector instead of open coding 0x18 and
hoping future developers don't use that selector for something else.

Opportunistically rename the code and data selector macros to shorten the
names, align the naming with the kernel's scheme, and capture that they
are *kernel* segments.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 .../selftests/kvm/lib/x86_64/processor.c       | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c
index 03b9387a1d2e..67235013f6f9 100644
--- a/tools/testing/selftests/kvm/lib/x86_64/processor.c
+++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c
@@ -15,8 +15,9 @@
 #define NUM_INTERRUPTS 256
 #endif
 
-#define DEFAULT_CODE_SELECTOR 0x8
-#define DEFAULT_DATA_SELECTOR 0x10
+#define KERNEL_CS	0x8
+#define KERNEL_DS	0x10
+#define KERNEL_TSS	0x18
 
 #define MAX_NR_CPUID_ENTRIES 100
 
@@ -547,11 +548,11 @@ static void vcpu_init_sregs(struct kvm_vm *vm, struct kvm_vcpu *vcpu)
 	sregs.efer |= (EFER_LME | EFER_LMA | EFER_NX);
 
 	kvm_seg_set_unusable(&sregs.ldt);
-	kvm_seg_set_kernel_code_64bit(vm, DEFAULT_CODE_SELECTOR, &sregs.cs);
-	kvm_seg_set_kernel_data_64bit(vm, DEFAULT_DATA_SELECTOR, &sregs.ds);
-	kvm_seg_set_kernel_data_64bit(vm, DEFAULT_DATA_SELECTOR, &sregs.es);
-	kvm_seg_set_kernel_data_64bit(NULL, DEFAULT_DATA_SELECTOR, &sregs.gs);
-	kvm_setup_tss_64bit(vm, &sregs.tr, 0x18);
+	kvm_seg_set_kernel_code_64bit(vm, KERNEL_CS, &sregs.cs);
+	kvm_seg_set_kernel_data_64bit(vm, KERNEL_DS, &sregs.ds);
+	kvm_seg_set_kernel_data_64bit(vm, KERNEL_DS, &sregs.es);
+	kvm_seg_set_kernel_data_64bit(NULL, KERNEL_DS, &sregs.gs);
+	kvm_setup_tss_64bit(vm, &sregs.tr, KERNEL_TSS);
 
 	sregs.cr3 = vm->pgd;
 	vcpu_sregs_set(vcpu, &sregs);
@@ -620,8 +621,7 @@ static void vm_init_descriptor_tables(struct kvm_vm *vm)
 
 	/* Handlers have the same address in both address spaces.*/
 	for (i = 0; i < NUM_INTERRUPTS; i++)
-		set_idt_entry(vm, i, (unsigned long)(&idt_handlers)[i], 0,
-			DEFAULT_CODE_SELECTOR);
+		set_idt_entry(vm, i, (unsigned long)(&idt_handlers)[i], 0, KERNEL_CS);
 
 	*(vm_vaddr_t *)addr_gva2hva(vm, (vm_vaddr_t)(&exception_handlers)) = vm->handlers;
 }
-- 
2.44.0.291.gc1ea87d7ee-goog


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  parent reply	other threads:[~2024-03-15  0:32 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-14 23:26 [PATCH 00/18] KVM: selftests: Clean up x86's DT initialization Sean Christopherson
2024-03-14 23:26 ` [PATCH 01/18] Revert "kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h" Sean Christopherson
2024-03-28  2:49   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 02/18] KVM: sefltests: Add kvm_util_types.h to hold common types, e.g. vm_vaddr_t Sean Christopherson
2024-03-28  2:48   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 03/18] KVM: selftests: Move GDT, IDT, and TSS fields to x86's kvm_vm_arch Sean Christopherson
2024-03-28  2:48   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 04/18] KVM: selftests: Fix off-by-one initialization of GDT limit Sean Christopherson
2024-03-14 23:26 ` [PATCH 05/18] KVM: selftests: Move platform_info_test's main assert into guest code Sean Christopherson
2024-03-14 23:26 ` [PATCH 06/18] KVM: selftests: Rework platform_info_test to actually verify #GP Sean Christopherson
2024-03-14 23:26 ` [PATCH 07/18] KVM: selftests: Explicitly clobber the IDT in the "delete memslot" testcase Sean Christopherson
2024-03-14 23:26 ` [PATCH 08/18] KVM: selftests: Move x86's descriptor table helpers "up" in processor.c Sean Christopherson
2024-03-28  2:47   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 09/18] KVM: selftests: Rename x86's vcpu_setup() to vcpu_init_sregs() Sean Christopherson
2024-03-28  2:47   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 10/18] KVM: selftests: Init IDT and exception handlers for all VMs/vCPUs on x86 Sean Christopherson
2024-03-28  2:46   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 11/18] KVM: selftests: Map x86's exception_handlers at VM creation, not vCPU setup Sean Christopherson
2024-03-28  2:35   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 12/18] KVM: selftests: Allocate x86's GDT during VM creation Sean Christopherson
2024-03-28  2:33   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 13/18] KVM: selftests: Drop superfluous switch() on vm->mode in vcpu_init_sregs() Sean Christopherson
2024-03-28  2:28   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 14/18] KVM: selftests: Fold x86's descriptor tables helpers into vcpu_init_sregs() Sean Christopherson
2024-03-28  2:50   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 15/18] KVM: selftests: Allocate x86's TSS at VM creation Sean Christopherson
2024-03-28  2:50   ` Ackerley Tng
2024-03-14 23:26 ` Sean Christopherson [this message]
2024-03-28  2:52   ` [PATCH 16/18] KVM: selftests: Add macro for TSS selector, rename up code/data macros Ackerley Tng
2024-03-14 23:26 ` [PATCH 17/18] KVM: selftests: Init x86's segments during VM creation Sean Christopherson
2024-03-28  2:51   ` Ackerley Tng
2024-03-14 23:26 ` [PATCH 18/18] KVM: selftests: Drop @selector from segment helpers Sean Christopherson
2024-03-28  2:51   ` Ackerley Tng
2024-04-29 20:45 ` [PATCH 00/18] KVM: selftests: Clean up x86's DT initialization Sean Christopherson

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=20240314232637.2538648-17-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=ackerleytng@google.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=borntraeger@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=pbonzini@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