[Cortex-A15/Arm7v]Is the way to disable the speculative memory accesses of L1

Dear Expert

We would like to disable the speculative memory accesses of L1.
Is the way to disable above function?

We found "I bit of SCTRL" controls the function of Instruction Caches.
If we negate that bit,  are both Instruction Caches and the speculative memory accesses disabled?

If we would like to disable the speculative memory accesses alone, how should we do?

We use the processor of A15 (revision  r2p2).

Regards.

Parents
  • Why do you want to disable speculative accesses?  Is it only speculative instruction fetch you are concerned about?

    There are architectural ways to control where speculation can happen. For example using the execute permission (XN) to control where instructions can be fetched (or prefetched) from.

    Processors sometimes have IMPDEF controls to fine tune things like prefetching, see the Cortex-A15 technical reference manual for details.  But before you start looking at these controls it would be worth understanding what you are trying to achieve and the side-effects.

    developer.arm.com/.../implementation-defined-registers

Reply
  • Why do you want to disable speculative accesses?  Is it only speculative instruction fetch you are concerned about?

    There are architectural ways to control where speculation can happen. For example using the execute permission (XN) to control where instructions can be fetched (or prefetched) from.

    Processors sometimes have IMPDEF controls to fine tune things like prefetching, see the Cortex-A15 technical reference manual for details.  But before you start looking at these controls it would be worth understanding what you are trying to achieve and the side-effects.

    developer.arm.com/.../implementation-defined-registers

Children