KVM: arm64: Rewrite page-table code and fault handling
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest21 patches 6 repliesIn review
- v421 patches 30 repliesSuperseded
- v321 patches 64 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 22 patches | 3 replies | Superseded | |
| v1 | 20 patches | 7 replies | Superseded |
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/21 | KVM: arm64: Remove kvm_mmu_free_memory_caches()arch/ arch/ arch/ | +1 | 0 replies | |
| 2/21 | KVM: arm64: Add stand-alone page-table walker infrastructurearch/ arch/ arch/ | +390 | 0 replies | |
| 3/21 | KVM: arm64: Add support for creating kernel-agnostic stage-1 page tablesarch/ arch/ | +173 | 0 replies | |
| 4/21 | KVM: arm64: Use generic allocator for hyp stage-1 page-tablesarch/ arch/ arch/ +2 more | +45 | 0 replies | |
| 5/21 | KVM: arm64: Add support for creating kernel-agnostic stage-2 page tablesarch/ arch/ arch/ +1 more | +102 | 0 replies | |
| 6/21 | KVM: arm64: Add support for stage-2 map()/unmap() in generic page-tablearch/ arch/ | +319 | 1 reply | |
| 7/21 | KVM: arm64: Convert kvm_phys_addr_ioremap() to generic page-table APIarch/ | +14 | 0 replies | |
| 8/21 | KVM: arm64: Convert kvm_set_spte_hva() to generic page-table APIarch/ | +10 | 0 replies | |
| 9/21 | KVM: arm64: Convert unmap_stage2_range() to generic page-table APIarch/ | +37 | 1 reply | |
| 10/21 | KVM: arm64: Add support for stage-2 page-aging in generic page-tablearch/ arch/ | +130 | 0 replies | |
| 11/21 | KVM: arm64: Convert page-aging and access faults to generic page-table APIarch/ | +16 | 0 replies | |
| 12/21 | KVM: arm64: Add support for stage-2 write-protect in generic page-tablearch/ arch/ | +24 | 0 replies | |
| 13/21 | KVM: arm64: Convert write-protect operation to generic page-table APIarch/ | +4 | 0 replies | |
| 14/21 | KVM: arm64: Add support for stage-2 cache flushing in generic page-tablearch/ arch/ | +41 | 0 replies | |
| 15/21 | KVM: arm64: Convert memslot cache-flushing code to generic page-table APIarch/ | +1 | 0 replies | |
| 16/21 | KVM: arm64: Add support for relaxing stage-2 perms in generic page-table codearch/ arch/ | +39 | 1 reply | |
| 17/21 | KVM: arm64: Convert user_mem_abort() to generic page-table APIarch/ | +44 | 0 replies | |
| 18/21 | KVM: arm64: Check the pgt instead of the pgd when modifying page-tablearch/ | +3 | 0 replies | |
| 19/21 | KVM: arm64: Remove unused page-table codearch/ arch/ arch/ +2 more | +0 | 0 replies | |
| 20/21 | KVM: arm64: Remove unused 'pgd' field from 'struct kvm_s2_mmu'arch/ arch/ | +0 | 0 replies | |
| 21/21 | KVM: arm64: Don't constrain maximum IPA size based on host configurationarch/ | +6 | 0 replies |
Reviews trailers per patch
20 of 21 patches have a Reviewed-by or Acked-by.
| Patch | Gavin Shan | Alexandru Elisei |
|---|---|---|
| 1/21 | R-b | |
| 2/21 | R-b | |
| 3/21 | R-b | |
| 4/21 | ||
| 5/21 | R-b | |
| 6/21 | R-b | |
| 7/21 | R-b | |
| 8/21 | R-b | |
| 9/21 | R-b | |
| 10/21 | R-b | |
| 11/21 | R-b | R-b |
| 12/21 | R-b | |
| 13/21 | R-b | |
| 14/21 | R-b | |
| 15/21 | R-b | |
| 16/21 | R-b | |
| 17/21 | R-b | R-b |
| 18/21 | R-b | |
| 19/21 | R-b | |
| 20/21 | R-b | |
| 21/21 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v5 00/21] KVM: arm64: Rewrite page-table code and fault handling
It's me again, with version five of the KVM page-table rework previously seen at:
v1: https://lore.kernel.org/r/[email protected]
v2: https://lore.kernel.org/r/[email protected]
v3: https://lore.kernel.org/r/[email protected]
v4: https://lore.kernel.org/r/[email protected]
Changes since v4 include:
* Add comments to the kerneldoc describing alignment behaviour for addresses and size parameters
* Fix formatting of IPA size messages
* Fix handling of unaligned addresses in kvm_phys_addr_ioremap()
* Add DSB after zeroing stage-2 PGD pages
* Add reviewer tags
Once again, thanks to Alex, Gavin and Andrew for their comments.
Will
--->8
Quentin Perret (4):
KVM: arm64: Add support for stage-2 write-protect in generic
page-table
KVM: arm64: Convert write-protect operation to generic page-table API
KVM: arm64: Add support for stage-2 cache flushing in generic
page-table
KVM: arm64: Convert memslot cache-flushing code to generic page-table
API
Will Deacon (17):
KVM: arm64: Remove kvm_mmu_free_memory_caches()
KVM: arm64: Add stand-alone page-table walker infrastructure
KVM: arm64: Add support for creating kernel-agnostic stage-1 page
tables
KVM: arm64: Use generic allocator for hyp stage-1 page-tables
KVM: arm64: Add support for creating kernel-agnostic stage-2 page
tables
KVM: arm64: Add support for stage-2 map()/unmap() in generic
page-table
KVM: arm64: Convert kvm_phys_addr_ioremap() to generic page-table API
KVM: arm64: Convert kvm_set_spte_hva() to generic page-table API
KVM: arm64: Convert unmap_stage2_range() to generic page-table API
KVM: arm64: Add support for stage-2 page-aging in generic page-table
KVM: arm64: Convert page-aging and access faults to generic page-table
API
KVM: arm64: Add support for relaxing stage-2 perms in generic
page-table code
KVM: arm64: Convert user_mem_abort() to generic page-table API
KVM: arm64: Check the pgt instead of the pgd when modifying page-table
KVM: arm64: Remove unused page-table code
KVM: arm64: Remove unused 'pgd' field from 'struct kvm_s2_mmu'
KVM: arm64: Don't constrain maximum IPA size based on host
configuration
arch/arm64/include/asm/kvm_host.h | 2 +- arch/arm64/include/asm/kvm_mmu.h | 251 +--- arch/arm64/include/asm/kvm_pgtable.h | 309 ++++ arch/arm64/include/asm/pgtable-hwdef.h | 24 - arch/arm64/include/asm/pgtable-prot.h | 19 - arch/arm64/include/asm/stage2_pgtable.h | 215 --- arch/arm64/kvm/arm.c | 2 +- arch/arm64/kvm/hyp/Makefile | 2 +- arch/arm64/kvm/hyp/pgtable.c | 883 ++++++++++++ arch/arm64/kvm/mmu.c | 1748 ++++------------------- arch/arm64/kvm/reset.c | 40 +- 11 files changed, 1479 insertions(+), 2016 deletions(-) create mode 100644 arch/arm64/include/asm/kvm_pgtable.h create mode 100644 arch/arm64/kvm/hyp/pgtable.c
Signature · 6 lines
2.28.0.618.gf4bc123cb7-goog _______________________________________________ kvmarm mailing list [email protected] https://lists.cs.columbia.edu/mailman/listinfo/kvmarm