aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/kvm_pgtable.h
diff options
context:
space:
mode:
authorGravatar Oliver Upton <oliver.upton@linux.dev> 2022-11-07 21:56:32 +0000
committerGravatar Marc Zyngier <maz@kernel.org> 2022-11-10 14:43:46 +0000
commit83844a2317ecad935f6735abd854e4bf3f757040 (patch)
tree82ebdf8fb6f509b8f584bf53e8b8f20a42e42cda /arch/arm64/include/asm/kvm_pgtable.h
parentKVM: arm64: Combine visitor arguments into a context structure (diff)
downloadlinux-83844a2317ecad935f6735abd854e4bf3f757040.tar.gz
linux-83844a2317ecad935f6735abd854e4bf3f757040.tar.bz2
linux-83844a2317ecad935f6735abd854e4bf3f757040.zip
KVM: arm64: Stash observed pte value in visitor context
Rather than reading the ptep all over the shop, read the ptep once from __kvm_pgtable_visit() and stick it in the visitor context. Reread the ptep after visiting a leaf in case the callback installed a new table underneath. No functional change intended. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Reviewed-by: Ben Gardon <bgardon@google.com> Reviewed-by: Gavin Shan <gshan@redhat.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221107215644.1895162-3-oliver.upton@linux.dev
Diffstat (limited to 'arch/arm64/include/asm/kvm_pgtable.h')
-rw-r--r--arch/arm64/include/asm/kvm_pgtable.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
index 607f9bb8aab4..14d4b68a1e92 100644
--- a/arch/arm64/include/asm/kvm_pgtable.h
+++ b/arch/arm64/include/asm/kvm_pgtable.h
@@ -201,6 +201,7 @@ enum kvm_pgtable_walk_flags {
struct kvm_pgtable_visit_ctx {
kvm_pte_t *ptep;
+ kvm_pte_t old;
void *arg;
u64 addr;
u64 end;