From nobody Wed Dec 17 15:52:39 2025 Received: from out-179.mta1.migadu.com (out-179.mta1.migadu.com [95.215.58.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3AA9429BDAC for ; Tue, 21 Oct 2025 07:48:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761032925; cv=none; b=nZKt1Br3g9gKLzhmaw8cnLIyV6a3i+L4lZ8YaPYtPWrnTylxI9o0BSMIBCHa3hCBOBwzThvNdBAgXC0DHYadW9Os2E/jVasKnhTaOOpIv/bCmV8/PuZtYwWFusUquOIxYbWsdvV1/k17avtmOFwUCsOA54PRm/VIu5/xvbQosec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761032925; c=relaxed/simple; bh=ZTFj/EYC4QDe1T7YoQR1FgC56Eg5CQLiqI5uI5zXT9g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LRP8xLEBRjgEur87rgNnNqQUnU1ZZfEWtY2vfId+86l0mT3IRpN1gUn1HPRZE+j8PtUJhUqrUNKqCSS0td9oBswuYexwwQdZnJKs8eg+MJIRNFNTcuujHPkbNndUoZeuING5I96MJwvGIeEiBquFS51i28OFjxl6H18TQH4ThwA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=qC0hpUFn; arc=none smtp.client-ip=95.215.58.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="qC0hpUFn" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1761032916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/nwEhPwIGoPA94YiE8Cr9z5oYeZSCp28VA4jU8QsCaY=; b=qC0hpUFnezC8f2GBOGvkh+JSVIOVqT5slDT+zVEmOZynua9oZcmJgI8nsQSvuk8+Xl8VGM +GZTvaQmtRTJphg35xkGgdSTqbvF51u8PcEBnykD7J3r37qpaDtWB6+apGt/nCd9yXruJp 0vql1dJpNTiPOS2mOzAxX9Yelyo3WHk= From: Yosry Ahmed To: Sean Christopherson Cc: Paolo Bonzini , Jim Mattson , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Yosry Ahmed Subject: [PATCH v2 08/23] KVM: selftests: Stop hardcoding PAGE_SIZE in x86 selftests Date: Tue, 21 Oct 2025 07:47:21 +0000 Message-ID: <20251021074736.1324328-9-yosry.ahmed@linux.dev> In-Reply-To: <20251021074736.1324328-1-yosry.ahmed@linux.dev> References: <20251021074736.1324328-1-yosry.ahmed@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use PAGE_SIZE instead of 4096. Signed-off-by: Yosry Ahmed --- .../selftests/kvm/x86/hyperv_features.c | 2 +- tools/testing/selftests/kvm/x86/hyperv_ipi.c | 18 +++++++++--------- .../testing/selftests/kvm/x86/sev_smoke_test.c | 2 +- tools/testing/selftests/kvm/x86/state_test.c | 2 +- .../selftests/kvm/x86/userspace_io_test.c | 2 +- .../selftests/kvm/x86/vmx_dirty_log_test.c | 10 +++++----- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/kvm/x86/hyperv_features.c b/tools/test= ing/selftests/kvm/x86/hyperv_features.c index 99d327084172f..130b9ce7e5ddd 100644 --- a/tools/testing/selftests/kvm/x86/hyperv_features.c +++ b/tools/testing/selftests/kvm/x86/hyperv_features.c @@ -94,7 +94,7 @@ static void guest_hcall(vm_vaddr_t pgs_gpa, struct hcall_= data *hcall) =20 if (!(hcall->control & HV_HYPERCALL_FAST_BIT)) { input =3D pgs_gpa; - output =3D pgs_gpa + 4096; + output =3D pgs_gpa + PAGE_SIZE; } else { input =3D output =3D 0; } diff --git a/tools/testing/selftests/kvm/x86/hyperv_ipi.c b/tools/testing/s= elftests/kvm/x86/hyperv_ipi.c index 2b5b4bc6ef7ec..ca61836c4e325 100644 --- a/tools/testing/selftests/kvm/x86/hyperv_ipi.c +++ b/tools/testing/selftests/kvm/x86/hyperv_ipi.c @@ -102,7 +102,7 @@ static void sender_guest_code(void *hcall_page, vm_vadd= r_t pgs_gpa) /* 'Slow' HvCallSendSyntheticClusterIpi to RECEIVER_VCPU_ID_1 */ ipi->vector =3D IPI_VECTOR; ipi->cpu_mask =3D 1 << RECEIVER_VCPU_ID_1; - hyperv_hypercall(HVCALL_SEND_IPI, pgs_gpa, pgs_gpa + 4096); + hyperv_hypercall(HVCALL_SEND_IPI, pgs_gpa, pgs_gpa + PAGE_SIZE); nop_loop(); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_1] =3D=3D ++ipis_expected[0]); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_2] =3D=3D ipis_expected[1]); @@ -116,13 +116,13 @@ static void sender_guest_code(void *hcall_page, vm_va= ddr_t pgs_gpa) GUEST_SYNC(stage++); =20 /* 'Slow' HvCallSendSyntheticClusterIpiEx to RECEIVER_VCPU_ID_1 */ - memset(hcall_page, 0, 4096); + memset(hcall_page, 0, PAGE_SIZE); ipi_ex->vector =3D IPI_VECTOR; ipi_ex->vp_set.format =3D HV_GENERIC_SET_SPARSE_4K; ipi_ex->vp_set.valid_bank_mask =3D 1 << 0; ipi_ex->vp_set.bank_contents[0] =3D BIT(RECEIVER_VCPU_ID_1); hyperv_hypercall(HVCALL_SEND_IPI_EX | (1 << HV_HYPERCALL_VARHEAD_OFFSET), - pgs_gpa, pgs_gpa + 4096); + pgs_gpa, pgs_gpa + PAGE_SIZE); nop_loop(); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_1] =3D=3D ++ipis_expected[0]); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_2] =3D=3D ipis_expected[1]); @@ -138,13 +138,13 @@ static void sender_guest_code(void *hcall_page, vm_va= ddr_t pgs_gpa) GUEST_SYNC(stage++); =20 /* 'Slow' HvCallSendSyntheticClusterIpiEx to RECEIVER_VCPU_ID_2 */ - memset(hcall_page, 0, 4096); + memset(hcall_page, 0, PAGE_SIZE); ipi_ex->vector =3D IPI_VECTOR; ipi_ex->vp_set.format =3D HV_GENERIC_SET_SPARSE_4K; ipi_ex->vp_set.valid_bank_mask =3D 1 << 1; ipi_ex->vp_set.bank_contents[0] =3D BIT(RECEIVER_VCPU_ID_2 - 64); hyperv_hypercall(HVCALL_SEND_IPI_EX | (1 << HV_HYPERCALL_VARHEAD_OFFSET), - pgs_gpa, pgs_gpa + 4096); + pgs_gpa, pgs_gpa + PAGE_SIZE); nop_loop(); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_1] =3D=3D ipis_expected[0]); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_2] =3D=3D ++ipis_expected[1]); @@ -160,14 +160,14 @@ static void sender_guest_code(void *hcall_page, vm_va= ddr_t pgs_gpa) GUEST_SYNC(stage++); =20 /* 'Slow' HvCallSendSyntheticClusterIpiEx to both RECEIVER_VCPU_ID_{1,2} = */ - memset(hcall_page, 0, 4096); + memset(hcall_page, 0, PAGE_SIZE); ipi_ex->vector =3D IPI_VECTOR; ipi_ex->vp_set.format =3D HV_GENERIC_SET_SPARSE_4K; ipi_ex->vp_set.valid_bank_mask =3D 1 << 1 | 1; ipi_ex->vp_set.bank_contents[0] =3D BIT(RECEIVER_VCPU_ID_1); ipi_ex->vp_set.bank_contents[1] =3D BIT(RECEIVER_VCPU_ID_2 - 64); hyperv_hypercall(HVCALL_SEND_IPI_EX | (2 << HV_HYPERCALL_VARHEAD_OFFSET), - pgs_gpa, pgs_gpa + 4096); + pgs_gpa, pgs_gpa + PAGE_SIZE); nop_loop(); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_1] =3D=3D ++ipis_expected[0]); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_2] =3D=3D ++ipis_expected[1]); @@ -183,10 +183,10 @@ static void sender_guest_code(void *hcall_page, vm_va= ddr_t pgs_gpa) GUEST_SYNC(stage++); =20 /* 'Slow' HvCallSendSyntheticClusterIpiEx to HV_GENERIC_SET_ALL */ - memset(hcall_page, 0, 4096); + memset(hcall_page, 0, PAGE_SIZE); ipi_ex->vector =3D IPI_VECTOR; ipi_ex->vp_set.format =3D HV_GENERIC_SET_ALL; - hyperv_hypercall(HVCALL_SEND_IPI_EX, pgs_gpa, pgs_gpa + 4096); + hyperv_hypercall(HVCALL_SEND_IPI_EX, pgs_gpa, pgs_gpa + PAGE_SIZE); nop_loop(); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_1] =3D=3D ++ipis_expected[0]); GUEST_ASSERT(ipis_rcvd[RECEIVER_VCPU_ID_2] =3D=3D ++ipis_expected[1]); diff --git a/tools/testing/selftests/kvm/x86/sev_smoke_test.c b/tools/testi= ng/selftests/kvm/x86/sev_smoke_test.c index 77256c89bb8de..86ad1c7d068f2 100644 --- a/tools/testing/selftests/kvm/x86/sev_smoke_test.c +++ b/tools/testing/selftests/kvm/x86/sev_smoke_test.c @@ -104,7 +104,7 @@ static void test_sync_vmsa(uint32_t type, uint64_t poli= cy) vm_sev_launch(vm, policy, NULL); =20 /* This page is shared, so make it decrypted. */ - memset(hva, 0, 4096); + memset(hva, 0, PAGE_SIZE); =20 vcpu_run(vcpu); =20 diff --git a/tools/testing/selftests/kvm/x86/state_test.c b/tools/testing/s= elftests/kvm/x86/state_test.c index 141b7fc0c965b..f2c7a1c297e37 100644 --- a/tools/testing/selftests/kvm/x86/state_test.c +++ b/tools/testing/selftests/kvm/x86/state_test.c @@ -141,7 +141,7 @@ static void __attribute__((__flatten__)) guest_code(voi= d *arg) =20 if (this_cpu_has(X86_FEATURE_XSAVE)) { uint64_t supported_xcr0 =3D this_cpu_supported_xcr0(); - uint8_t buffer[4096]; + uint8_t buffer[PAGE_SIZE]; =20 memset(buffer, 0xcc, sizeof(buffer)); =20 diff --git a/tools/testing/selftests/kvm/x86/userspace_io_test.c b/tools/te= sting/selftests/kvm/x86/userspace_io_test.c index 9481cbcf284f6..be7d72f3c029f 100644 --- a/tools/testing/selftests/kvm/x86/userspace_io_test.c +++ b/tools/testing/selftests/kvm/x86/userspace_io_test.c @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) regs.rcx =3D 1; if (regs.rcx =3D=3D 3) regs.rcx =3D 8192; - memset((void *)run + run->io.data_offset, 0xaa, 4096); + memset((void *)run + run->io.data_offset, 0xaa, PAGE_SIZE); vcpu_regs_set(vcpu, ®s); } =20 diff --git a/tools/testing/selftests/kvm/x86/vmx_dirty_log_test.c b/tools/t= esting/selftests/kvm/x86/vmx_dirty_log_test.c index fa512d033205f..34a57fe747f64 100644 --- a/tools/testing/selftests/kvm/x86/vmx_dirty_log_test.c +++ b/tools/testing/selftests/kvm/x86/vmx_dirty_log_test.c @@ -122,15 +122,15 @@ static void test_vmx_dirty_log(bool enable_ept) if (enable_ept) { prepare_eptp(vmx, vm, 0); nested_map_memslot(vmx, vm, 0); - nested_map(vmx, vm, NESTED_TEST_MEM1, GUEST_TEST_MEM, 4096); - nested_map(vmx, vm, NESTED_TEST_MEM2, GUEST_TEST_MEM, 4096); + nested_map(vmx, vm, NESTED_TEST_MEM1, GUEST_TEST_MEM, PAGE_SIZE); + nested_map(vmx, vm, NESTED_TEST_MEM2, GUEST_TEST_MEM, PAGE_SIZE); } =20 bmap =3D bitmap_zalloc(TEST_MEM_PAGES); host_test_mem =3D addr_gpa2hva(vm, GUEST_TEST_MEM); =20 while (!done) { - memset(host_test_mem, 0xaa, TEST_MEM_PAGES * 4096); + memset(host_test_mem, 0xaa, TEST_MEM_PAGES * PAGE_SIZE); vcpu_run(vcpu); TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO); =20 @@ -153,9 +153,9 @@ static void test_vmx_dirty_log(bool enable_ept) } =20 TEST_ASSERT(!test_bit(1, bmap), "Page 1 incorrectly reported dirty"); - TEST_ASSERT(host_test_mem[4096 / 8] =3D=3D 0xaaaaaaaaaaaaaaaaULL, "Page= 1 written by guest"); + TEST_ASSERT(host_test_mem[PAGE_SIZE / 8] =3D=3D 0xaaaaaaaaaaaaaaaaULL, = "Page 1 written by guest"); TEST_ASSERT(!test_bit(2, bmap), "Page 2 incorrectly reported dirty"); - TEST_ASSERT(host_test_mem[8192 / 8] =3D=3D 0xaaaaaaaaaaaaaaaaULL, "Page= 2 written by guest"); + TEST_ASSERT(host_test_mem[PAGE_SIZE*2 / 8] =3D=3D 0xaaaaaaaaaaaaaaaaULL= , "Page 2 written by guest"); break; case UCALL_DONE: done =3D true; --=20 2.51.0.869.ge66316f041-goog