diff options
author | Quentin Perret <qperret@google.com> | 2022-11-10 19:02:52 +0000 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2022-11-11 17:16:25 +0000 |
commit | 60dfe093ec13b056856c672e1daa35134be38283 (patch) | |
tree | badb1aa655f524ac92e9bbdb332dfe9d25e79d1a /README | |
parent | 315775ff7c6de497dd07c3f6eff499fb538783eb (diff) | |
download | linux-stable-60dfe093ec13b056856c672e1daa35134be38283.tar.gz linux-stable-60dfe093ec13b056856c672e1daa35134be38283.tar.bz2 linux-stable-60dfe093ec13b056856c672e1daa35134be38283.zip |
KVM: arm64: Instantiate guest stage-2 page-tables at EL2
Extend the initialisation of guest data structures within the pKVM
hypervisor at EL2 so that we instantiate a memory pool and a full
'struct kvm_s2_mmu' structure for each VM, with a stage-2 page-table
entirely independent from the one managed by the host at EL1.
The 'struct kvm_pgtable_mm_ops' used by the page-table code is populated
with a set of callbacks that can manage guest pages in the hypervisor
without any direct intervention from the host, allocating page-table
pages from the provided pool and returning these to the host on VM
teardown. To keep things simple, the stage-2 MMU for the guest is
configured identically to the host stage-2 in the VTCR register and so
the IPA size of the guest must match the PA size of the host.
For now, the new page-table is unused as there is no way for the host
to map anything into it. Yet.
Tested-by: Vincent Donnefort <vdonnefort@google.com>
Signed-off-by: Quentin Perret <qperret@google.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221110190259.26861-20-will@kernel.org
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions