Как мы можем сделать страницы физической памяти не кэшируемыми в armv7 (возможно, путем изменения записи в таблице страниц)? - PullRequest
0 голосов
/ 19 января 2020

Мне нужно сделать страницы физической памяти не кэшируемыми, похоже, что в armv7 (я использую arm cortex A9) есть некоторые биты, которые определяют тип памяти. у нас есть два уровня перевода (поэтому у нас есть pgd и pte, и мы не используем pmd и pud). Основываясь на руководстве, биты C, B и TEX записи таблицы перевода второго уровня (которые я рассматривал как pte в коде ядра) определяют, является ли страница памяти кэшируемой или нет, поэтому, изменяя их, мы можем изменить способность кеширования.

Я считаю полезным то, что pgprot_noncached(), в качестве аргумента которого я указал одну c виртуальную память "vma->vm_page_prot", я не увидел никаких изменений в "pte" что я напечатал.

Мне интересно, возможно, мне понадобится использовать set_pte_ext() для установки изменений типа памяти этой указанной c области виртуальной памяти в записи таблицы страниц (pte)?

Хотите знать, я предполагаю, что все это правильно, или у кого-то есть подобный опыт?

...