diff options
| author | Ben Horgan <[email protected]> | 2025-05-12 11:41:10 +0000 |
|---|---|---|
| committer | Marc Zyngier <[email protected]> | 2025-05-16 12:01:18 +0000 |
| commit | 5799a2983fea4f22f6aaa291aee3b704db81d29f (patch) | |
| tree | 1ac740611c31a83a593a592a5e865315524fac60 /rust/helpers/helpers.c | |
| parent | Linux 6.15-rc3 (diff) | |
| download | kernel-5799a2983fea4f22f6aaa291aee3b704db81d29f.tar.gz kernel-5799a2983fea4f22f6aaa291aee3b704db81d29f.zip | |
arm64/sysreg: Expose MTE_frac so that it is visible to KVM
KVM exposes the sanitised ID registers to guests. Currently these ignore
the ID_AA64PFR1_EL1.MTE_frac field, meaning guests always see a value of
zero.
This is a problem for platforms without the MTE_ASYNC feature where
ID_AA64PFR1_EL1.MTE==0x2 and ID_AA64PFR1_EL1.MTE_frac==0xf. KVM forces
MTE_frac to zero, meaning the guest believes MTE_ASYNC is supported, when
no async fault will ever occur.
Before KVM can fix this, the architecture needs to sanitise the ID
register field for MTE_frac.
Linux itself does not use MTE_frac field and just assumes MTE async faults
can be generated if MTE is supported.
Signed-off-by: Ben Horgan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Zyngier <[email protected]>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions
