/****************************************************************************** * * enable_ccnt_522.c * * This Linux kernel module, when loaded, * enables the ARM Cortex-A53 cycle counter * on every core of the CPU. * * Modified November 29, 2021 by Marion Sudvarg * ******************************************************************************/ #include #include #include #include #include static bool cycles_64_bit = 1; static bool count_every_64 = 0; static void enable_ccnt(void *info) { pmccntr_enable_once(cycles_64_bit, count_every_64); } static int enable_ccnt_init(void) { on_each_cpu(enable_ccnt,NULL,0); printk (KERN_INFO "Cycle Counter Enabled\n"); return 0; } static void enable_ccnt_exit(void) { } module_init(enable_ccnt_init); module_exit(enable_ccnt_exit); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Marion Sudvarg"); MODULE_DESCRIPTION("Enable ARM Cortex-A53 Cycle Counter");