This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

why inner attribute is affected by outer configuration?

Hi expert:

I am configuring a CortexA15 system. In the  LPAE page table entry, SH[1:0] is configured as 11, so this is a Inner Shareable field. Then I need to set MAIR0.attr0  which is used by stage 1 translation.  The problem is, my system behave differently when the outer bits (attr0[7:4]) is set with different value(the value can not be 0). My understanding is,  the system will only be affected by attr0[3:0]. But why attr0[7:4] also make sense now?

Thanks!

Jerry

Parents
  • Hi Peter,

    I have to go back to the basic concept.  Let me use one example to show my doubt:

    Core0 & core1 are in one cluster and use integrated L1 and L2 cache to share the data, core2 & core 3 are in another cluster and use their integrated L1 and L2 cache to share the data, moreover non-integrated L3 cache is used to share data in all 4 cores.

    So generally speaking, if I only want to share data between core0 & core1, I just need  to set core0&core1's SH as innershareable, if I want to share data between all 4 cores, then I have to set their SH as outershareable, is my understanding correct?

    Also in the system I describe above, if  core2 and core3 are suspended and only core0&core1 are running, I think set SH(for both core0&core1's  translation table) as innershareable is ok and mair.attr0[7:4] should not make sense. What is our opinion?

    Thanks.

Reply
  • Hi Peter,

    I have to go back to the basic concept.  Let me use one example to show my doubt:

    Core0 & core1 are in one cluster and use integrated L1 and L2 cache to share the data, core2 & core 3 are in another cluster and use their integrated L1 and L2 cache to share the data, moreover non-integrated L3 cache is used to share data in all 4 cores.

    So generally speaking, if I only want to share data between core0 & core1, I just need  to set core0&core1's SH as innershareable, if I want to share data between all 4 cores, then I have to set their SH as outershareable, is my understanding correct?

    Also in the system I describe above, if  core2 and core3 are suspended and only core0&core1 are running, I think set SH(for both core0&core1's  translation table) as innershareable is ok and mair.attr0[7:4] should not make sense. What is our opinion?

    Thanks.

Children