TLB1 IPROT bit with a PCIe IO memory space?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

TLB1 IPROT bit with a PCIe IO memory space?

跳至解决方案
510 次查看
sopgenorth
Contributor II

Does it make sense to use the invalidate protection (IPROT) bit for an entry that also has the cache-inhibited and guarded bits set?

It seems like there would be no need to have 'invalidate protection' enabled when cache-inhibited is also enabled since I would imagine there would be no entries for it in cache anyway. 

This is on a p1014 and p2010 CPU, trying to get the correct TLB entries for a PCIe IO memory space. With the IPROT bit disabled, the CPU crashes ~5% of the time on reboots (machine check exception, producing a BUS_RBERR or read data bus error). With the IPROT bit enabled the CPU no longer appears to crash. 

标签 (2)
0 项奖励
1 解答
330 次查看
r8070z
NXP Employee
NXP Employee


Have a great day,

Yes it makes sense to use the invalidate protection (IPROT) bit for an TLB entry that also has the cache-inhibited and guarded bits set. If IPROT is set, this entry is protected against invalidation due to TLB invalidate command. This command does not care what type of memory page is described by this TLB entry. It simply marks TLB entry as invalid. Check the processor errata for problem related to the IPROT bit and TLB flash invalidate.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

1 回复
331 次查看
r8070z
NXP Employee
NXP Employee


Have a great day,

Yes it makes sense to use the invalidate protection (IPROT) bit for an TLB entry that also has the cache-inhibited and guarded bits set. If IPROT is set, this entry is protected against invalidation due to TLB invalidate command. This command does not care what type of memory page is described by this TLB entry. It simply marks TLB entry as invalid. Check the processor errata for problem related to the IPROT bit and TLB flash invalidate.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------