Как включить счетчик производительности в процессоре ARM Cortex-A8?
Я использую Cortex A8 в пользовательском режиме и пытаюсь прочитать счетчик производительности.
Согласно a8 trm, регистр должен быть включен из привилегированного режима. Следовательно, включил счетчик производительности, используя модуль Kernle:
/ * включить пользовательский режим доступа к счетчику производительности * /
asm ("MCR p15, 0,% 0, C9, C14, 0 \ n \ t":: "r" (1));
/ * отключить прерывания переполнения счетчика (на всякий случай) * /
asm ("MCR p15, 0,% 0, C9, C14, 2 \ n \ t":: "r" (0x8000000f));
сейчас пытаюсь прочитать регистр:
asm ("MRC p15, 0,% 0, c9, c14, 0 \ t \ n": "= r" (значение));
дает мне 0 в режиме пользователя. Печать в модуле инициализации ядра дает 1 (при вставке).
почему это отличается??
Спасибо за ваши предложения!