语境:
我目前想刷新我的 L1 数据缓存(目标:NXP P2020 Qoriq e500)。
我在使用“dcbf”指令时遇到问题:
dcbf r3, r4 // with r3 and r4 defining the address of the DATA cache
问题:
我的问题是我不知道该指令提供什么参数才能到达 DATA 缓存并刷新行?
我尝试使用“刚刚创建”的变量:
int i = 0;
// let assume r3 = &i
dcbf 0, r3
isync
msync
我认为 dcbf 指令将通过 &i 参数到达数据缓存,但是当我通过探针进一步查看内存时,我发现缓存未刷新且未失效。