RISC-V: KVM: avoid EBUSY when writing the same machine ID val
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Thu, 3 Aug 2023 16:32:59 +0000 (13:32 -0300)
committerAnup Patel <anup@brainfault.org>
Tue, 8 Aug 2023 11:55:55 +0000 (17:25 +0530)
commit63bd660657efade03270c8cc7e3d9b6993350e56
treeaa136469dbe975abf665a32da73dfef973fc308c
parentbea8d23713a2b2dc07ae9d7325b1269dff8c8a1f
RISC-V: KVM: avoid EBUSY when writing the same machine ID val

Right now we do not allow any write in mvendorid/marchid/mimpid if the
vcpu already started, preventing these regs to be changed.

However, if userspace doesn't change them, an alternative is to consider
the reg write a no-op and avoid erroring out altogether. Userpace can
then be oblivious about KVM internals if no changes were intended in the
first place.

Allow the same form of 'lazy writing' that registers such as
zicbom/zicboz_block_size supports: avoid erroring out if userspace makes
no changes in mvendorid/marchid/mimpid during reg write.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
arch/riscv/kvm/vcpu_onereg.c