KVM: arm64: Remove PMSWINC_EL0 shadow register
authorMarc Zyngier <maz@kernel.org>
Mon, 19 Jul 2021 12:39:02 +0000 (13:39 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 2 Aug 2021 13:26:34 +0000 (14:26 +0100)
commit7a3ba3095a32f9c4ec8f30d680fea5150e12c3f3
treecf434c2336d481b666f2a6e1df59aa54c4199a49
parentca4f202d08ba7f24cc97dce14c6d20ec7a679135
KVM: arm64: Remove PMSWINC_EL0 shadow register

We keep an entry for the PMSWINC_EL0 register in the vcpu structure,
while *never* writing anything there outside of reset.

Given that the register is defined as write-only, that we always
trap when this register is accessed, there is little point in saving
anything anyway.

Get rid of the entry, and save a mighty 8 bytes per vcpu structure.

We still need to keep it exposed to userspace in order to preserve
backward compatibility with previously saved VMs. Since userspace
cannot expect any effect of writing to PMSWINC_EL0, treat the
register as RAZ/WI for the purpose of userspace access.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210719123902.1493805-5-maz@kernel.org
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/sys_regs.c