I am using i.MX6QDL(ARM Cortex A9) based Nitrogen6x board running Android 7.1.1. Kernel source can be found at - https://github.com/boundarydevices/linux-imx6/tree/boundary-imx-n7.1.1_1.0.0-ga.
The issue I am facing is with hardware performance events support. Below is the kernel configuration.
dtsi changes --
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
}
Kernel macro --
CONFIG_HW_PERF_EVENTS=y
CONFIG_DEBUG_KERNEL=n
CONFIG_TRACE=y
CONFIG_TRACING=y
CONFIG_DEBUG_FS=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
and with these changes "armv7_a9_pmu_init" probe call succeeds and I am getting "hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available" kernel log message.
But with 'simpleperf list' it's displaying no 'events' for hw-cache and hardware.
# simpleperf list
List of hw-cache events:
List of hardware events:
Below are the queries.
1. Does i.MX6QDL supports PMU? If yes, did I missed anything in configuration to enable it?
2. How to support hardware events and specifically "cpu-cycle" hardware event from the kernel?
Thanks,
saiyam