aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/mmu.c
AgeCommit message (Expand)AuthorFilesLines
6 daysMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-8/+124
11 daysMerge branch 'kvm-arm64/nv-xnx-haf' into kvmarm/nextOliver Upton1-5/+23
11 daysMerge branch 'kvm-arm64/sea-user' into kvmarm/nextOliver Upton1-1/+67
11 daysKVM: arm64: nv: Implement HW access flag management in stage-2 SW PTWOliver Upton1-0/+5
2025-11-24KVM: arm64: nv: Forward FEAT_XNX permissions to the shadow stage-2Oliver Upton1-5/+18
2025-11-19KVM: arm64: Reschedule as needed when destroying the stage-2 page-tablesRaghavendra Rao Ananta1-1/+25
2025-11-19KVM: arm64: Split kvm_pgtable_stage2_destroy()Raghavendra Rao Ananta1-2/+10
2025-11-12arm64: Fix typos and spelling errors in commentsmrigendrachaubey1-1/+1
2025-11-12KVM: arm64: VM exit to userspace to handle SEAJiaqi Yan1-1/+67
2025-09-30Merge tag 'kvmarm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-7/+9
2025-09-30Merge tag 'kvmarm-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kerne...Paolo Bonzini1-12/+21
2025-09-20Merge branch kvm-arm64/misc-6.18 into kvmarm-master/nextMarc Zyngier1-7/+9
2025-09-17KVM: arm64: Fix page leak in user_mem_abort()Fuad Tabba1-2/+7
2025-09-15KVM: arm64: Update stale comment for sanitise_mte_tags()Alexandru Elisei1-5/+2
2025-09-10Revert "KVM: arm64: Split kvm_pgtable_stage2_destroy()"Oliver Upton1-10/+2
2025-09-10Revert "KVM: arm64: Reschedule as needed when destroying the stage-2 page-tab...Oliver Upton1-25/+1
2025-09-10KVM: arm64: Remove stage 2 read fault checkWei-Lin Chang1-5/+0
2025-09-05KVM: arm64: Mark freed S2 MMUs as invalidMarc Zyngier1-0/+4
2025-08-27KVM: arm64: Enable support for guest_memfd backed memoryFuad Tabba1-0/+7
2025-08-27KVM: arm64: Handle guest_memfd-backed guest page faultsFuad Tabba1-3/+83
2025-08-27KVM: arm64: Refactor user_mem_abort()Fuad Tabba1-51/+59
2025-08-21KVM: arm64: Reschedule as needed when destroying the stage-2 page-tablesRaghavendra Rao Ananta1-1/+25
2025-08-21KVM: arm64: Split kvm_pgtable_stage2_destroy()Raghavendra Rao Ananta1-2/+10
2025-08-04KVM: arm64: nv: Handle SEAs due to VNCR redirectionOliver Upton1-12/+17
2025-07-26Merge branch 'kvm-arm64/doublefault2' into kvmarm/nextOliver Upton1-12/+5
2025-07-08KVM: arm64: nv: Honor SError exception routing / maskingOliver Upton1-1/+1
2025-07-08KVM: arm64: nv: Respect exception routing rules for SEAsOliver Upton1-11/+4
2025-07-07KVM: arm64: Allow cacheable stage 2 mapping using VMA flagsAnkit Agrawal1-22/+37
2025-07-07KVM: arm64: Block cacheable PFNMAP mappingAnkit Agrawal1-1/+30
2025-07-07KVM: arm64: Assume non-PFNMAP/MIXEDMAP VMAs can be mapped cacheableAnkit Agrawal1-6/+4
2025-07-07KVM: arm64: Rename the device variable to s2_force_noncacheableAnkit Agrawal1-6/+6
2025-05-26Merge tag 'kvmarm-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-1/+5
2025-05-21KVM: arm64: Stage-2 huge mappings for np-guestsVincent Donnefort1-1/+5
2025-05-05KVM: arm64: Fix uninitialized memcache pointer in user_mem_abort()Sebastian Ott1-5/+8
2025-04-03KVM: arm64: Don't translate FAR if invalid/unsafeOliver Upton1-12/+19
2025-03-14KVM: arm64: Count pKVM stage-2 usage in secondary pagetable statsVincent Donnefort1-1/+13
2025-03-14KVM: arm64: Add flags to kvm_hyp_memcacheVincent Donnefort1-4/+4
2025-01-17Merge branch kvm-arm64/misc-6.14 into kvmarm-master/nextMarc Zyngier1-6/+9
2025-01-08arm64: kvm: Introduce nvhe stack size constantsKalesh Singh1-6/+6
2025-01-08KVM: arm64: Fix nVHE stacktrace VA bits maskVincent Donnefort1-0/+3
2024-12-20KVM: arm64: Plumb the pKVM MMU in KVMQuentin Perret1-29/+58
2024-12-20KVM: arm64: Pass walk flags to kvm_pgtable_stage2_relax_permsQuentin Perret1-4/+3
2024-12-20KVM: arm64: Pass walk flags to kvm_pgtable_stage2_mkyoungQuentin Perret1-1/+2
2024-11-23Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-13/+8
2024-11-18Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-0/+11
2024-10-25KVM: arm64: Don't mark "struct page" accessed when making SPTE youngSean Christopherson1-5/+1
2024-10-25KVM: arm64: Use __kvm_faultin_pfn() to handle memory abortsSean Christopherson1-9/+6
2024-10-25KVM: arm64: Mark "struct page" pfns accessed/dirty before dropping mmu_lockSean Christopherson1-4/+6
2024-10-25KVM: Drop unused "hva" pointer from __gfn_to_pfn_memslot()Sean Christopherson1-1/+1
2024-10-25KVM: Drop @atomic param from gfn=>pfn and hva=>pfn APIsSean Christopherson1-1/+1
2024-10-16hugetlb: arm64: add mte supportYang Shi1-0/+11
2024-10-08KVM: arm64: nv: Do not block when unmapping stage-2 if disallowedOliver Upton1-7/+8
2024-08-22KVM: arm64: Ensure canonical IPA is hugepage-aligned when handling faultOliver Upton1-1/+8
2024-06-19KVM: arm64: nv: Tag shadow S2 entries with guest's leaf S2 levelMarc Zyngier1-2/+17
2024-06-19KVM: arm64: nv: Unmap/flush shadow stage 2 page tablesChristoffer Dall1-5/+23
2024-06-19KVM: arm64: nv: Handle shadow stage 2 page faultsMarc Zyngier1-9/+88
2024-06-19KVM: arm64: nv: Support multiple nested Stage-2 mmu structuresMarc Zyngier1-21/+48
2024-05-12Merge tag 'kvmarm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kv...Paolo Bonzini1-3/+5
2024-05-03Merge branch kvm-arm64/pkvm-6.10 into kvmarm-master/nextMarc Zyngier1-3/+5
2024-05-01KVM: arm64: Move setting the page as dirty out of the critical sectionFuad Tabba1-3/+5
2024-04-11KVM: delete .change_pte MMU notifier callbackPaolo Bonzini1-34/+0
2024-03-26KVM: arm64: Fix out-of-IPA space translation fault handlingWujie Duan1-1/+1
2024-03-15Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-5/+11
2024-03-07Merge branch kvm-arm64/kerneldoc into kvmarm/nextOliver Upton1-1/+1
2024-02-24KVM: arm64: Set io memory s2 pte as normalnc for vfio pci deviceAnkit Agrawal1-4/+10
2024-02-16arm64: kvm: avoid CONFIG_PGTABLE_LEVELS for runtime levelsArd Biesheuvel1-1/+1
2024-02-16arm64: mm: Use 48-bit virtual addressing for the permanent ID mapArd Biesheuvel1-11/+4
2024-02-01KVM: arm64: mmu: fix a kernel-doc warningRandy Dunlap1-1/+1
2023-11-30KVM: arm64: Use helpers to classify exception types reported via ESRArd Biesheuvel1-18/+17
2023-11-27KVM: arm64: Convert translation level parameter to s8Ryan Roberts1-7/+9
2023-11-02Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-26/+7
2023-10-30Merge branch kvm-arm64/stage2-vhe-load into kvmarm/nextOliver Upton1-6/+7
2023-10-30Merge branch kvm-arm64/misc into kvmarm/nextOliver Upton1-20/+0
2023-10-23KVM: arm64: Move VTCR_EL2 into struct s2_mmuMarc Zyngier1-6/+7
2023-10-16arm64: kvm: Use cpus_have_final_cap() explicitlyMark Rutland1-1/+1
2023-09-30KVM: arm64: Do not transfer page refcount for THP adjustmentVincent Donnefort1-20/+0
2023-09-12KVM: arm64: Properly return allocated EL2 VA from hyp_alloc_private_va_range()Marc Zyngier1-0/+3
2023-08-31Merge tag 'kvm-x86-generic-6.6' of https://github.com/kvm-x86/linux into HEADPaolo Bonzini1-1/+1
2023-08-28Merge branch kvm-arm64/6.6/misc into kvmarm-master/nextMarc Zyngier1-18/+68
2023-08-26KVM: arm64: Remove size-order align in the nVHE hyp private VA rangeVincent Donnefort1-17/+68
2023-08-17KVM: Wrap kvm_{gfn,hva}_range.pte in a per-action unionSean Christopherson1-1/+1
2023-08-17KVM: arm64: Flush only the memslot after write-protectRaghavendra Rao Ananta1-1/+1
2023-08-17KVM: arm64: Implement kvm_arch_flush_remote_tlbs_range()Raghavendra Rao Ananta1-0/+8
2023-08-17KVM: arm64: Use kvm_arch_flush_remote_tlbs()Raghavendra Rao Ananta1-3/+3
2023-08-08KVM: arm64: Remove redundant kvm_set_pfn_accessed() from user_mem_abort()Fuad Tabba1-1/+0
2023-07-12KVM: arm64: Correctly handle page aging notifiers for unaligned memslotOliver Upton1-10/+8
2023-05-18arm64: kvm: avoid overflow in integer divisionArnd Bergmann1-2/+2
2023-05-16KVM: arm64: Split huge pages during KVM_CLEAR_DIRTY_LOGRicardo Koller1-2/+13
2023-05-16KVM: arm64: Open-code kvm_mmu_write_protect_pt_masked()Ricardo Koller1-27/+15
2023-05-16KVM: arm64: Split huge pages when dirty logging is enabledRicardo Koller1-4/+123
2023-05-16KVM: arm64: Add kvm_uninit_stage2_mmu()Ricardo Koller1-1/+6
2023-05-16KVM: arm64: Refactor kvm_arch_commit_memory_region()Ricardo Koller1-7/+19
2023-05-16KVM: arm64: Add KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZERicardo Koller1-0/+4
2023-05-16KVM: arm64: Rename free_removed to free_unlinkedRicardo Koller1-5/+5
2023-03-16KVM: arm64: Check for kvm_vma_mte_allowed in the critical sectionMarc Zyngier1-2/+6
2023-03-16KVM: arm64: Disable interrupts while walking userspace PTsMarc Zyngier1-7/+38
2023-03-14KVM: arm64: Retry fault if vma_lookup() results become invalidDavid Matlack1-27/+21
2023-02-13Merge branch kvm-arm64/nv-prefix into kvmarm/nextOliver Upton1-8/+8
2023-02-13Merge branch kvm-arm64/parallel-access-faults into kvmarm/nextOliver Upton1-9/+9
2023-02-13Merge branch kvm/kvm-hw-enable-refactor into kvmarm/nextOliver Upton1-6/+6
2023-02-11KVM: arm64: Use the S2 MMU context to iterate over S2 tableMarc Zyngier1-8/+8
2023-01-12KVM: arm64: Handle access faults behind the read lockOliver Upton1-2/+2
2023-01-12KVM: arm64: Ignore EAGAIN for walks outside of a faultOliver Upton1-1/+3
2023-01-12KVM: arm64: Use KVM's pte type/helpers in handle_access_fault()Oliver Upton1-6/+4
2023-01-03KVM: arm64: Convert FSC_* over to ESR_ELx_FSC_*Marc Zyngier1-9/+12
2022-12-29KVM: x86: Unify pr_fmt to use module name for all KVM modulesSean Christopherson1-6/+6
2022-12-09Merge tag 'kvmarm-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvm...Paolo Bonzini1-61/+132
2022-12-05Merge branch kvm-arm64/mte-map-shared into kvmarm-master/nextMarc Zyngier1-33/+22
2022-12-05Merge branch kvm-arm64/pkvm-vcpu-state into kvmarm-master/nextMarc Zyngier1-1/+54
2022-12-05Merge branch kvm-arm64/parallel-faults into kvmarm-master/nextMarc Zyngier1-25/+28
2022-12-05KVM: arm64: Fix benign bug with incorrect use of VA_BITSRyan Roberts1-1/+1
2022-11-29KVM: arm64: permit all VM_MTE_ALLOWED mappings with MTE enabledPeter Collingbourne1-8/+0
2022-11-29KVM: arm64: unify the tests for VMAs in memslots when MTE is enabledPeter Collingbourne1-9/+16
2022-11-29arm64: mte: Lock a page for MTE tag initialisationCatalin Marinas1-1/+1
2022-11-29KVM: arm64: Simplify the sanitise_mte_tags() logicCatalin Marinas1-25/+15
2022-11-29arm64: mte: Fix/clarify the PG_mte_tagged semanticsCatalin Marinas1-2/+2
2022-11-11KVM: arm64: Instantiate guest stage-2 page-tables at EL2Quentin Perret1-1/+3
2022-11-11KVM: arm64: Consolidate stage-2 initialisation into a single functionQuentin Perret1-1/+26
2022-11-11KVM: arm64: Add generic hyp_memcache helpersQuentin Perret1-0/+26
2022-11-10KVM: arm64: Fix kvm init failure when mode!=vhe and VA_BITS=52.Ryan Roberts1-1/+27
2022-11-10KVM: arm64: Handle stage-2 faults in parallelOliver Upton1-24/+7
2022-11-10KVM: arm64: Protect stage-2 traversal with RCUOliver Upton1-1/+13
2022-11-10KVM: arm64: Tear down unlinked stage-2 subtree after break-before-makeOliver Upton1-0/+8
2022-11-10KVM: arm64: Use an opaque type for ptepsOliver Upton1-1/+1
2022-11-09kvm: Add interruptible flag to __gfn_to_pfn_memslot()Peter Xu1-1/+1
2022-10-22Merge tag 'kvmarm-fixes-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/g...Paolo Bonzini1-1/+8
2022-10-09KVM: arm64: Limit stage2_apply_range() batch size to largest blockOliver Upton1-1/+8
2022-08-30KVM: arm64/mmu: count KVM s2 mmu usage in secondary pagetable statsYosry Ahmed1-4/+32
2022-08-19KVM: Rename mmu_notifier_* to mmu_invalidate_*Chao Peng1-4/+4
2022-06-24KVM: Allow for different capacities in kvm_mmu_memory_cache structsDavid Matlack1-1/+1
2022-05-04Merge branch kvm-arm64/hyp-stack-guard into kvmarm-master/nextMarc Zyngier1-23/+45
2022-04-28KVM: arm64: Add guard pages for KVM nVHE hypervisor stackKalesh Singh1-2/+2
2022-04-28KVM: arm64: Introduce hyp_alloc_private_va_range()Kalesh Singh1-21/+43
2022-04-27KVM: arm64: Inject exception on out-of-IPA-range translation faultMarc Zyngier1-0/+19
2022-04-06KVM: arm64: Don't split hugepages outside of MMU write lockOliver Upton1-4/+7
2022-03-18KVM: arm64: fix typos in commentsJulia Lawall1-1/+1
2022-02-08Merge branch kvm-arm64/vmid-allocator into kvmarm-master/nextMarc Zyngier1-1/+0
2022-02-08KVM: arm64: Align the VMID allocation with the arm64 ASIDJulien Grall1-1/+0
2022-02-08KVM: arm64: Add fast path to handle permission relaxation during dirty loggingJing Zhang1-2/+15
2022-02-08KVM: arm64: Use read/write spin lock for MMU protectionJing Zhang1-18/+18
2022-01-07Merge tag 'kvmarm-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-13/+137
2022-01-04Merge branch kvm-arm64/misc-5.17 into kvmarm-master/nextMarc Zyngier1-2/+2
2021-12-16KVM: arm64: Rework kvm_pgtable initialisationMarc Zyngier1-2/+2
2021-12-16Merge branch kvm-arm64/pkvm-hyp-sharing into kvmarm-master/nextMarc Zyngier1-11/+126
2021-12-16KVM: arm64: pkvm: Unshare guest structs during teardownQuentin Perret1-0/+42
2021-12-16KVM: arm64: pkvm: Refcount the pages shared with EL2Quentin Perret1-10/+68
2021-12-16KVM: arm64: Introduce kvm_share_hyp()Quentin Perret1-6/+21
2021-12-15KVM: arm64: pkvm: Make kvm_host_owns_hyp_mappings() robust to VHEQuentin Perret1-0/+3
2021-12-15KVM: arm64: pkvm: Stub io map functionsQuentin Perret1-0/+6
2021-12-08KVM: Keep memslots in tree-based structures instead of array-based onesMaciej S. Szmigiero1-4/+4
2021-12-08KVM: Stop passing kvm_userspace_memory_region to arch memslot hooksSean Christopherson1-2/+0
2021-12-08KVM: arm64: Use "new" memslot instead of userspace memory regionSean Christopherson1-4/+6
2021-12-08KVM: Let/force architectures to deal with arch specific memslot dataSean Christopherson1-3/+4
2021-10-31Merge tag 'kvmarm-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-1/+1
2021-10-17KVM: arm64: Add memcg accounting to KVM allocationsJia He1-1/+1
2021-10-05KVM: arm64: Release mmap_lock when using VM_SHARED with MTEQuentin Perret1-2/+4
2021-09-06Merge tag 'kvmarm-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-12/+63
2021-09-06KVM: stats: Add VM stat for remote tlb flush requestsJing Zhang1-0/+1
2021-08-20Merge branch kvm-arm64/mmu/vmid-cleanups into kvmarm-master/nextMarc Zyngier1-1/+1
2021-08-20Merge branch kvm-arm64/mmu/el2-tracking into kvmarm-master/nextMarc Zyngier1-4/+24
2021-08-20Merge branch kvm-arm64/misc-5.15 into kvmarm-master/nextMarc Zyngier1-0/+1
2021-08-20KVM: arm64: Upgrade VMID accesses to {READ,WRITE}_ONCEMarc Zyngier1-1/+1
2021-08-11KVM: arm64: Restrict EL2 stage-1 changes in protected modeQuentin Perret1-4/+24
2021-08-02KVM: arm64: Count VMID-wide TLB invalidationsPaolo Bonzini1-0/+1
2021-08-02KVM: arm64: Use get_page() instead of kvm_get_pfn()Marc Zyngier1-1/+1
2021-08-02KVM: arm64: Avoid mapping size adjustment on permission faultMarc Zyngier1-3/+8
2021-08-02KVM: arm64: Walk userspace page tables to compute the THP mapping sizeMarc Zyngier1-4/+30
2021-07-14KVM: arm64: Fix detection of shared VMAs on guest faultMarc Zyngier1-1/+1
2021-07-02Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2021-06-30arm64: decouple check whether pfn is in linear map from pfn_valid()Mike Rapoport1-1/+1
2021-06-29Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2021-06-29arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection()Liam Howlett1-1/+1
2021-06-22Merge branch kvm-arm64/mmu/mte into kvmarm-master/nextMarc Zyngier1-0/+66
2021-06-22KVM: arm64: Introduce MTE VM featureSteven Price1-1/+66
2021-06-18Merge branch kvm-arm64/mmu/stage2-cmos into kvmarm-master/nextMarc Zyngier1-22/+17
2021-06-18KVM: arm64: Move guest CMOs to the fault handlersYanan Wang1-14/+7
2021-06-18KVM: arm64: Tweak parameters of guest cache maintenance functionsYanan Wang1-13/+15
2021-06-01KVM: arm64: Try stage2 block mapping for host device MMIOKeqian Zhu1-10/+51
2021-06-01KVM: arm64: Remove the creation time's mapping of MMIO regionsKeqian Zhu1-35/+3
2021-05-15KVM: arm64: Fix boolreturn.cocci warningskernel test robot1-6/+6
2021-04-23Merge tag 'kvmarm-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-17/+119
2021-04-17KVM: arm64: Convert to the gfn-based MMU notifier callbacksSean Christopherson1-84/+31
2021-04-17KVM: Move arm64's MMU notifier trace events to generic codeSean Christopherson1-5/+2
2021-04-13Merge branch 'kvm-arm64/memslot-fixes' into kvmarm-master/nextMarc Zyngier1-7/+14
2021-04-07KVM: arm64: Don't retrieve memory slot again in page fault handlerGavin Shan1-2/+7
2021-04-07KVM: arm64: Use find_vma_intersection()Gavin Shan1-4/+6
2021-04-07KVM: arm64: Hide kvm_mmu_wp_memory_region()Gavin Shan1-1/+1
2021-03-19KVM: arm64: Use kvm_arch in kvm_s2_mmuQuentin Perret1-4/+4
2021-03-19KVM: arm64: Use kvm_arch for stage 2 pgtableQuentin Perret1-1/+1
2021-03-19KVM: arm64: Elevate hypervisor mappings creation at EL2Quentin Perret1-5/+38
2021-03-19KVM: arm64: Factor memory allocation out of pgtable.cQuentin Perret1-2/+64
2021-03-12KVM: arm64: Fix exclusive limit for IPA sizeMarc Zyngier1-2/+1
2021-01-25KVM: arm64: Mark the page dirty only if the fault is handled successfullyYanan Wang1-5/+8
2020-12-20Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-1/+1
2020-12-02KVM: arm64: Add usage of stage 2 fault lookup level in user_mem_abort()Yanan Wang1-2/+9
2020-11-27Merge branch 'kvm-arm64/el2-pc' into kvmarm-master/nextMarc Zyngier1-1/+1
2020-11-12Merge tag 'v5.10-rc1' into kvmarm-master/nextMarc Zyngier1-2/+2
2020-11-10KVM: arm64: Make kvm_skip_instr() and co private to HYPMarc Zyngier1-1/+1
2020-11-10KVM: arm64: Move kvm_vcpu_trap_il_is32bit into kvm_skip_instr32()Marc Zyngier1-1/+1
2020-11-08Merge tag 'kvmarm-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/...Paolo Bonzini1-0/+2