Мне нужно сделать страницы физической памяти не кэшируемыми, похоже, что в 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
)?
Хотите знать, я предполагаю, что все это правильно, или у кого-то есть подобный опыт?