[PATCH v2 05/11] riscv: Add option to disable writes to mcounteren
Sean Anderson
seanga2 at gmail.com
Wed Jan 15 23:53:48 CET 2020
On the kendryte k210, writes to mcounteren result in an illegal instruction
exception.
Signed-off-by: Sean Anderson <seanga2 at gmail.com>
---
Changes for v2:
Moved forward in the patch series
arch/riscv/Kconfig | 3 +++
arch/riscv/cpu/cpu.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 9a7b0334c2..4f8c62dcff 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -226,6 +226,9 @@ config XIP
from a NOR flash memory without copying the code to ram.
Say yes here if U-Boot boots from flash directly.
+config SYS_RISCV_NOCOUNTER
+ bool "Disable accesses to the mcounteren CSR"
+
config STACK_SIZE_SHIFT
int
default 14
diff --git a/arch/riscv/cpu/cpu.c b/arch/riscv/cpu/cpu.c
index e457f6acbf..df9eae663c 100644
--- a/arch/riscv/cpu/cpu.c
+++ b/arch/riscv/cpu/cpu.c
@@ -89,7 +89,9 @@ int arch_cpu_init_dm(void)
* Enable perf counters for cycle, time,
* and instret counters only
*/
+#ifndef CONFIG_SYS_RISCV_NOCOUNTER
csr_write(CSR_MCOUNTEREN, GENMASK(2, 0));
+#endif
/* Disable paging */
if (supports_extension('s'))
--
2.24.1
More information about the U-Boot
mailing list