Hello,
What is the purpose of the RSDIS (Return Stack DISable) bit in ACTLR ?
What would be the consequence on code execution if set DISable ?
Is the software able to write this bit ?
Thanks for help
Hi,
I checked the Cortex R5 TRM DDI0460D and found the same description in chapter 5.4 as "and the stack pointer is frozen".
I cannot find any discrepancies.
The stack pointer in the sentence "and the stack pointer is frozen" will be one of the return stack which holds the predicted return addresses.
I am afraid you are thinking of the normal stack pointer which is denoted as R13.
R13 and the return stack pointer are not equal registers.
Best regards,
Yasuhiko Koumoto.
I was comparing the DDI460D text to your first answer which quotes "...is not frozen" ( extract of ARM DDI 0363G).
They are different : first one says frozen, second one sys not frozen
I don't think this makes any difference in processor behavior but it remains the documents are not coherent.
Sylvain
There are discrepancies between the two documents but in this case it is not an error. When RSDIS is set, the return address stack pointer behaves differently in Cortex-R4 and Cortex-R5. If you will notice, when the prediction is forced to a fixed direction (through the BP field in the ACTLR), the global history table also behaves differently.