AnsweredAssumed Answered

Enabling Cache in MQX

Question asked by Ioseph Martinez Pelayo Employee on Jun 17, 2013
Latest reply on Jun 18, 2013 by Martin Bielik

Hi, I have a couple of questions regarding cache enabling in MQX.

 

what exaclty _mmu_vinit does? on Vybrid we have this call:

_mmu_vinit(PSP_PAGE_TABLE_SECTION_SIZE(PSP_PAGE_TABLE_SECTION_SIZE_1MB) | PSP_PAGE_DESCR(PSP_PAGE_DESCR_ACCESS_RW_ALL) | PSP_PAGE_TYPE(PSP_PAGE_TYPE_STRONG_ORDER), (pointer)L1PageTable);

 

We have the following attribute: PSP_PAGE_TYPE_STRONG_ORDER. I don't understand to what memory page/region that attribute is applied? to all subsequent regions added by _mmu_add_vregion? ARM documentation says strongly ordereded memory won't be cached so my doubt is if we need to remove this parameter if we want to enable cache on Vybrid.

 

A user of Vybrid simply replaced PSP_PAGE_TYPE_CACHE_NON by PSP_PAGE_TYPE_CACHE_WBNWA and it worked (performances was improved meaning the cache was enabled). The question is, what risks or things could be affected by this change if we are using PSP_PAGE_TYPE_STRONG_ORDER

 

Thanks,

Ioseph

 

(alejandrolozano I know you are looking at some of this but I want to have this visible for someone bumping to the same problem, even on a different controller)

Outcomes