diff options
author | Quentin Perret <qperret@google.com> | 2021-08-09 18:24:37 +0300 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2021-08-11 13:39:50 +0300 |
commit | 5651311941105ca077d3ab74dd4a92e646ecf7fb (patch) | |
tree | 87c740d1bf8b9e9401ed0ef657b591b412931f80 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | b53846c5f279cb5329b82f19a7d313f02cb9d21c (diff) | |
download | linux-5651311941105ca077d3ab74dd4a92e646ecf7fb.tar.xz |
KVM: arm64: Enable forcing page-level stage-2 mappings
Much of the stage-2 manipulation logic relies on being able to destroy
block mappings if e.g. installing a smaller mapping in the range. The
rationale for this behaviour is that stage-2 mappings can always be
re-created lazily. However, this gets more complicated when the stage-2
page-table is used to store metadata about the underlying pages. In such
cases, destroying a block mapping may lead to losing part of the state,
and confuse the user of those metadata (such as the hypervisor in nVHE
protected mode).
To avoid this, introduce a callback function in the pgtable struct which
is called during all map operations to determine whether the mappings
can use blocks, or should be forced to page granularity. This is used by
the hypervisor when creating the host stage-2 to force page-level
mappings when using non-default protection attributes.
Signed-off-by: Quentin Perret <qperret@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210809152448.1810400-11-qperret@google.com
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions