Commit 5bc40978 authored by Atish Patra's avatar Atish Patra Committed by Anup Patel
Browse files

RISC-V: KVM: Remove scounteren initialization



Scounteren CSR controls the direct access the hpmcounters and cycle/
instret/time from the userspace. It's the supervisor's responsibility
to set it up correctly for it's user space. They hypervisor doesn't
need to decide the policy on behalf of the supervisor.

Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
Reviewed-by: default avatarAndrew Jones <ajones@ventanamicro.com>
Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20250515-fix_scounteren_vs-v3-1-729dc088943e@rivosinc.com


Signed-off-by: default avatarAnup Patel <anup@brainfault.org>
parent 9f0e6b98
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -131,6 +131,12 @@ secondary_start_sbi:
	csrw CSR_IE, zero
	csrw CSR_IP, zero

#ifndef CONFIG_RISCV_M_MODE
	/* Enable time CSR */
	li t0, 0x2
	csrw CSR_SCOUNTEREN, t0
#endif

	/* Load the global pointer */
	load_global_pointer

@@ -226,6 +232,10 @@ SYM_CODE_START(_start_kernel)
	 * to hand it to us.
	 */
	csrr a0, CSR_MHARTID
#else
	/* Enable time CSR */
	li t0, 0x2
	csrw CSR_SCOUNTEREN, t0
#endif /* CONFIG_RISCV_M_MODE */

	/* Load the global pointer */
+0 −3
Original line number Diff line number Diff line
@@ -79,9 +79,6 @@ static void kvm_riscv_vcpu_context_reset(struct kvm_vcpu *vcpu)
	cntx->hstatus |= HSTATUS_VTW;
	cntx->hstatus |= HSTATUS_SPVP;
	cntx->hstatus |= HSTATUS_SPV;

	/* By default, make CY, TM, and IR counters accessible in VU mode */
	csr->scounteren = 0x7;
}

static void kvm_riscv_reset_vcpu(struct kvm_vcpu *vcpu)