This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARMV8 TCR_EL1

Hi,experts:

在armv8手册中,TCR_EL1寄存器有一些位如:SH0、ORGN0、IRGN0控制转换表的cacheable、shareable属性。那就是说translation table配置的memory属性必须与 TCR_EL1中相同?如我在 TCR_EL1中设置为 outer Non-cacheable,而在translation table中设置的是 write-back,那最终memory的属性是什么?如果必须一致,那TTBR存的页表都要相同属性了?TCR_EL1只能影响normal memory,不能影响 device memory。

Parents
  • SH0: Shareability attribute for memory associated with translation table walks using TTBR0_EL1.

    ORGN0: Outer cacheability attribute for memory associated with translation table walks using TTBR0_EL1.

    IRGN0: Inner cacheability attribute for memory associated with translation table walks using TTBR0_EL1.

    也就是说,这些bit定义的是page table walk本身的memory属性。

    比如,CPU有一个VA,要转换成PA,CPU需要查找页表。那么查找页表的过程要不要查cache,是不是shared,就是由上述bit定义的。

    最终CPU得到了一个page table entry,那里面的值定义的是该VA对应什么PA,以及它的memory属性是什么。

Reply
  • SH0: Shareability attribute for memory associated with translation table walks using TTBR0_EL1.

    ORGN0: Outer cacheability attribute for memory associated with translation table walks using TTBR0_EL1.

    IRGN0: Inner cacheability attribute for memory associated with translation table walks using TTBR0_EL1.

    也就是说,这些bit定义的是page table walk本身的memory属性。

    比如,CPU有一个VA,要转换成PA,CPU需要查找页表。那么查找页表的过程要不要查cache,是不是shared,就是由上述bit定义的。

    最终CPU得到了一个page table entry,那里面的值定义的是该VA对应什么PA,以及它的memory属性是什么。

Children
No data