[PATCH v2] kernel: support RISC-V PMU

Qingfang Deng dqfext at gmail.com
Mon Mar 11 19:08:30 PDT 2024


Add RISC-V PMU config symbols and enable them for riscv64.

Signed-off-by: Qingfang Deng <dqfext at gmail.com>
---
v2: add symbols to 6.6

 config/Config-kernel.in         | 10 ++++++++++
 target/linux/generic/config-6.1 |  3 +++
 target/linux/generic/config-6.6 |  3 +++
 3 files changed, 16 insertions(+)

diff --git a/config/Config-kernel.in b/config/Config-kernel.in
index 2e59bc9551..f4ea6ccbe8 100644
--- a/config/Config-kernel.in
+++ b/config/Config-kernel.in
@@ -50,6 +50,15 @@ config KERNEL_ARM_PMU
 	default y if TARGET_armsr_armv8
 	depends on (arm || aarch64)
 
+config KERNEL_RISCV_PMU
+	bool
+	select KERNEL_RISCV_PMU_SBI
+	depends on riscv64
+
+config KERNEL_RISCV_PMU_SBI
+	bool
+	depends on riscv64
+
 config KERNEL_X86_VSYSCALL_EMULATION
 	bool "Enable vsyscall emulation"
 	depends on x86_64
@@ -70,6 +79,7 @@ config KERNEL_X86_VSYSCALL_EMULATION
 config KERNEL_PERF_EVENTS
 	bool "Compile the kernel with performance events and counters"
 	select KERNEL_ARM_PMU if (arm || aarch64)
+	select KERNEL_RISCV_PMU if riscv64
 
 config KERNEL_PROFILING
 	bool "Compile the kernel with profiling enabled"
diff --git a/target/linux/generic/config-6.1 b/target/linux/generic/config-6.1
index fabe7029c5..3bcf66b267 100644
--- a/target/linux/generic/config-6.1
+++ b/target/linux/generic/config-6.1
@@ -5304,6 +5304,9 @@ CONFIG_RFKILL=y
 # CONFIG_RING_BUFFER_BENCHMARK is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
+# CONFIG_RISCV_PMU is not set
+# CONFIG_RISCV_PMU_LEGACY is not set
+# CONFIG_RISCV_PMU_SBI is not set
 # CONFIG_RMI4_CORE is not set
 # CONFIG_RMNET is not set
 # CONFIG_ROCKCHIP_PHY is not set
diff --git a/target/linux/generic/config-6.6 b/target/linux/generic/config-6.6
index 319f56fe01..8210d9d245 100644
--- a/target/linux/generic/config-6.6
+++ b/target/linux/generic/config-6.6
@@ -5421,6 +5421,9 @@ CONFIG_RFKILL=y
 # CONFIG_RING_BUFFER_BENCHMARK is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
+# CONFIG_RISCV_PMU is not set
+# CONFIG_RISCV_PMU_LEGACY is not set
+# CONFIG_RISCV_PMU_SBI is not set
 # CONFIG_RMI4_CORE is not set
 # CONFIG_RMNET is not set
 # CONFIG_ROCKCHIP_ERRATUM_3588001 is not set
-- 
2.34.1




More information about the openwrt-devel mailing list