diff options
| author | Marc Zyngier <[email protected]> | 2025-05-14 10:34:53 +0000 |
|---|---|---|
| committer | Marc Zyngier <[email protected]> | 2025-05-19 07:01:19 +0000 |
| commit | 2a359e072596fcb2e9e85017a865e3618a2fe5b5 (patch) | |
| tree | 3c845775cef5611729d4d1c7484870c4fa69b185 /rust/helpers/build_bug.c | |
| parent | KVM: arm64: nv: Handle VNCR_EL2-triggered faults (diff) | |
| download | kernel-2a359e072596fcb2e9e85017a865e3618a2fe5b5.tar.gz kernel-2a359e072596fcb2e9e85017a865e3618a2fe5b5.zip | |
KVM: arm64: nv: Handle mapping of VNCR_EL2 at EL2
Now that we can handle faults triggered through VNCR_EL2, we need
to map the corresponding page at EL2. But where, you'll ask?
Since each CPU in the system can run a vcpu, we need a per-CPU
mapping. For that, we carve a NR_CPUS range in the fixmap, giving
us a per-CPU va at which to map the guest's VNCR's page.
The mapping occurs both on vcpu load and on the back of a fault,
both generating a request that will take care of the mapping.
That mapping will also get dropped on vcpu put.
Yes, this is a bit heavy handed, but it is simple. Eventually,
we may want to have a per-VM, per-CPU mapping, which would avoid
all the TLBI overhead.
Reviewed-by: Oliver Upton <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Zyngier <[email protected]>
Diffstat (limited to 'rust/helpers/build_bug.c')
0 files changed, 0 insertions, 0 deletions
