Linux and Bare Metal with shared memory and cache coherency settings?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linux and Bare Metal with shared memory and cache coherency settings?

1,463 Views
christoph8446
Contributor II

Hello,

I want to make a shared memory between linux (core0) and my bare metal (Core1) system. It works if I configure the mmu_map_l1_range in the mmu.c in my bare metal system as noncacheable! If I try to change the settings to kOuterInner_WB_WA and I activated SCU (also on CP15) because I want to use cache coherency it doesn’t work anymore! I only modified the MMU TLB setting on my bare metal system. Do I need to change also settings on the linux side to achieve cache coherency for the shared memory area.

Thank you in advance!

Regards Christoph

Labels (3)
4 Replies

1,070 Views
Yuri
NXP Employee
NXP Employee

Hello,

   I.MX6 does not support cache coherency (in hardware). Therefore it may

be recommended to configure shared memory area as non-cached, if several

bus masters can access it.

Have a great day,
Yuri

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

0 Kudos

1,070 Views
jonathanankers
Contributor I

Hello Yuri,

I am having a similar problem - but I don't understand your answer. I thought L1 cache coherency is part of the ARM A9 MPCore architecture? It should be managed through the use of the SMP bit in the ACTLR and the SCU?

Are you saying that I cannot use the SMP bit and the SCU (along with configuring a memory region as shared in the MMU map) to create cache coherent memory areas between A9 cores?

Regards,

Jon

0 Kudos

1,070 Views
Yuri
NXP Employee
NXP Employee

Hello,

 You may look at erratum ERR004325 [ARM/MP: 764369—Data or unified cache line maintenance

operation by MVA may not succeed on an Inner Shareable memory region] and try its workaround.

  

https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf 

 

Regards,

Yuri.

0 Kudos

1,070 Views
christoph8446
Contributor II

Hello,

The SCU maintain data cache coherency between the Cortex-A9 processors right.

Regards

Chris

0 Kudos