Is return stack buffer implemented in Zync 7000 Soc


I am working on some research project based on ZC706 board that contain Zynq-7000 soc. i need to know that is Cortex-A9 Cpu in Zync-7000 implemented Return Stack Buffer (Return Stack Buffer is an program flow speculation technique like branch prediction) or no. In Zync-7000 Technical reference manual i saw some registers that give some detail about return sack implementation.

as you can see in ETMCCER register bit 23 indicate return stack implementation detail and it's reset value is 0.

now i want to know that this means that Return Stack did not implemented in cortex-A9 that exist in this SOC? Right?

and second question, how can i read this register during execution of program?


Thanks for your attention

  • The Cortex-A9 TRM does not list the return stack as optional, so I assume, it is implemented in any SoC with CA9.
    The ZYNQ manual also lists the return stack.

    But I assume, the "0" in the ETMCCER means, you cannot trace/access the return stack from a debugger.

    Reading: What about *(uint32_t *) 0xF889C1E8 ?

More questions in this forum