This patchset is aimed at unifying the code used to preserve CPU context when switching from client programs into Forth, via either the CIF or interrupt handlers.
It is part of a longer process to enable access to saved CPU context state from within Forth which will eventually enable proper implementation of the init-program and go words.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
Mark Cave-Ayland (8): SPARC64: create proper stack frame when entering client interface SPARC64: introduce new Forth context stack (fcstack) for CPU contexts SPARC64: switch client interface over to use new Forth context stack SPARC64: switch IMMU/DMMU miss handlers over to use new Forth context stack SPARC64: move client interface stack inline to the new Forth context stack SPARC64: move IMMU/DMMU miss handler stacks inline to the new Forth context stack SPARC64: reorganise IMMU/DMMU trap context structure SPARC64: rearrange saved state window order
openbios-devel/arch/sparc64/call-client.S | 218 +++++---------------- openbios-devel/arch/sparc64/context.c | 4 + openbios-devel/arch/sparc64/cpustate.h | 244 +++++++++++++++++++++++ openbios-devel/arch/sparc64/ldscript | 5 + openbios-devel/arch/sparc64/vectors.S | 300 ++++++----------------------- openbios-devel/include/arch/sparc64/io.h | 2 +- 6 files changed, 367 insertions(+), 406 deletions(-) create mode 100644 openbios-devel/arch/sparc64/cpustate.h