summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorMarc Zyngier2019-08-05 11:34:51 +0200
committerMarc Zyngier2019-08-09 09:07:07 +0200
commit03fdfb2690099c19160a3f2c5b77db60b3afeded (patch)
treee0f176c1d470172d52c197195744a3d3475b9820 /virt
parentKVM: arm/arm64: Sync ICH_VMCR_EL2 back when about to block (diff)
downloadkernel-qcow2-linux-03fdfb2690099c19160a3f2c5b77db60b3afeded.tar.gz
kernel-qcow2-linux-03fdfb2690099c19160a3f2c5b77db60b3afeded.tar.xz
kernel-qcow2-linux-03fdfb2690099c19160a3f2c5b77db60b3afeded.zip
KVM: arm64: Don't write junk to sysregs on reset
At the moment, the way we reset system registers is mildly insane: We write junk to them, call the reset functions, and then check that we have something else in them. The "fun" thing is that this can happen while the guest is running (PSCI, for example). If anything in KVM has to evaluate the state of a system register while junk is in there, bad thing may happen. Let's stop doing that. Instead, we track that we have called a reset function for that register, and assume that the reset function has done something. This requires fixing a couple of sysreg refinition in the trap table. In the end, the very need of this reset check is pretty dubious, as it doesn't check everything (a lot of the sysregs leave outside of the sys_regs[] array). It may well be axed in the near future. Tested-by: Zenghui Yu <yuzenghui@huawei.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions