{"id":2225353,"url":"http://patchwork.ozlabs.org/api/patches/2225353/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/patch/20260420212004.3938325-17-seanjc@google.com/","project":{"id":70,"url":"http://patchwork.ozlabs.org/api/projects/70/?format=json","name":"Linux KVM RISC-V","link_name":"kvm-riscv","list_id":"kvm-riscv.lists.infradead.org","list_email":"kvm-riscv@lists.infradead.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"http://lists.infradead.org/pipermail/kvm-riscv/","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260420212004.3938325-17-seanjc@google.com>","list_archive_url":null,"date":"2026-04-20T21:20:01","name":"[v3,16/19] KVM: selftests: Replace \"vaddr\" with \"gva\" throughout","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"53dd8382ac528174862b032836738d49742ac519","submitter":{"id":81022,"url":"http://patchwork.ozlabs.org/api/people/81022/?format=json","name":"Sean Christopherson","email":"seanjc@google.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/kvm-riscv/patch/20260420212004.3938325-17-seanjc@google.com/mbox/","series":[{"id":500685,"url":"http://patchwork.ozlabs.org/api/series/500685/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/list/?series=500685","date":"2026-04-20T21:19:45","name":"KVM: selftests: Use kernel-style integer and g[vp]a_t types","version":3,"mbox":"http://patchwork.ozlabs.org/series/500685/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2225353/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2225353/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=IdYtBE+L;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=desiato.20200630 header.b=EUXnVgni;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=OEW4m7i9;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzz2T1n1Nz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 07:21:53 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wEw3z-00000007hdV-109W;\n\tMon, 20 Apr 2026 21:21:51 +0000","from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wEw3B-00000007gOX-3zGH\n\tfor kvm-riscv@bombadil.infradead.org;\n\tMon, 20 Apr 2026 21:21:02 +0000","from mail-pj1-x104a.google.com ([2607:f8b0:4864:20::104a])\n\tby desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wEw2t-00000008pjT-1oBM\n\tfor kvm-riscv@lists.infradead.org;\n\tMon, 20 Apr 2026 21:20:47 +0000","by mail-pj1-x104a.google.com with SMTP id\n 98e67ed59e1d1-35da1c703d1so3969166a91.1\n        for <kvm-riscv@lists.infradead.org>;\n Mon, 20 Apr 2026 14:20:41 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Reply-To:List-Subscribe:List-Help:\n\tList-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID\n\t:References:Mime-Version:In-Reply-To:Date:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=fbmZkK/CwZn3ThbfKaz+FZ3I7rz4kBKp1ifFITlQ4No=; b=IdYtBE+Lk3K7ww\n\t/eNrG1ZQPI2uo/iONUlFu+7yEHTgiagkh+JfzwmqV20m9iFSwAY+HaSbtQyHRxdVK91MAL5mYbQSB\n\tdeudqbozyZ59urvlIMw83AiEtr3Nr62FVBdhehJNjuQMdh5S1mz9BgFkmcypQt49F2RRr9XZrc2CD\n\tn7Y/0BiGKRW0cQzt7cRrWcVYqYNtK50autuUx19uSmXQCAYQ6gJQIQEg7caalpY1hM6LjyOE5XDLc\n\trTj8uz7Ev+5F4Qz/DiqaXCvxjI4BbJw/cKxIbHptHznujfYx2WUFpzOSVNuEdMh9iQm/aUUrGXY8k\n\t+Rf0Yt9sH8rSHjhUueHA==;","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=desiato.20200630; h=Content-Type:Cc:To:From:Subject:\n\tMessage-ID:References:Mime-Version:In-Reply-To:Date:Reply-To:Sender:\n\tContent-Transfer-Encoding:Content-ID:Content-Description;\n\tbh=1qrsMvN9UBRlhRa6qBAPaSl5i4QKt8DJvZtIZe1SKO4=; b=EUXnVgniwbwIR9XPsG24Y5TK77\n\t4XDdaxlc34s/CtECO9aNcxIszKhH2g+V3Nnx06+KQ1c8PjSkyGdQS94+CSEKB3dR/MPlr+KJ9/Amm\n\tiqx+nLWlbw4o9FRqZxPF4Z7ODgInMoRUqlRs3HsUxjF7YdZ2bgZttoGb6QwA2eDKXcAFBR/HIdI9H\n\tZ7CO/Itm0SgeVIZWHgfUeXsVJzx3BTxrC9F14EscT+vggUpKcBVHEpXjrIzrHLLE70EsEeFZVFG49\n\tJAMziOyYFxmf2IFXMnrlTBlVeQ8VWq1RPODxh6xbqUj3KWOE6jmU7w8zTt3kBax3HmFSjz+rF5IDJ\n\tekEt0b8Q==;","v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=google.com; s=20251104; t=1776720039; x=1777324839;\n darn=lists.infradead.org;\n        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to\n         :date:reply-to:from:to:cc:subject:date:message-id:reply-to;\n        bh=1qrsMvN9UBRlhRa6qBAPaSl5i4QKt8DJvZtIZe1SKO4=;\n        b=OEW4m7i9IU6vdjQm8EON3/hQ6OpdxFXJN5bIccD7rpnUypAlAmf2JbNIrrFec2cVUS\n         Y0BY9AANikZKk6kpKfMQJK0V9Fx350F1DOXdzx6iGFnWsXKO5BqlAmLVvaiHGO2LUafC\n         bSP/jEKakOX0+mD5+Y+J7R5mlZBSk15cq7vaYmz3X93WQCGg/p4+VbYGzFKlGKJdOy0z\n         YpN8O4sp7uI7L//JaaNFwoa0ddzJKomJ1jOhXijly0x4V6or6t6D8UbXsb9kpA7ESHs1\n         kTI7koXrZ/G5f4IoVFjQI+vlefDo2OmcLbVjpR/iZFvQjvCAUj63jPsJfPBrd0lu8Mne\n         zzHQ=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776720039; x=1777324839;\n        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to\n         :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=1qrsMvN9UBRlhRa6qBAPaSl5i4QKt8DJvZtIZe1SKO4=;\n        b=LhN6PYwpJBjvbi/FRfhTQ25IkaKynvuLvIwN6li/tSf0Iv2+r92yTXEiqBVts2RKSK\n         Rh7JS9ZZRaiINm7o2v+9mlIIPYFH8T09bkzBqp15Qzktwp6tcRqBmSry0LEGfUFDsEQi\n         q4RRmaYKs12OyAtnR7AeiH4Ddgc3FSgJPBYRYmyPXE6PRh0xVYbdXKCN3w5B9uXa8whN\n         rRfgf87yqiqNmXObfsp1DMwI7QAns61lTjPI7hnYcvfWkG2y6MDF446SZaBhrGUs6Qpq\n         /MWKmRh2cIhkd8FfkCSrpUC+QAwZR8F/APxvxjlzCX8Rkl7FNYQynkn4RvWIhdM4dmz4\n         aF3Q==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/qwcDc4lh6cK7XBNL6N9fU7WNhfpOVC6muWo+tk42EYWdlwg6Y0SoRIbqGoM1cLRWVFujBfS3bW4o=@lists.infradead.org","X-Gm-Message-State":"AOJu0Yz4qAIUNLVUhKqpCltF7IK31ktGtsihguQ5gvHNevu2YHB40YwB\n\tJ0r8I79f/4MmAuWyfnm4tWfn4Iafiz55N3QnDBvEG+YaRGY5oitefAJFxnA40igIEW7dYXg+mAF\n\tEFJB9Bg==","X-Received":"from pjbbt3.prod.google.com ([2002:a17:90a:f003:b0:35c:1c70:fcd9])\n (user=seanjc job=prod-delivery.src-stubby-dispatcher) by\n 2002:a17:90a:f16:b0:361:4521:d311\n with SMTP id 98e67ed59e1d1-36145221bbfmr9636140a91.18.1776720038540; Mon, 20\n Apr 2026 14:20:38 -0700 (PDT)","Date":"Mon, 20 Apr 2026 14:20:01 -0700","In-Reply-To":"<20260420212004.3938325-1-seanjc@google.com>","Mime-Version":"1.0","References":"<20260420212004.3938325-1-seanjc@google.com>","X-Mailer":"git-send-email 2.54.0.rc1.555.g9c883467ad-goog","Message-ID":"<20260420212004.3938325-17-seanjc@google.com>","Subject":"[PATCH v3 16/19] KVM: selftests: Replace \"vaddr\" with \"gva\"\n throughout","From":"Sean Christopherson <seanjc@google.com>","To":"Paolo Bonzini <pbonzini@redhat.com>, Marc Zyngier <maz@kernel.org>,\n\tOliver Upton <oupton@kernel.org>, Tianrui Zhao <zhaotianrui@loongson.cn>,\n\tBibo Mao <maobibo@loongson.cn>, Huacai Chen <chenhuacai@kernel.org>,\n\tAnup Patel <anup@brainfault.org>, Paul Walmsley <pjw@kernel.org>,\n\tPalmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,\n\tChristian Borntraeger <borntraeger@linux.ibm.com>,\n Janosch Frank <frankja@linux.ibm.com>,\n\tClaudio Imbrenda <imbrenda@linux.ibm.com>,\n Sean Christopherson <seanjc@google.com>","Cc":"kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,\n\tkvmarm@lists.linux.dev, loongarch@lists.linux.dev,\n\tkvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org, David Matlack <dmatlack@google.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260420_222045_136355_0DAD6497 ","X-CRM114-Status":"GOOD (  16.56  )","X-Spam-Score":"-7.6 (-------)","X-Spam-Report":"Spam detection software,\n running on the system \"desiato.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  Replace all variations of \"vaddr\" variables in KVM\n selftests\n    with \"gva\", with the exception of the ELF structures, as those fields are\n    not specific to guest virtual addresses, to complete the conversi [...]\n Content analysis details:   (-7.6 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_PASS               SPF: sender matches SPF record\n -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, no\n                             trust\n                             [2607:f8b0:4864:20:0:0:0:104a listed in]\n                             [list.dnswl.org]\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -7.5 USER_IN_DEF_DKIM_WL    From: address is in the default DKIM welcome-list\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n -0.0 DKIMWL_WL_MED          DKIMwl.org - Medium trust sender","X-BeenThere":"kvm-riscv@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<kvm-riscv.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/kvm-riscv/>","List-Post":"<mailto:kvm-riscv@lists.infradead.org>","List-Help":"<mailto:kvm-riscv-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=subscribe>","Reply-To":"Sean Christopherson <seanjc@google.com>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"kvm-riscv\" <kvm-riscv-bounces@lists.infradead.org>","Errors-To":"kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"Replace all variations of \"vaddr\" variables in KVM selftests with \"gva\",\nwith the exception of the ELF structures, as those fields are not specific\nto guest virtual addresses, to complete the conversion from vm_vaddr_t to\ngva_t.\n\nOpportunistically use gva_t instead of u64 for relevant variables, and\nfixup indentation as appropriate.\n\nNo functional change intended.\n\nSigned-off-by: Sean Christopherson <seanjc@google.com>\n---\n .../selftests/kvm/access_tracking_perf_test.c |  6 +-\n .../selftests/kvm/arm64/page_fault_test.c     |  4 +-\n .../testing/selftests/kvm/include/kvm_util.h  | 32 +++-----\n .../testing/selftests/kvm/include/memstress.h |  2 +-\n .../selftests/kvm/include/x86/processor.h     |  6 +-\n .../selftests/kvm/lib/arm64/processor.c       | 33 ++++----\n tools/testing/selftests/kvm/lib/elf.c         | 10 +--\n tools/testing/selftests/kvm/lib/kvm_util.c    | 60 ++++++--------\n .../selftests/kvm/lib/loongarch/processor.c   | 25 +++---\n tools/testing/selftests/kvm/lib/memstress.c   |  2 +-\n .../selftests/kvm/lib/riscv/processor.c       | 25 +++---\n .../selftests/kvm/lib/s390/processor.c        | 23 +++---\n .../testing/selftests/kvm/lib/ucall_common.c  |  8 +-\n .../testing/selftests/kvm/lib/x86/processor.c | 82 +++++++++----------\n .../selftests/kvm/s390/ucontrol_test.c        |  4 +-\n .../selftests/kvm/x86/xapic_ipi_test.c        | 10 +--\n 16 files changed, 150 insertions(+), 182 deletions(-)","diff":"diff --git a/tools/testing/selftests/kvm/access_tracking_perf_test.c b/tools/testing/selftests/kvm/access_tracking_perf_test.c\nindex 4479aed94625..e5bbdb5bbdc3 100644\n--- a/tools/testing/selftests/kvm/access_tracking_perf_test.c\n+++ b/tools/testing/selftests/kvm/access_tracking_perf_test.c\n@@ -123,7 +123,7 @@ static u64 pread_u64(int fd, const char *filename, u64 index)\n #define PAGEMAP_PRESENT (1ULL << 63)\n #define PAGEMAP_PFN_MASK ((1ULL << 55) - 1)\n \n-static u64 lookup_pfn(int pagemap_fd, struct kvm_vm *vm, u64 gva)\n+static u64 lookup_pfn(int pagemap_fd, struct kvm_vm *vm, gva_t gva)\n {\n \tu64 hva = (u64)addr_gva2hva(vm, gva);\n \tu64 entry;\n@@ -174,7 +174,7 @@ static void pageidle_mark_vcpu_memory_idle(struct kvm_vm *vm,\n \t\t\t\t\t   struct memstress_vcpu_args *vcpu_args)\n {\n \tint vcpu_idx = vcpu_args->vcpu_idx;\n-\tu64 base_gva = vcpu_args->gva;\n+\tgva_t base_gva = vcpu_args->gva;\n \tu64 pages = vcpu_args->pages;\n \tu64 page;\n \tu64 still_idle = 0;\n@@ -193,7 +193,7 @@ static void pageidle_mark_vcpu_memory_idle(struct kvm_vm *vm,\n \tTEST_ASSERT(pagemap_fd > 0, \"Failed to open pagemap.\");\n \n \tfor (page = 0; page < pages; page++) {\n-\t\tu64 gva = base_gva + page * memstress_args.guest_page_size;\n+\t\tgva_t gva = base_gva + page * memstress_args.guest_page_size;\n \t\tu64 pfn = lookup_pfn(pagemap_fd, vm, gva);\n \n \t\tif (!pfn) {\ndiff --git a/tools/testing/selftests/kvm/arm64/page_fault_test.c b/tools/testing/selftests/kvm/arm64/page_fault_test.c\nindex b92a9614d7d2..6bb3d82906b2 100644\n--- a/tools/testing/selftests/kvm/arm64/page_fault_test.c\n+++ b/tools/testing/selftests/kvm/arm64/page_fault_test.c\n@@ -70,9 +70,9 @@ struct test_params {\n \tstruct test_desc *test_desc;\n };\n \n-static inline void flush_tlb_page(u64 vaddr)\n+static inline void flush_tlb_page(gva_t gva)\n {\n-\tu64 page = vaddr >> 12;\n+\tgva_t page = gva >> 12;\n \n \tdsb(ishst);\n \tasm volatile(\"tlbi vaae1is, %0\" :: \"r\" (page));\ndiff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h\nindex 0fbfb2a28767..0dcfad728edd 100644\n--- a/tools/testing/selftests/kvm/include/kvm_util.h\n+++ b/tools/testing/selftests/kvm/include/kvm_util.h\n@@ -715,17 +715,17 @@ void vm_mem_region_move(struct kvm_vm *vm, u32 slot, u64 new_gpa);\n void vm_mem_region_delete(struct kvm_vm *vm, u32 slot);\n struct kvm_vcpu *__vm_vcpu_add(struct kvm_vm *vm, u32 vcpu_id);\n void vm_populate_gva_bitmap(struct kvm_vm *vm);\n-gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t vaddr_min);\n-gva_t vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min);\n-gva_t __vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n+gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t min_gva);\n+gva_t vm_alloc(struct kvm_vm *vm, size_t sz, gva_t min_gva);\n+gva_t __vm_alloc(struct kvm_vm *vm, size_t sz, gva_t min_gva,\n \t\t enum kvm_mem_region_type type);\n-gva_t vm_alloc_shared(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n+gva_t vm_alloc_shared(struct kvm_vm *vm, size_t sz, gva_t min_gva,\n \t\t      enum kvm_mem_region_type type);\n gva_t vm_alloc_pages(struct kvm_vm *vm, int nr_pages);\n gva_t __vm_alloc_page(struct kvm_vm *vm, enum kvm_mem_region_type type);\n gva_t vm_alloc_page(struct kvm_vm *vm);\n \n-void virt_map(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n+void virt_map(struct kvm_vm *vm, gva_t gva, u64 paddr,\n \t      unsigned int npages);\n void *addr_gpa2hva(struct kvm_vm *vm, gpa_t gpa);\n void *addr_gva2hva(struct kvm_vm *vm, gva_t gva);\n@@ -1202,27 +1202,15 @@ static inline void virt_pgd_alloc(struct kvm_vm *vm)\n }\n \n /*\n- * VM Virtual Page Map\n- *\n- * Input Args:\n- *   vm - Virtual Machine\n- *   vaddr - VM Virtual Address\n- *   paddr - VM Physical Address\n- *   memslot - Memory region slot for new virtual translation tables\n- *\n- * Output Args: None\n- *\n- * Return: None\n- *\n  * Within @vm, creates a virtual translation for the page starting\n- * at @vaddr to the page starting at @paddr.\n+ * at @gva to the page starting at @paddr.\n  */\n-void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr);\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr);\n \n-static inline void virt_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n+static inline void virt_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr)\n {\n-\tvirt_arch_pg_map(vm, vaddr, paddr);\n-\tsparsebit_set(vm->vpages_mapped, vaddr >> vm->page_shift);\n+\tvirt_arch_pg_map(vm, gva, paddr);\n+\tsparsebit_set(vm->vpages_mapped, gva >> vm->page_shift);\n }\n \n \ndiff --git a/tools/testing/selftests/kvm/include/memstress.h b/tools/testing/selftests/kvm/include/memstress.h\nindex e3e4b4d6a27a..abd0dca10283 100644\n--- a/tools/testing/selftests/kvm/include/memstress.h\n+++ b/tools/testing/selftests/kvm/include/memstress.h\n@@ -21,7 +21,7 @@\n \n struct memstress_vcpu_args {\n \tu64 gpa;\n-\tu64 gva;\n+\tgva_t gva;\n \tu64 pages;\n \n \t/* Only used by the host userspace part of the vCPU thread */\ndiff --git a/tools/testing/selftests/kvm/include/x86/processor.h b/tools/testing/selftests/kvm/include/x86/processor.h\nindex 4efa6c942192..15252e75aaf1 100644\n--- a/tools/testing/selftests/kvm/include/x86/processor.h\n+++ b/tools/testing/selftests/kvm/include/x86/processor.h\n@@ -1394,7 +1394,7 @@ static inline bool kvm_is_lbrv_enabled(void)\n \treturn !!get_kvm_amd_param_integer(\"lbrv\");\n }\n \n-u64 *vm_get_pte(struct kvm_vm *vm, u64 vaddr);\n+u64 *vm_get_pte(struct kvm_vm *vm, gva_t gva);\n \n u64 kvm_hypercall(u64 nr, u64 a0, u64 a1, u64 a2, u64 a3);\n u64 __xen_hypercall(u64 nr, u64 a0, void *a1);\n@@ -1507,9 +1507,9 @@ enum pg_level {\n void tdp_mmu_init(struct kvm_vm *vm, int pgtable_levels,\n \t\t  struct pte_masks *pte_masks);\n \n-void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, u64 vaddr,\n+void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, gva_t gva,\n \t\t   u64 paddr,  int level);\n-void virt_map_level(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n+void virt_map_level(struct kvm_vm *vm, gva_t gva, u64 paddr,\n \t\t    u64 nr_bytes, int level);\n \n void vm_enable_tdp(struct kvm_vm *vm);\ndiff --git a/tools/testing/selftests/kvm/lib/arm64/processor.c b/tools/testing/selftests/kvm/lib/arm64/processor.c\nindex 384b6c80b1e7..0f693d8891d2 100644\n--- a/tools/testing/selftests/kvm/lib/arm64/processor.c\n+++ b/tools/testing/selftests/kvm/lib/arm64/processor.c\n@@ -121,19 +121,18 @@ void virt_arch_pgd_alloc(struct kvm_vm *vm)\n \tvm->mmu.pgd_created = true;\n }\n \n-static void _virt_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n+static void _virt_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr,\n \t\t\t u64 flags)\n {\n \tu8 attr_idx = flags & (PTE_ATTRINDX_MASK >> PTE_ATTRINDX_SHIFT);\n \tu64 pg_attr;\n \tu64 *ptep;\n \n-\tTEST_ASSERT((vaddr % vm->page_size) == 0,\n+\tTEST_ASSERT((gva % vm->page_size) == 0,\n \t\t\"Virtual address not on page boundary,\\n\"\n-\t\t\"  vaddr: 0x%lx vm->page_size: 0x%x\", vaddr, vm->page_size);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid,\n-\t\t(vaddr >> vm->page_shift)),\n-\t\t\"Invalid virtual address, vaddr: 0x%lx\", vaddr);\n+\t\t\"  gva: 0x%lx vm->page_size: 0x%x\", gva, vm->page_size);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t    \"Invalid virtual address, gva: 0x%lx\", gva);\n \tTEST_ASSERT((paddr % vm->page_size) == 0,\n \t\t\"Physical address not on page boundary,\\n\"\n \t\t\"  paddr: 0x%lx vm->page_size: 0x%x\", paddr, vm->page_size);\n@@ -142,26 +141,26 @@ static void _virt_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n \t\t\"  paddr: 0x%lx vm->max_gfn: 0x%lx vm->page_size: 0x%x\",\n \t\tpaddr, vm->max_gfn, vm->page_size);\n \n-\tptep = addr_gpa2hva(vm, vm->mmu.pgd) + pgd_index(vm, vaddr) * 8;\n+\tptep = addr_gpa2hva(vm, vm->mmu.pgd) + pgd_index(vm, gva) * 8;\n \tif (!*ptep)\n \t\t*ptep = addr_pte(vm, vm_alloc_page_table(vm),\n \t\t\t\t PGD_TYPE_TABLE | PTE_VALID);\n \n \tswitch (vm->mmu.pgtable_levels) {\n \tcase 4:\n-\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pud_index(vm, vaddr) * 8;\n+\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pud_index(vm, gva) * 8;\n \t\tif (!*ptep)\n \t\t\t*ptep = addr_pte(vm, vm_alloc_page_table(vm),\n \t\t\t\t\t PUD_TYPE_TABLE | PTE_VALID);\n \t\t/* fall through */\n \tcase 3:\n-\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pmd_index(vm, vaddr) * 8;\n+\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pmd_index(vm, gva) * 8;\n \t\tif (!*ptep)\n \t\t\t*ptep = addr_pte(vm, vm_alloc_page_table(vm),\n \t\t\t\t\t PMD_TYPE_TABLE | PTE_VALID);\n \t\t/* fall through */\n \tcase 2:\n-\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pte_index(vm, vaddr) * 8;\n+\t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pte_index(vm, gva) * 8;\n \t\tbreak;\n \tdefault:\n \t\tTEST_FAIL(\"Page table levels must be 2, 3, or 4\");\n@@ -174,11 +173,11 @@ static void _virt_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n \t*ptep = addr_pte(vm, paddr, pg_attr);\n }\n \n-void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr)\n {\n \tu64 attr_idx = MT_NORMAL;\n \n-\t_virt_pg_map(vm, vaddr, paddr, attr_idx);\n+\t_virt_pg_map(vm, gva, paddr, attr_idx);\n }\n \n u64 *virt_get_pte_hva_at_level(struct kvm_vm *vm, gva_t gva, int level)\n@@ -417,18 +416,18 @@ static struct kvm_vcpu *__aarch64_vcpu_add(struct kvm_vm *vm, u32 vcpu_id,\n \t\t\t\t\t   struct kvm_vcpu_init *init)\n {\n \tsize_t stack_size;\n-\tu64 stack_vaddr;\n+\tgva_t stack_gva;\n \tstruct kvm_vcpu *vcpu = __vm_vcpu_add(vm, vcpu_id);\n \n \tstack_size = vm->page_size == 4096 ? DEFAULT_STACK_PGS * vm->page_size :\n \t\t\t\t\t     vm->page_size;\n-\tstack_vaddr = __vm_alloc(vm, stack_size,\n-\t\t\t\t DEFAULT_ARM64_GUEST_STACK_VADDR_MIN,\n-\t\t\t\t MEM_REGION_DATA);\n+\tstack_gva = __vm_alloc(vm, stack_size,\n+\t\t\t       DEFAULT_ARM64_GUEST_STACK_VADDR_MIN,\n+\t\t\t       MEM_REGION_DATA);\n \n \taarch64_vcpu_setup(vcpu, init);\n \n-\tvcpu_set_reg(vcpu, ctxt_reg_alias(vcpu, SYS_SP_EL1), stack_vaddr + stack_size);\n+\tvcpu_set_reg(vcpu, ctxt_reg_alias(vcpu, SYS_SP_EL1), stack_gva + stack_size);\n \treturn vcpu;\n }\n \ndiff --git a/tools/testing/selftests/kvm/lib/elf.c b/tools/testing/selftests/kvm/lib/elf.c\nindex 2288480f4e1e..b689c4df4a01 100644\n--- a/tools/testing/selftests/kvm/lib/elf.c\n+++ b/tools/testing/selftests/kvm/lib/elf.c\n@@ -162,14 +162,14 @@ void kvm_vm_elf_load(struct kvm_vm *vm, const char *filename)\n \t\tseg_vend |= vm->page_size - 1;\n \t\tsize_t seg_size = seg_vend - seg_vstart + 1;\n \n-\t\tgva_t vaddr = __vm_alloc(vm, seg_size, seg_vstart, MEM_REGION_CODE);\n-\t\tTEST_ASSERT(vaddr == seg_vstart, \"Unable to allocate \"\n+\t\tgva_t gva = __vm_alloc(vm, seg_size, seg_vstart, MEM_REGION_CODE);\n+\t\tTEST_ASSERT(gva == seg_vstart, \"Unable to allocate \"\n \t\t\t\"virtual memory for segment at requested min addr,\\n\"\n \t\t\t\"  segment idx: %u\\n\"\n \t\t\t\"  seg_vstart: 0x%lx\\n\"\n-\t\t\t\"  vaddr: 0x%lx\",\n-\t\t\tn1, seg_vstart, vaddr);\n-\t\tmemset(addr_gva2hva(vm, vaddr), 0, seg_size);\n+\t\t\t\"  gva: 0x%lx\",\n+\t\t\tn1, seg_vstart, gva);\n+\t\tmemset(addr_gva2hva(vm, gva), 0, seg_size);\n \t\t/* TODO(lhuemill): Set permissions of each memory segment\n \t\t * based on the least-significant 3 bits of phdr.p_flags.\n \t\t */\ndiff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c\nindex 1a1b41021cc7..e282f9abd4c7 100644\n--- a/tools/testing/selftests/kvm/lib/kvm_util.c\n+++ b/tools/testing/selftests/kvm/lib/kvm_util.c\n@@ -1367,17 +1367,17 @@ struct kvm_vcpu *__vm_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n \n /*\n  * Within the VM specified by @vm, locates the lowest starting guest virtual\n- * address >= @vaddr_min, that has at least @sz unallocated bytes.  A\n+ * address >= @min_gva, that has at least @sz unallocated bytes.  A\n  * TEST_ASSERT failure occurs for invalid input or no area of at least\n  * @sz unallocated bytes >= @min_gva is available.\n  */\n-gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t vaddr_min)\n+gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t min_gva)\n {\n \tu64 pages = (sz + vm->page_size - 1) >> vm->page_shift;\n \n \t/* Determine lowest permitted virtual page index. */\n-\tu64 pgidx_start = (vaddr_min + vm->page_size - 1) >> vm->page_shift;\n-\tif ((pgidx_start * vm->page_size) < vaddr_min)\n+\tu64 pgidx_start = (min_gva + vm->page_size - 1) >> vm->page_shift;\n+\tif ((pgidx_start * vm->page_size) < min_gva)\n \t\tgoto no_va_found;\n \n \t/* Loop over section with enough valid virtual page indexes. */\n@@ -1414,7 +1414,7 @@ gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t vaddr_min)\n \t} while (pgidx_start != 0);\n \n no_va_found:\n-\tTEST_FAIL(\"No vaddr of specified pages available, pages: 0x%lx\", pages);\n+\tTEST_FAIL(\"No gva of specified pages available, pages: 0x%lx\", pages);\n \n \t/* NOT REACHED */\n \treturn -1;\n@@ -1436,7 +1436,7 @@ gva_t vm_unused_gva_gap(struct kvm_vm *vm, size_t sz, gva_t vaddr_min)\n \treturn pgidx_start * vm->page_size;\n }\n \n-static gva_t ____vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n+static gva_t ____vm_alloc(struct kvm_vm *vm, size_t sz, gva_t min_gva,\n \t\t\t  enum kvm_mem_region_type type, bool protected)\n {\n \tu64 pages = (sz >> vm->page_shift) + ((sz % vm->page_size) != 0);\n@@ -1450,41 +1450,41 @@ static gva_t ____vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n \t * Find an unused range of virtual page addresses of at least\n \t * pages in length.\n \t */\n-\tgva_t vaddr_start = vm_unused_gva_gap(vm, sz, vaddr_min);\n+\tgva_t gva_start = vm_unused_gva_gap(vm, sz, min_gva);\n \n \t/* Map the virtual pages. */\n-\tfor (gva_t vaddr = vaddr_start; pages > 0;\n-\t\tpages--, vaddr += vm->page_size, paddr += vm->page_size) {\n+\tfor (gva_t gva = gva_start; pages > 0;\n+\t\tpages--, gva += vm->page_size, paddr += vm->page_size) {\n \n-\t\tvirt_pg_map(vm, vaddr, paddr);\n+\t\tvirt_pg_map(vm, gva, paddr);\n \t}\n \n-\treturn vaddr_start;\n+\treturn gva_start;\n }\n \n-gva_t __vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n+gva_t __vm_alloc(struct kvm_vm *vm, size_t sz, gva_t min_gva,\n \t\t enum kvm_mem_region_type type)\n {\n-\treturn ____vm_alloc(vm, sz, vaddr_min, type,\n+\treturn ____vm_alloc(vm, sz, min_gva, type,\n \t\t\t    vm_arch_has_protected_memory(vm));\n }\n \n-gva_t vm_alloc_shared(struct kvm_vm *vm, size_t sz, gva_t vaddr_min,\n+gva_t vm_alloc_shared(struct kvm_vm *vm, size_t sz, gva_t min_gva,\n \t\t      enum kvm_mem_region_type type)\n {\n-\treturn ____vm_alloc(vm, sz, vaddr_min, type, false);\n+\treturn ____vm_alloc(vm, sz, min_gva, type, false);\n }\n \n /*\n  * Allocates at least sz bytes within the virtual address space of the VM\n  * given by @vm.  The allocated bytes are mapped to a virtual address >= the\n- * address given by @vaddr_min.  Note that each allocation uses a a unique set\n+ * address given by @min_gva.  Note that each allocation uses a a unique set\n  * of pages, with the minimum real allocation being at least a page. The\n  * allocated physical space comes from the TEST_DATA memory region.\n  */\n-gva_t vm_alloc(struct kvm_vm *vm, size_t sz, gva_t vaddr_min)\n+gva_t vm_alloc(struct kvm_vm *vm, size_t sz, gva_t min_gva)\n {\n-\treturn __vm_alloc(vm, sz, vaddr_min, MEM_REGION_TEST_DATA);\n+\treturn __vm_alloc(vm, sz, min_gva, MEM_REGION_TEST_DATA);\n }\n \n gva_t vm_alloc_pages(struct kvm_vm *vm, int nr_pages)\n@@ -1503,34 +1503,24 @@ gva_t vm_alloc_page(struct kvm_vm *vm)\n }\n \n /*\n- * Map a range of VM virtual address to the VM's physical address\n+ * Map a range of VM virtual address to the VM's physical address.\n  *\n- * Input Args:\n- *   vm - Virtual Machine\n- *   vaddr - Virtuall address to map\n- *   paddr - VM Physical Address\n- *   npages - The number of pages to map\n- *\n- * Output Args: None\n- *\n- * Return: None\n- *\n- * Within the VM given by @vm, creates a virtual translation for\n- * @npages starting at @vaddr to the page range starting at @paddr.\n+ * Within the VM given by @vm, creates a virtual translation for @npages\n+ * starting at @gva to the page range starting at @paddr.\n  */\n-void virt_map(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n+void virt_map(struct kvm_vm *vm, gva_t gva, u64 paddr,\n \t      unsigned int npages)\n {\n \tsize_t page_size = vm->page_size;\n \tsize_t size = npages * page_size;\n \n-\tTEST_ASSERT(vaddr + size > vaddr, \"Vaddr overflow\");\n+\tTEST_ASSERT(gva + size > gva, \"Vaddr overflow\");\n \tTEST_ASSERT(paddr + size > paddr, \"Paddr overflow\");\n \n \twhile (npages--) {\n-\t\tvirt_pg_map(vm, vaddr, paddr);\n+\t\tvirt_pg_map(vm, gva, paddr);\n \n-\t\tvaddr += page_size;\n+\t\tgva += page_size;\n \t\tpaddr += page_size;\n \t}\n }\ndiff --git a/tools/testing/selftests/kvm/lib/loongarch/processor.c b/tools/testing/selftests/kvm/lib/loongarch/processor.c\nindex 318520f1f1b9..47e782056196 100644\n--- a/tools/testing/selftests/kvm/lib/loongarch/processor.c\n+++ b/tools/testing/selftests/kvm/lib/loongarch/processor.c\n@@ -111,22 +111,21 @@ gpa_t addr_arch_gva2gpa(struct kvm_vm *vm, gva_t gva)\n \tu64 *ptep;\n \n \tptep = virt_populate_pte(vm, gva, 0);\n-\tTEST_ASSERT(*ptep != 0, \"Virtual address vaddr: 0x%lx not mapped\\n\", gva);\n+\tTEST_ASSERT(*ptep != 0, \"Virtual address gva: 0x%lx not mapped\\n\", gva);\n \n \treturn pte_addr(vm, *ptep) + (gva & (vm->page_size - 1));\n }\n \n-void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr)\n {\n \tu32 prot_bits;\n \tu64 *ptep;\n \n-\tTEST_ASSERT((vaddr % vm->page_size) == 0,\n+\tTEST_ASSERT((gva % vm->page_size) == 0,\n \t\t\t\"Virtual address not on page boundary,\\n\"\n-\t\t\t\"vaddr: 0x%lx vm->page_size: 0x%x\", vaddr, vm->page_size);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid,\n-\t\t\t(vaddr >> vm->page_shift)),\n-\t\t\t\"Invalid virtual address, vaddr: 0x%lx\", vaddr);\n+\t\t\t\"gva: 0x%lx vm->page_size: 0x%x\", gva, vm->page_size);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t\t\"Invalid virtual address, gva: 0x%lx\", gva);\n \tTEST_ASSERT((paddr % vm->page_size) == 0,\n \t\t\t\"Physical address not on page boundary,\\n\"\n \t\t\t\"paddr: 0x%lx vm->page_size: 0x%x\", paddr, vm->page_size);\n@@ -135,7 +134,7 @@ void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n \t\t\t\"paddr: 0x%lx vm->max_gfn: 0x%lx vm->page_size: 0x%x\",\n \t\t\tpaddr, vm->max_gfn, vm->page_size);\n \n-\tptep = virt_populate_pte(vm, vaddr, 1);\n+\tptep = virt_populate_pte(vm, gva, 1);\n \tprot_bits = _PAGE_PRESENT | __READABLE | __WRITEABLE | _CACHE_CC | _PAGE_USER;\n \tWRITE_ONCE(*ptep, paddr | prot_bits);\n }\n@@ -373,20 +372,20 @@ void loongarch_vcpu_setup(struct kvm_vcpu *vcpu)\n struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n {\n \tsize_t stack_size;\n-\tu64 stack_vaddr;\n+\tu64 stack_gva;\n \tstruct kvm_regs regs;\n \tstruct kvm_vcpu *vcpu;\n \n \tvcpu = __vm_vcpu_add(vm, vcpu_id);\n \tstack_size = vm->page_size;\n-\tstack_vaddr = __vm_alloc(vm, stack_size,\n-\t\t\t\t LOONGARCH_GUEST_STACK_VADDR_MIN, MEM_REGION_DATA);\n-\tTEST_ASSERT(stack_vaddr != 0,  \"No memory for vm stack\");\n+\tstack_gva = __vm_alloc(vm, stack_size,\n+\t\t\t       LOONGARCH_GUEST_STACK_VADDR_MIN, MEM_REGION_DATA);\n+\tTEST_ASSERT(stack_gva != 0,  \"No memory for vm stack\");\n \n \tloongarch_vcpu_setup(vcpu);\n \t/* Setup guest general purpose registers */\n \tvcpu_regs_get(vcpu, &regs);\n-\tregs.gpr[3] = stack_vaddr + stack_size;\n+\tregs.gpr[3] = stack_gva + stack_size;\n \tvcpu_regs_set(vcpu, &regs);\n \n \treturn vcpu;\ndiff --git a/tools/testing/selftests/kvm/lib/memstress.c b/tools/testing/selftests/kvm/lib/memstress.c\nindex b59dc3344ff3..6dcd15910a06 100644\n--- a/tools/testing/selftests/kvm/lib/memstress.c\n+++ b/tools/testing/selftests/kvm/lib/memstress.c\n@@ -49,7 +49,7 @@ void memstress_guest_code(u32 vcpu_idx)\n \tstruct memstress_args *args = &memstress_args;\n \tstruct memstress_vcpu_args *vcpu_args = &args->vcpu_args[vcpu_idx];\n \tstruct guest_random_state rand_state;\n-\tu64 gva;\n+\tgva_t gva;\n \tu64 pages;\n \tu64 addr;\n \tu64 page;\ndiff --git a/tools/testing/selftests/kvm/lib/riscv/processor.c b/tools/testing/selftests/kvm/lib/riscv/processor.c\nindex 38eb8302922a..108144fb858b 100644\n--- a/tools/testing/selftests/kvm/lib/riscv/processor.c\n+++ b/tools/testing/selftests/kvm/lib/riscv/processor.c\n@@ -75,17 +75,16 @@ void virt_arch_pgd_alloc(struct kvm_vm *vm)\n \tvm->mmu.pgd_created = true;\n }\n \n-void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr)\n {\n \tu64 *ptep, next_ppn;\n \tint level = vm->mmu.pgtable_levels - 1;\n \n-\tTEST_ASSERT((vaddr % vm->page_size) == 0,\n+\tTEST_ASSERT((gva % vm->page_size) == 0,\n \t\t\"Virtual address not on page boundary,\\n\"\n-\t\t\"  vaddr: 0x%lx vm->page_size: 0x%x\", vaddr, vm->page_size);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid,\n-\t\t(vaddr >> vm->page_shift)),\n-\t\t\"Invalid virtual address, vaddr: 0x%lx\", vaddr);\n+\t\t\"  gva: 0x%lx vm->page_size: 0x%x\", gva, vm->page_size);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t    \"Invalid virtual address, gva: 0x%lx\", gva);\n \tTEST_ASSERT((paddr % vm->page_size) == 0,\n \t\t\"Physical address not on page boundary,\\n\"\n \t\t\"  paddr: 0x%lx vm->page_size: 0x%x\", paddr, vm->page_size);\n@@ -94,7 +93,7 @@ void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n \t\t\"  paddr: 0x%lx vm->max_gfn: 0x%lx vm->page_size: 0x%x\",\n \t\tpaddr, vm->max_gfn, vm->page_size);\n \n-\tptep = addr_gpa2hva(vm, vm->mmu.pgd) + pte_index(vm, vaddr, level) * 8;\n+\tptep = addr_gpa2hva(vm, vm->mmu.pgd) + pte_index(vm, gva, level) * 8;\n \tif (!*ptep) {\n \t\tnext_ppn = vm_alloc_page_table(vm) >> PGTBL_PAGE_SIZE_SHIFT;\n \t\t*ptep = (next_ppn << PGTBL_PTE_ADDR_SHIFT) |\n@@ -104,7 +103,7 @@ void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n \n \twhile (level > -1) {\n \t\tptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) +\n-\t\t       pte_index(vm, vaddr, level) * 8;\n+\t\t       pte_index(vm, gva, level) * 8;\n \t\tif (!*ptep && level > 0) {\n \t\t\tnext_ppn = vm_alloc_page_table(vm) >>\n \t\t\t\t   PGTBL_PAGE_SIZE_SHIFT;\n@@ -315,16 +314,16 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n {\n \tint r;\n \tsize_t stack_size;\n-\tunsigned long stack_vaddr;\n+\tunsigned long stack_gva;\n \tunsigned long current_gp = 0;\n \tstruct kvm_mp_state mps;\n \tstruct kvm_vcpu *vcpu;\n \n \tstack_size = vm->page_size == 4096 ? DEFAULT_STACK_PGS * vm->page_size :\n \t\t\t\t\t     vm->page_size;\n-\tstack_vaddr = __vm_alloc(vm, stack_size,\n-\t\t\t\t       DEFAULT_RISCV_GUEST_STACK_VADDR_MIN,\n-\t\t\t\t       MEM_REGION_DATA);\n+\tstack_gva = __vm_alloc(vm, stack_size,\n+\t\t\t       DEFAULT_RISCV_GUEST_STACK_VADDR_MIN,\n+\t\t\t       MEM_REGION_DATA);\n \n \tvcpu = __vm_vcpu_add(vm, vcpu_id);\n \triscv_vcpu_mmu_setup(vcpu);\n@@ -344,7 +343,7 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n \tvcpu_set_reg(vcpu, RISCV_CORE_REG(regs.gp), current_gp);\n \n \t/* Setup stack pointer and program counter of guest */\n-\tvcpu_set_reg(vcpu, RISCV_CORE_REG(regs.sp), stack_vaddr + stack_size);\n+\tvcpu_set_reg(vcpu, RISCV_CORE_REG(regs.sp), stack_gva + stack_size);\n \n \t/* Setup sscratch for guest_get_vcpuid() */\n \tvcpu_set_reg(vcpu, RISCV_GENERAL_CSR_REG(sscratch), vcpu_id);\ndiff --git a/tools/testing/selftests/kvm/lib/s390/processor.c b/tools/testing/selftests/kvm/lib/s390/processor.c\nindex 4ae0a39f426f..643e583c804c 100644\n--- a/tools/testing/selftests/kvm/lib/s390/processor.c\n+++ b/tools/testing/selftests/kvm/lib/s390/processor.c\n@@ -47,19 +47,17 @@ static u64 virt_alloc_region(struct kvm_vm *vm, int ri)\n \t\t| ((ri < 4 ? (PAGES_PER_REGION - 1) : 0) & REGION_ENTRY_LENGTH);\n }\n \n-void virt_arch_pg_map(struct kvm_vm *vm, u64 gva, u64 gpa)\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 gpa)\n {\n \tint ri, idx;\n \tu64 *entry;\n \n \tTEST_ASSERT((gva % vm->page_size) == 0,\n-\t\t\"Virtual address not on page boundary,\\n\"\n-\t\t\"  vaddr: 0x%lx vm->page_size: 0x%x\",\n-\t\tgva, vm->page_size);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid,\n-\t\t(gva >> vm->page_shift)),\n-\t\t\"Invalid virtual address, vaddr: 0x%lx\",\n-\t\tgva);\n+\t\t    \"Virtual address not on page boundary,\\n\"\n+\t\t    \"  gva: 0x%lx vm->page_size: 0x%x\",\n+\t\t    gva, vm->page_size);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t    \"Invalid virtual address, gva: 0x%lx\", gva);\n \tTEST_ASSERT((gpa % vm->page_size) == 0,\n \t\t\"Physical address not on page boundary,\\n\"\n \t\t\"  paddr: 0x%lx vm->page_size: 0x%x\",\n@@ -163,7 +161,7 @@ void vcpu_arch_set_entry_point(struct kvm_vcpu *vcpu, void *guest_code)\n struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n {\n \tsize_t stack_size =  DEFAULT_STACK_PGS * getpagesize();\n-\tu64 stack_vaddr;\n+\tu64 stack_gva;\n \tstruct kvm_regs regs;\n \tstruct kvm_sregs sregs;\n \tstruct kvm_vcpu *vcpu;\n@@ -171,15 +169,14 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n \tTEST_ASSERT(vm->page_size == PAGE_SIZE, \"Unsupported page size: 0x%x\",\n \t\t    vm->page_size);\n \n-\tstack_vaddr = __vm_alloc(vm, stack_size,\n-\t\t\t\t       DEFAULT_GUEST_STACK_VADDR_MIN,\n-\t\t\t\t       MEM_REGION_DATA);\n+\tstack_gva = __vm_alloc(vm, stack_size, DEFAULT_GUEST_STACK_VADDR_MIN,\n+\t\t\t       MEM_REGION_DATA);\n \n \tvcpu = __vm_vcpu_add(vm, vcpu_id);\n \n \t/* Setup guest registers */\n \tvcpu_regs_get(vcpu, &regs);\n-\tregs.gprs[15] = stack_vaddr + (DEFAULT_STACK_PGS * getpagesize()) - 160;\n+\tregs.gprs[15] = stack_gva + (DEFAULT_STACK_PGS * getpagesize()) - 160;\n \tvcpu_regs_set(vcpu, &regs);\n \n \tvcpu_sregs_get(vcpu, &sregs);\ndiff --git a/tools/testing/selftests/kvm/lib/ucall_common.c b/tools/testing/selftests/kvm/lib/ucall_common.c\nindex 4a8a5bc40a45..029ce21f9f2f 100644\n--- a/tools/testing/selftests/kvm/lib/ucall_common.c\n+++ b/tools/testing/selftests/kvm/lib/ucall_common.c\n@@ -29,12 +29,12 @@ void ucall_init(struct kvm_vm *vm, gpa_t mmio_gpa)\n {\n \tstruct ucall_header *hdr;\n \tstruct ucall *uc;\n-\tgva_t vaddr;\n+\tgva_t gva;\n \tint i;\n \n-\tvaddr = vm_alloc_shared(vm, sizeof(*hdr), KVM_UTIL_MIN_VADDR,\n+\tgva = vm_alloc_shared(vm, sizeof(*hdr), KVM_UTIL_MIN_VADDR,\n \t\t\t\tMEM_REGION_DATA);\n-\thdr = (struct ucall_header *)addr_gva2hva(vm, vaddr);\n+\thdr = (struct ucall_header *)addr_gva2hva(vm, gva);\n \tmemset(hdr, 0, sizeof(*hdr));\n \n \tfor (i = 0; i < KVM_MAX_VCPUS; ++i) {\n@@ -42,7 +42,7 @@ void ucall_init(struct kvm_vm *vm, gpa_t mmio_gpa)\n \t\tuc->hva = uc;\n \t}\n \n-\twrite_guest_global(vm, ucall_pool, (struct ucall_header *)vaddr);\n+\twrite_guest_global(vm, ucall_pool, (struct ucall_header *)gva);\n \n \tucall_arch_init(vm, mmio_gpa);\n }\ndiff --git a/tools/testing/selftests/kvm/lib/x86/processor.c b/tools/testing/selftests/kvm/lib/x86/processor.c\nindex 50848112932c..3c55980c81b2 100644\n--- a/tools/testing/selftests/kvm/lib/x86/processor.c\n+++ b/tools/testing/selftests/kvm/lib/x86/processor.c\n@@ -207,15 +207,15 @@ void tdp_mmu_init(struct kvm_vm *vm, int pgtable_levels,\n }\n \n static void *virt_get_pte(struct kvm_vm *vm, struct kvm_mmu *mmu,\n-\t\t\t  u64 *parent_pte, u64 vaddr, int level)\n+\t\t\t  u64 *parent_pte, gva_t gva, int level)\n {\n \tu64 pt_gpa = PTE_GET_PA(*parent_pte);\n \tu64 *page_table = addr_gpa2hva(vm, pt_gpa);\n-\tint index = (vaddr >> PG_LEVEL_SHIFT(level)) & 0x1ffu;\n+\tint index = (gva >> PG_LEVEL_SHIFT(level)) & 0x1ffu;\n \n \tTEST_ASSERT((*parent_pte == mmu->pgd) || is_present_pte(mmu, parent_pte),\n \t\t    \"Parent PTE (level %d) not PRESENT for gva: 0x%08lx\",\n-\t\t    level + 1, vaddr);\n+\t\t    level + 1, gva);\n \n \treturn &page_table[index];\n }\n@@ -223,12 +223,12 @@ static void *virt_get_pte(struct kvm_vm *vm, struct kvm_mmu *mmu,\n static u64 *virt_create_upper_pte(struct kvm_vm *vm,\n \t\t\t\t  struct kvm_mmu *mmu,\n \t\t\t\t  u64 *parent_pte,\n-\t\t\t\t  u64 vaddr,\n+\t\t\t\t  gva_t gva,\n \t\t\t\t  u64 paddr,\n \t\t\t\t  int current_level,\n \t\t\t\t  int target_level)\n {\n-\tu64 *pte = virt_get_pte(vm, mmu, parent_pte, vaddr, current_level);\n+\tu64 *pte = virt_get_pte(vm, mmu, parent_pte, gva, current_level);\n \n \tpaddr = vm_untag_gpa(vm, paddr);\n \n@@ -247,16 +247,16 @@ static u64 *virt_create_upper_pte(struct kvm_vm *vm,\n \t\t * this level.\n \t\t */\n \t\tTEST_ASSERT(current_level != target_level,\n-\t\t\t    \"Cannot create hugepage at level: %u, vaddr: 0x%lx\",\n-\t\t\t    current_level, vaddr);\n+\t\t\t    \"Cannot create hugepage at level: %u, gva: 0x%lx\",\n+\t\t\t    current_level, gva);\n \t\tTEST_ASSERT(!is_huge_pte(mmu, pte),\n-\t\t\t    \"Cannot create page table at level: %u, vaddr: 0x%lx\",\n-\t\t\t    current_level, vaddr);\n+\t\t\t    \"Cannot create page table at level: %u, gva: 0x%lx\",\n+\t\t\t    current_level, gva);\n \t}\n \treturn pte;\n }\n \n-void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, u64 vaddr,\n+void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, gva_t gva,\n \t\t   u64 paddr, int level)\n {\n \tconst u64 pg_size = PG_LEVEL_SIZE(level);\n@@ -266,11 +266,11 @@ void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, u64 vaddr,\n \tTEST_ASSERT(vm->mode == VM_MODE_PXXVYY_4K,\n \t\t    \"Unknown or unsupported guest mode: 0x%x\", vm->mode);\n \n-\tTEST_ASSERT((vaddr % pg_size) == 0,\n+\tTEST_ASSERT((gva % pg_size) == 0,\n \t\t    \"Virtual address not aligned,\\n\"\n-\t\t    \"vaddr: 0x%lx page size: 0x%lx\", vaddr, pg_size);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (vaddr >> vm->page_shift)),\n-\t\t    \"Invalid virtual address, vaddr: 0x%lx\", vaddr);\n+\t\t    \"gva: 0x%lx page size: 0x%lx\", gva, pg_size);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t    \"Invalid virtual address, gva: 0x%lx\", gva);\n \tTEST_ASSERT((paddr % pg_size) == 0,\n \t\t    \"Physical address not aligned,\\n\"\n \t\t    \"  paddr: 0x%lx page size: 0x%lx\", paddr, pg_size);\n@@ -291,16 +291,16 @@ void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, u64 vaddr,\n \tfor (current_level = mmu->pgtable_levels;\n \t     current_level > PG_LEVEL_4K;\n \t     current_level--) {\n-\t\tpte = virt_create_upper_pte(vm, mmu, pte, vaddr, paddr,\n+\t\tpte = virt_create_upper_pte(vm, mmu, pte, gva, paddr,\n \t\t\t\t\t    current_level, level);\n \t\tif (is_huge_pte(mmu, pte))\n \t\t\treturn;\n \t}\n \n \t/* Fill in page table entry. */\n-\tpte = virt_get_pte(vm, mmu, pte, vaddr, PG_LEVEL_4K);\n+\tpte = virt_get_pte(vm, mmu, pte, gva, PG_LEVEL_4K);\n \tTEST_ASSERT(!is_present_pte(mmu, pte),\n-\t\t    \"PTE already present for 4k page at vaddr: 0x%lx\", vaddr);\n+\t\t    \"PTE already present for 4k page at gva: 0x%lx\", gva);\n \t*pte = PTE_PRESENT_MASK(mmu) | PTE_READABLE_MASK(mmu) |\n \t       PTE_WRITABLE_MASK(mmu) | PTE_EXECUTABLE_MASK(mmu) |\n \t       PTE_ALWAYS_SET_MASK(mmu) | (paddr & PHYSICAL_PAGE_MASK);\n@@ -315,12 +315,12 @@ void __virt_pg_map(struct kvm_vm *vm, struct kvm_mmu *mmu, u64 vaddr,\n \t\t*pte |= PTE_S_BIT_MASK(mmu);\n }\n \n-void virt_arch_pg_map(struct kvm_vm *vm, u64 vaddr, u64 paddr)\n+void virt_arch_pg_map(struct kvm_vm *vm, gva_t gva, u64 paddr)\n {\n-\t__virt_pg_map(vm, &vm->mmu, vaddr, paddr, PG_LEVEL_4K);\n+\t__virt_pg_map(vm, &vm->mmu, gva, paddr, PG_LEVEL_4K);\n }\n \n-void virt_map_level(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n+void virt_map_level(struct kvm_vm *vm, gva_t gva, u64 paddr,\n \t\t    u64 nr_bytes, int level)\n {\n \tu64 pg_size = PG_LEVEL_SIZE(level);\n@@ -332,11 +332,11 @@ void virt_map_level(struct kvm_vm *vm, u64 vaddr, u64 paddr,\n \t\t    nr_bytes, pg_size);\n \n \tfor (i = 0; i < nr_pages; i++) {\n-\t\t__virt_pg_map(vm, &vm->mmu, vaddr, paddr, level);\n-\t\tsparsebit_set_num(vm->vpages_mapped, vaddr >> vm->page_shift,\n+\t\t__virt_pg_map(vm, &vm->mmu, gva, paddr, level);\n+\t\tsparsebit_set_num(vm->vpages_mapped, gva >> vm->page_shift,\n \t\t\t\t  nr_bytes / PAGE_SIZE);\n \n-\t\tvaddr += pg_size;\n+\t\tgva += pg_size;\n \t\tpaddr += pg_size;\n \t}\n }\n@@ -356,7 +356,7 @@ static bool vm_is_target_pte(struct kvm_mmu *mmu, u64 *pte,\n \n static u64 *__vm_get_page_table_entry(struct kvm_vm *vm,\n \t\t\t\t      struct kvm_mmu *mmu,\n-\t\t\t\t      u64 vaddr,\n+\t\t\t\t      gva_t gva,\n \t\t\t\t      int *level)\n {\n \tint va_width = 12 + (mmu->pgtable_levels) * 9;\n@@ -371,26 +371,23 @@ static u64 *__vm_get_page_table_entry(struct kvm_vm *vm,\n \n \tTEST_ASSERT(vm->mode == VM_MODE_PXXVYY_4K,\n \t\t    \"Unknown or unsupported guest mode: 0x%x\", vm->mode);\n-\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid,\n-\t\t(vaddr >> vm->page_shift)),\n-\t\t\"Invalid virtual address, vaddr: 0x%lx\",\n-\t\tvaddr);\n+\tTEST_ASSERT(sparsebit_is_set(vm->vpages_valid, (gva >> vm->page_shift)),\n+\t\t    \"Invalid virtual address, gva: 0x%lx\", gva);\n \t/*\n-\t * Check that the vaddr is a sign-extended va_width value.\n+\t * Check that the gva is a sign-extended va_width value.\n \t */\n-\tTEST_ASSERT(vaddr ==\n-\t\t    (((s64)vaddr << (64 - va_width) >> (64 - va_width))),\n+\tTEST_ASSERT(gva == (((s64)gva << (64 - va_width) >> (64 - va_width))),\n \t\t    \"Canonical check failed.  The virtual address is invalid.\");\n \n \tfor (current_level = mmu->pgtable_levels;\n \t     current_level > PG_LEVEL_4K;\n \t     current_level--) {\n-\t\tpte = virt_get_pte(vm, mmu, pte, vaddr, current_level);\n+\t\tpte = virt_get_pte(vm, mmu, pte, gva, current_level);\n \t\tif (vm_is_target_pte(mmu, pte, level, current_level))\n \t\t\treturn pte;\n \t}\n \n-\treturn virt_get_pte(vm, mmu, pte, vaddr, PG_LEVEL_4K);\n+\treturn virt_get_pte(vm, mmu, pte, gva, PG_LEVEL_4K);\n }\n \n u64 *tdp_get_pte(struct kvm_vm *vm, u64 l2_gpa)\n@@ -400,11 +397,11 @@ u64 *tdp_get_pte(struct kvm_vm *vm, u64 l2_gpa)\n \treturn __vm_get_page_table_entry(vm, &vm->stage2_mmu, l2_gpa, &level);\n }\n \n-u64 *vm_get_pte(struct kvm_vm *vm, u64 vaddr)\n+u64 *vm_get_pte(struct kvm_vm *vm, gva_t gva)\n {\n \tint level = PG_LEVEL_4K;\n \n-\treturn __vm_get_page_table_entry(vm, &vm->mmu, vaddr, &level);\n+\treturn __vm_get_page_table_entry(vm, &vm->mmu, gva, &level);\n }\n \n void virt_arch_dump(FILE *stream, struct kvm_vm *vm, u8 indent)\n@@ -825,14 +822,13 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n {\n \tstruct kvm_mp_state mp_state;\n \tstruct kvm_regs regs;\n-\tgva_t stack_vaddr;\n+\tgva_t stack_gva;\n \tstruct kvm_vcpu *vcpu;\n \n-\tstack_vaddr = __vm_alloc(vm, DEFAULT_STACK_PGS * getpagesize(),\n-\t\t\t\t       DEFAULT_GUEST_STACK_VADDR_MIN,\n-\t\t\t\t       MEM_REGION_DATA);\n+\tstack_gva = __vm_alloc(vm, DEFAULT_STACK_PGS * getpagesize(),\n+\t\t\t       DEFAULT_GUEST_STACK_VADDR_MIN, MEM_REGION_DATA);\n \n-\tstack_vaddr += DEFAULT_STACK_PGS * getpagesize();\n+\tstack_gva += DEFAULT_STACK_PGS * getpagesize();\n \n \t/*\n \t * Align stack to match calling sequence requirements in section \"The\n@@ -843,9 +839,9 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n \t * If this code is ever used to launch a vCPU with 32-bit entry point it\n \t * may need to subtract 4 bytes instead of 8 bytes.\n \t */\n-\tTEST_ASSERT(IS_ALIGNED(stack_vaddr, PAGE_SIZE),\n+\tTEST_ASSERT(IS_ALIGNED(stack_gva, PAGE_SIZE),\n \t\t    \"__vm_alloc() did not provide a page-aligned address\");\n-\tstack_vaddr -= 8;\n+\tstack_gva -= 8;\n \n \tvcpu = __vm_vcpu_add(vm, vcpu_id);\n \tvcpu_init_cpuid(vcpu, kvm_get_supported_cpuid());\n@@ -855,7 +851,7 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, u32 vcpu_id)\n \t/* Setup guest general purpose registers */\n \tvcpu_regs_get(vcpu, &regs);\n \tregs.rflags = regs.rflags | 0x2;\n-\tregs.rsp = stack_vaddr;\n+\tregs.rsp = stack_gva;\n \tvcpu_regs_set(vcpu, &regs);\n \n \t/* Setup the MP state */\ndiff --git a/tools/testing/selftests/kvm/s390/ucontrol_test.c b/tools/testing/selftests/kvm/s390/ucontrol_test.c\nindex f773ba0f4641..dbdee4c39d47 100644\n--- a/tools/testing/selftests/kvm/s390/ucontrol_test.c\n+++ b/tools/testing/selftests/kvm/s390/ucontrol_test.c\n@@ -571,7 +571,7 @@ TEST_F(uc_kvm, uc_skey)\n {\n \tstruct kvm_s390_sie_block *sie_block = self->sie_block;\n \tstruct kvm_sync_regs *sync_regs = &self->run->s.regs;\n-\tu64 test_vaddr = VM_MEM_SIZE - (SZ_1M / 2);\n+\tu64 test_gva = VM_MEM_SIZE - (SZ_1M / 2);\n \tstruct kvm_run *run = self->run;\n \tconst u8 skeyvalue = 0x34;\n \n@@ -583,7 +583,7 @@ TEST_F(uc_kvm, uc_skey)\n \t/* set register content for test_skey_asm to access not mapped memory */\n \tsync_regs->gprs[1] = skeyvalue;\n \tsync_regs->gprs[5] = self->base_gpa;\n-\tsync_regs->gprs[6] = test_vaddr;\n+\tsync_regs->gprs[6] = test_gva;\n \trun->kvm_dirty_regs |= KVM_SYNC_GPRS;\n \n \t/* DAT disabled + 64 bit mode */\ndiff --git a/tools/testing/selftests/kvm/x86/xapic_ipi_test.c b/tools/testing/selftests/kvm/x86/xapic_ipi_test.c\nindex d2e2410f748b..39ce9a9369f5 100644\n--- a/tools/testing/selftests/kvm/x86/xapic_ipi_test.c\n+++ b/tools/testing/selftests/kvm/x86/xapic_ipi_test.c\n@@ -393,7 +393,7 @@ int main(int argc, char *argv[])\n \tint run_secs = 0;\n \tint delay_usecs = 0;\n \tstruct test_data_page *data;\n-\tgva_t test_data_page_vaddr;\n+\tgva_t test_data_page_gva;\n \tbool migrate = false;\n \tpthread_t threads[2];\n \tstruct thread_params params[2];\n@@ -414,14 +414,14 @@ int main(int argc, char *argv[])\n \n \tparams[1].vcpu = vm_vcpu_add(vm, 1, sender_guest_code);\n \n-\ttest_data_page_vaddr = vm_alloc_page(vm);\n-\tdata = addr_gva2hva(vm, test_data_page_vaddr);\n+\ttest_data_page_gva = vm_alloc_page(vm);\n+\tdata = addr_gva2hva(vm, test_data_page_gva);\n \tmemset(data, 0, sizeof(*data));\n \tparams[0].data = data;\n \tparams[1].data = data;\n \n-\tvcpu_args_set(params[0].vcpu, 1, test_data_page_vaddr);\n-\tvcpu_args_set(params[1].vcpu, 1, test_data_page_vaddr);\n+\tvcpu_args_set(params[0].vcpu, 1, test_data_page_gva);\n+\tvcpu_args_set(params[1].vcpu, 1, test_data_page_gva);\n \n \tpipis_rcvd = (u64 *)addr_gva2hva(vm, (u64)&ipis_rcvd);\n \tparams[0].pipis_rcvd = pipis_rcvd;\n","prefixes":["v3","16/19"]}