OpenCloudOS-Kernel/arch/riscv/kvm
Daniel Henrique Barboza bea8d23713 RISC-V: KVM: avoid EBUSY when writing same ISA val
kvm_riscv_vcpu_set_reg_config() will return -EBUSY if the ISA config reg
is being written after the VCPU ran at least once.

The same restriction isn't placed in kvm_riscv_vcpu_get_reg_config(), so
there's a chance that we'll -EBUSY out on an ISA config reg write even
if the userspace intended no changes to it.

We'll allow the same form of 'lazy writing' that registers such as
zicbom/zicboz_block_size supports: avoid erroring out if userspace made
no changes to the ISA config reg.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
2023-08-08 17:25:53 +05:30
..
Kconfig RISC-V: KVM: Skeletal in-kernel AIA irqchip support 2023-06-18 21:24:40 +05:30
Makefile RISC-V: KVM: Factor-out ONE_REG related code to its own source file 2023-08-08 17:25:29 +05:30
aia.c RISC-V: KVM: return ENOENT in *_one_reg() when reg is unknown 2023-08-08 17:25:42 +05:30
aia_aplic.c RISC-V: KVM: Expose APLIC registers as attributes of AIA irqchip 2023-06-18 21:24:50 +05:30
aia_device.c RISC-V: KVM: Remove unneeded semicolon 2023-06-20 10:48:38 +05:30
aia_imsic.c RISC-V: KVM: Remove unneeded semicolon 2023-06-20 10:48:38 +05:30
main.c RISC-V: KVM: Implement guest external interrupt line management 2023-06-18 21:24:33 +05:30
mmu.c RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines 2023-04-21 17:45:44 +05:30
tlb.c RISC-V: KVM: use bitmap_zero() API 2023-06-06 08:51:50 +05:30
vcpu.c RISC-V: KVM: Factor-out ONE_REG related code to its own source file 2023-08-08 17:25:29 +05:30
vcpu_exit.c RISC-V: KVM: Redirect AMO load/store misaligned traps to guest 2023-06-06 09:04:11 +05:30
vcpu_fp.c RISC-V: KVM: return ENOENT in *_one_reg() when reg is unknown 2023-08-08 17:25:42 +05:30
vcpu_insn.c RISC-V: KVM: Initial skeletal support for AIA 2023-04-21 17:45:48 +05:30
vcpu_onereg.c RISC-V: KVM: avoid EBUSY when writing same ISA val 2023-08-08 17:25:53 +05:30
vcpu_pmu.c RISC-V: KVM: Support firmware events 2023-02-07 20:36:06 +05:30
vcpu_sbi.c RISC-V: KVM: return ENOENT in *_one_reg() when reg is unknown 2023-08-08 17:25:42 +05:30
vcpu_sbi_base.c RISC-V: KVM: Add ONE_REG interface to enable/disable SBI extensions 2023-04-21 17:38:44 +05:30
vcpu_sbi_hsm.c RISC-V: KVM: Modify SBI extension handler to return SBI error code 2023-02-07 20:35:45 +05:30
vcpu_sbi_pmu.c RISC-V: KVM: Add SBI PMU extension support 2023-02-07 20:35:53 +05:30
vcpu_sbi_replace.c RISC-V: KVM: Increment firmware pmu events 2023-02-07 20:36:08 +05:30
vcpu_sbi_v01.c RISC-V: KVM: Modify SBI extension handler to return SBI error code 2023-02-07 20:35:45 +05:30
vcpu_switch.S RISC-V: KVM: Refine __kvm_riscv_switch_to() implementation 2022-03-11 19:02:22 +05:30
vcpu_timer.c RISC-V: KVM: do not EOPNOTSUPP in set KVM_REG_RISCV_TIMER_REG 2023-08-08 17:25:49 +05:30
vcpu_vector.c riscv: KVM: Add vector lazy save/restore support 2023-06-08 07:16:51 -07:00
vm.c RISC-V: KVM: Skeletal in-kernel AIA irqchip support 2023-06-18 21:24:40 +05:30
vmid.c RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines 2023-04-21 17:45:44 +05:30