update how change linux-kernel arm kernel-module cpu-registers cortex-a8

linux-kernel - how - update kernel linux



La lectura ARM Cortex A8 PMNC da 0 después de habilitar también... ¿Alguna idea/sugerencia? (0)

MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("user-mode access to performance registers"); int __init arm_init(void) { unsigned int value; /* enable user-mode access */ printk(KERN_INFO "enable user-mode access/n"); asm ("MCR p15, 0, %0, C9, C14, 0/n/t" :: "r"(1)); /* Reading the value here--just to check */ asm ("MRC p15, 0, %0, c9, c14, 0/t/n": "=r"(value)); printk("value: %d/n", value); /* disable counter overflow interrupts (just in case)*/ printk(KERN_INFO "disable counter overflow interrupts (just in case)/n"); asm ("MCR p15, 0, %0, C9, C14, 2/n/t" :: "r"(0x8000000f)); printk(KERN_INFO "user-mode access to performance registers enabled/n"); return 0; } void arm_exit(void) { unsigned int value; asm ("MRC p15, 0, %0, c9, c14, 0/t/n": "=r"(value)); printk("value: %d/n", value); printk(KERN_INFO "user-mode access to performance registers disabled/n"); } module_init(arm_init); module_exit(arm_exit);

En el módulo init la lectura da 1, pero en la lectura del módulo de limpieza la variable da 0. ¿Alguna idea de cómo se actualiza?