Как включить счетчик производительности в процессоре 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 (при вставке).

почему это отличается??

Спасибо за ваши предложения!

0 ответов

Другие вопросы по тегам