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

clean and invalidate cache behavior before same address read

I am running on cortex-A17.

when following,

step1: STR  R0, [R1]       ; [R1] is cacheable

step2: DCCIMVAC          ; clean and invalidate cache

step3: LDR  R0, [R1]       ; memory read

Does step3 access L3(external memory) ?

Or access eviction-buffer in cortex-A17 ?

Or, unknown  behavior?

Parents
  • Additional,

    step1: STR  R0, [R1]       ; [R1] is cacheable

    step2: DCCIMVAC          ; clean and invalidate cache

    step2': DMB (or DSB)     <- It's require?

    step3: LDR  R0, [R1]       ; memory read

    I am considering.

    For step3 read memory, step2'  is require.

    Or not require?

Reply
  • Additional,

    step1: STR  R0, [R1]       ; [R1] is cacheable

    step2: DCCIMVAC          ; clean and invalidate cache

    step2': DMB (or DSB)     <- It's require?

    step3: LDR  R0, [R1]       ; memory read

    I am considering.

    For step3 read memory, step2'  is require.

    Or not require?

Children