Commit 6d349425 authored by David Matlack's avatar David Matlack Committed by Sean Christopherson
Browse files

KVM: selftests: Use gpa_t for GPAs in Hyper-V selftests



Fix various Hyper-V selftests to use gpa_t for variables that contain
guest physical addresses, rather than gva_t.  In practice, the bugs are
benign as both gva_t and gpa_t are u64 typedefs, i.e. gpa_t and gva_t are
interchangeable from a functional perspective, the code is just confusing.

No functional change intended.

Signed-off-by: default avatarDavid Matlack <dmatlack@google.com>
[sean: call out that both are u64 typedefs]
Link: https://patch.msgid.link/20260420212004.3938325-4-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 97dcda3f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ void l2_guest_code(void)
}

void guest_code(struct vmx_pages *vmx_pages, struct hyperv_test_pages *hv_pages,
		gva_t hv_hcall_page_gpa)
		gpa_t hv_hcall_page_gpa)
{
#define L2_GUEST_STACK_SIZE 64
	unsigned long l2_guest_stack[L2_GUEST_STACK_SIZE];
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ static void guest_msr(struct msr_data *msr)
	GUEST_DONE();
}

static void guest_hcall(gva_t pgs_gpa, struct hcall_data *hcall)
static void guest_hcall(gpa_t pgs_gpa, struct hcall_data *hcall)
{
	u64 res, input, output;
	uint8_t vector;
+3 −3
Original line number Diff line number Diff line
@@ -45,13 +45,13 @@ struct hv_send_ipi_ex {
	struct hv_vpset vp_set;
};

static inline void hv_init(gva_t pgs_gpa)
static inline void hv_init(gpa_t pgs_gpa)
{
	wrmsr(HV_X64_MSR_GUEST_OS_ID, HYPERV_LINUX_OS_ID);
	wrmsr(HV_X64_MSR_HYPERCALL, pgs_gpa);
}

static void receiver_code(void *hcall_page, gva_t pgs_gpa)
static void receiver_code(void *hcall_page, gpa_t pgs_gpa)
{
	u32 vcpu_id;

@@ -85,7 +85,7 @@ static inline void nop_loop(void)
		asm volatile("nop");
}

static void sender_guest_code(void *hcall_page, gva_t pgs_gpa)
static void sender_guest_code(void *hcall_page, gpa_t pgs_gpa)
{
	struct hv_send_ipi *ipi = (struct hv_send_ipi *)hcall_page;
	struct hv_send_ipi_ex *ipi_ex = (struct hv_send_ipi_ex *)hcall_page;
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ void l2_guest_code(void)

static void __attribute__((__flatten__)) guest_code(struct svm_test_data *svm,
						    struct hyperv_test_pages *hv_pages,
						    gva_t pgs_gpa)
						    gpa_t pgs_gpa)
{
	unsigned long l2_guest_stack[L2_GUEST_STACK_SIZE];
	struct vmcb *vmcb = svm->vmcb;