棋子 · 2020年01月08日

是否有必要刷新已修改页表项的数据缓存?3

ARM似乎没有提及有关更改表条目的数据高速缓存刷新的任何内容。
从ARMv8-Cortex-A(DDI 0487D.a)的G.5.9 TLB维护要求
来看, 我们看不到刷新表项数据高速缓存所必需的任何提示。

对于G.5.9.1中的单处理器系统,只有一个示例,没有数据高速缓存刷新操作。

因此,在单处理器系统中,用于编写转换表条目的示例指令序列包括以下
内容:

STR rx,[翻译表条目];将新条目写入转换表
DSB; 确保新条目的可见性
通过VA使TLB 条目无效(如果不是全局的,则为ASID)。[页面地址]使
BTC
DSB 无效;确保完成无效TLB指令
ISB; 确保表更改对指令提取可见

对于SMP系统,它也没有找到有关数据高速缓存刷新操作的必要信息。

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月08日

我更正MMU.IRGN设置后,它无需刷新已修改页面条目的数据高速缓存即可工作。

因此,Q1也得以解决。因为MMU页面遍历不是非缓存的,所以将错误设置为“直写”。

你的回答
关注数
1
收藏数
0
浏览数
1799
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息