From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B967C79F9F for ; Thu, 10 Sep 2026 10:30:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1NqaKicpPMkyrc6uH/hmD/CjcLt6T2LMGJp6blfX7QQ=; b=WkafKlly88bkPo 33+6CZ9xvm+KNlEl92FSKntL+kldsI4pzLBaNNPp3n5Ex+9z7PHeIM/H+511zMC6eI46/IsgoEOrn /q0ZyxR8G8M3M++ngNCO9YPXa+6vhwtnzycX5ECBgHGVDXuSgXeeNw3GJ3ltLCKNUehO2aKnHmyoh z0/Ny6b3MtSj7meLzIJLWpOGceuRB2bs+D66UDEZBdZd0d108cIYk/jGZVCVzGVf/u9YIROStaPDu /Y6Lvd6Pa8lMLZ2AyG6YPe9s6zd5cS7q44JQkplzI2JFIgFJOth46p1NmuY99BJG2I5imifNpAcW4 APPC0cf5kL3DPCqnd6Sw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4c2g-0000000E3q4-43i3; Thu, 10 Sep 2026 10:30:06 +0000 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4c2S-0000000E3f6-3zTC; Thu, 10 Sep 2026 10:29:54 +0000 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68A91a2x2483650; Thu, 10 Sep 2026 10:29:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=OYWX0R H8DOHLOCtrZgD5LV0gPTaI8JZ9RGIDCbaQ4cw=; b=P7+8GjmTmfO9IbkbHyUtT3 yj4tolE9XvbWiX0nAuk4RwkVuWrJGFN8lpjaL/3/dSmKmkGiML3tFomu/CpR5vUj KxK7yrP1509pfoNhiR3kEb9I9KbYy5R1PyKn6knRYVWis6FnXbe5dETElkEe3kYx g46FRrfzavQ8mx5/VrxBjwygZPWgaxG1NwJLC3VHAh9CMjcqMKCUTFdOoIZjV1jA xVtYDmBTVzuepXootKCPXoigtAz6evR4JYn/P4x75g1on7OPCqscgfDTduenVq2O +ViKXfg10Q6F8v4xLz7Ut5aq29bVX2Rc7HKWOcGzXe5jbgBp9N8pGv8AAxmrD65Q == Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4gkd8suw2t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 10 Sep 2026 10:29:32 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 68AAQGVM004811; Thu, 10 Sep 2026 10:29:31 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4gkcr33uhh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 10 Sep 2026 10:29:31 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 68AATR4D47776036 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Sep 2026 10:29:27 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4F43820043; Thu, 10 Sep 2026 10:29:27 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CCBF52004D; Thu, 10 Sep 2026 10:29:24 +0000 (GMT) Received: from p-imbrenda (unknown [9.111.48.108]) by smtpav04.fra02v.mail.ibm.com (Postfix) with SMTP; Thu, 10 Sep 2026 10:29:24 +0000 (GMT) Date: Thu, 10 Sep 2026 12:23:04 +0200 From: Claudio Imbrenda To: Sean Christopherson Cc: Marc Zyngier , Oliver Upton , Paolo Bonzini , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Fuad Tabba , Joey Gouly , Steffen Eiden , Suzuki K Poulose , Zenghui Yu , Atish Patra , Alexandre Ghiti , David Hildenbrand , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Itaru Kitayama , Nicholas Piggin , Ritesh Harjani Subject: Re: [PATCH v2 10/20] KVM: selftests: Add a wrapper API to allocate multiple page table pages Message-ID: <20260910122304.6d40fef8@p-imbrenda> In-Reply-To: <20260902164123.2546762-11-seanjc@google.com> References: <20260902164123.2546762-1-seanjc@google.com> <20260902164123.2546762-11-seanjc@google.com> Organization: IBM X-Mailer: Claws Mail 4.4.0 (GTK 3.24.52; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTEwMDExNSBTYWx0ZWRfX08DVpiXgVUnP 7wkmCcOivwBSbL6mAcR9h5OtqylZU+wRO7T/0OhkHu3k0F9M2m1PhsQsol+Dsr04QAaYbO9LWTA AcjtqJBo2ASCE02L2mnZK6R/G5B/GPY= X-Proofpoint-ORIG-GUID: IvVTL6gKWZTqBFbywVNu-ekREucvQ5cN X-Proofpoint-GUID: fv7SiSZpmApWyfA9kW2K8yKbFXky4vLj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTEwMDExNSBTYWx0ZWRfX71qI+xHvh4bf ctcdWFcJsOpJVKJKIQSGHLkEqRx1ddggdES8ewtJQlfsbA8+JJBYfa5Ed9Ai4+nC8dmntCvvHoN loH9eVanahQx/KrTBtVW97tp5nLXdlH9X1zKiu+F8EBFS5YEZpx/lCqiwFTQlKQ5EhWuR3+52BM KAGKWMe1qlLPIkt/mbepxWRJfLQMGo4bAJFx2+7TpBKNMNZq6tdhILKXOZJVMz+tb/hVzBDk23J mx2lJv2a8fmsh2JeDO1QEQP/r2BGsSNv0F3H6OB3RFK3xBg/w8/vzy5SG+13gLTSpRh4zxdyPsg jEeNNMzUAw2/TD7JJDzGIbd+MTxliXTEsQrjVEKmCHWQykj5fSik5DIpSyqe32vLFIKRg33zmhR iy/bWzzggvGElTnykzoWsMzxhZ8nIzNZ4wFqF7tmS1nNABKjQShuwgqXBlwXKvUTvu4FXmiYM6C VAKXRDsAX7yg7LCXDUQ== X-Authority-Analysis: v=2.4 cv=PIGaavqC c=1 sm=1 tr=0 ts=6aa2868d cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=kj9zAlcOel0A:10 a=VdqzKS8jKosA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=RzCfie-kr_QcCd8fBx8p:22 a=1XWaLZrsAAAA:8 a=omOdbC7AAAAA:8 a=VnNF1IyMAAAA:8 a=o3jzi3dQArLouIYA8mYA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-10_03,2026-09-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 bulkscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609100115 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260910_032953_121135_C95134EF X-CRM114-Status: GOOD ( 18.73 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On Wed, 2 Sep 2026 09:41:13 -0700 Sean Christopherson wrote: > Add vm_alloc_page_table_pages() and use it throughout arch code to replace > open coded equivalents. > > No functional change intended. > > Reviewed-by: Itaru Kitayama > Tested-by: Itaru Kitayama > Signed-off-by: Sean Christopherson Acked-by: Claudio Imbrenda > --- > tools/testing/selftests/kvm/include/kvm_util.h | 9 +++++++-- > tools/testing/selftests/kvm/lib/arm64/processor.c | 4 +--- > tools/testing/selftests/kvm/lib/riscv/processor.c | 4 +--- > tools/testing/selftests/kvm/lib/s390/processor.c | 8 ++------ > 4 files changed, 11 insertions(+), 14 deletions(-) > > diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h > index d9d39a8894e2..c56f342b16fd 100644 > --- a/tools/testing/selftests/kvm/include/kvm_util.h > +++ b/tools/testing/selftests/kvm/include/kvm_util.h > @@ -1013,10 +1013,15 @@ static inline gpa_t vm_phy_page_alloc(struct kvm_vm *vm, gpa_t min_gpa, > return vm_phy_pages_alloc(vm, 1, min_gpa, memslot); > } > > +static inline gpa_t vm_alloc_page_table_pages(struct kvm_vm *vm, size_t nr_pages) > +{ > + return vm_phy_pages_alloc(vm, nr_pages, KVM_GUEST_PAGE_TABLE_MIN_PADDR, > + vm->memslots[MEM_REGION_PT]); > +} > + > static inline gpa_t vm_alloc_page_table(struct kvm_vm *vm) > { > - return vm_phy_page_alloc(vm, KVM_GUEST_PAGE_TABLE_MIN_PADDR, > - vm->memslots[MEM_REGION_PT]); > + return vm_alloc_page_table_pages(vm, 1); > } > > /* > diff --git a/tools/testing/selftests/kvm/lib/arm64/processor.c b/tools/testing/selftests/kvm/lib/arm64/processor.c > index 01325bf4d36f..2dcaa2c4a038 100644 > --- a/tools/testing/selftests/kvm/lib/arm64/processor.c > +++ b/tools/testing/selftests/kvm/lib/arm64/processor.c > @@ -115,9 +115,7 @@ void virt_arch_pgd_alloc(struct kvm_vm *vm) > if (vm->mmu.pgd_created) > return; > > - vm->mmu.pgd = vm_phy_pages_alloc(vm, nr_pages, > - KVM_GUEST_PAGE_TABLE_MIN_PADDR, > - vm->memslots[MEM_REGION_PT]); > + vm->mmu.pgd = vm_alloc_page_table_pages(vm, nr_pages); > vm->mmu.pgd_created = true; > } > > diff --git a/tools/testing/selftests/kvm/lib/riscv/processor.c b/tools/testing/selftests/kvm/lib/riscv/processor.c > index ded5429f3448..c175dcd14114 100644 > --- a/tools/testing/selftests/kvm/lib/riscv/processor.c > +++ b/tools/testing/selftests/kvm/lib/riscv/processor.c > @@ -69,9 +69,7 @@ void virt_arch_pgd_alloc(struct kvm_vm *vm) > if (vm->mmu.pgd_created) > return; > > - vm->mmu.pgd = vm_phy_pages_alloc(vm, nr_pages, > - KVM_GUEST_PAGE_TABLE_MIN_PADDR, > - vm->memslots[MEM_REGION_PT]); > + vm->mmu.pgd = vm_alloc_page_table_pages(vm, nr_pages); > vm->mmu.pgd_created = true; > } > > diff --git a/tools/testing/selftests/kvm/lib/s390/processor.c b/tools/testing/selftests/kvm/lib/s390/processor.c > index fb9dab92d4d1..33f49d743b5f 100644 > --- a/tools/testing/selftests/kvm/lib/s390/processor.c > +++ b/tools/testing/selftests/kvm/lib/s390/processor.c > @@ -20,9 +20,7 @@ void virt_arch_pgd_alloc(struct kvm_vm *vm) > if (vm->mmu.pgd_created) > return; > > - gpa = vm_phy_pages_alloc(vm, PAGES_PER_REGION, > - KVM_GUEST_PAGE_TABLE_MIN_PADDR, > - vm->memslots[MEM_REGION_PT]); > + gpa = vm_alloc_page_table_pages(vm, PAGES_PER_REGION); > memset(addr_gpa2hva(vm, gpa), 0xff, PAGES_PER_REGION * vm->page_size); > > vm->mmu.pgd = gpa; > @@ -38,9 +36,7 @@ static u64 virt_alloc_region(struct kvm_vm *vm, int ri) > { > u64 taddr; > > - taddr = vm_phy_pages_alloc(vm, ri < 4 ? PAGES_PER_REGION : 1, > - KVM_GUEST_PAGE_TABLE_MIN_PADDR, > - vm->memslots[MEM_REGION_PT]); > + taddr = vm_alloc_page_table_pages(vm, ri < 4 ? PAGES_PER_REGION : 1); > memset(addr_gpa2hva(vm, taddr), 0xff, PAGES_PER_REGION * vm->page_size); > > return (taddr & REGION_ENTRY_ORIGIN) _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv