我最近在尝试用Streamline分析汇编代码在Android手机上的执行流水线,看了很多博客以后,逐渐理清楚思路,不知道我理解的对不对?
1. 拉取Linux kernel代码,打开CONFIG_HW_PERF_EVENTS等等
2. 在Linux kernel编译目录下拷贝gator driver源码
3. 修改Makefile
4. 重新编译内核,再编译gator.ko
我在Android手机上使用zcat config.zip | grep 'CONFIG_HW_PERF_EVENTS'等查询现有的内核编译时是否开启了相关配置,Android手机上的内核确实是开启了CONFIG_HW_PERF_EVENTS等,但是没有gator.ko,会导致Streamline连接手机以后,出现下面的warnning提示
Dear lsy2025,
PMU support must be added to the kernel for the board you're using.The documentation : https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/arm/pmu.yaml
A random example for Tegra194 : https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch?id=9e79e58f330ea4860f2ced65a8a35dfb05fc03c1
The interrupts are specific for each board model. There are some more patches on the topic : https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/arch?qt=grep&q=add+PMU
If support for the board you're using is not already there, you should contact the specific vendor of that board.
Best Regards,Willy