pls excuse this if it in a funny font, i had to change over to
communicator.
Emory R. Stagmer wrote:
In trying to provide a floating point emulation package for a MIPS R3000(like) processor,
I need to return back to the NEXT instruction past the Error Program Counter (EPC).
It seems the wrapper function for de-muxing the interrupt is mucking
with the stack pointer
(sp) and saving/restoring registers for me. I need to know:
1) What registers do I REALLY need to save?
2) Can/Should I handle the return from exception myself?
3) Where is the stack really? Interrupt Stack? Task Stack?
yes, the stack pointer gets set to vxIntStackBase - ESTKSIZE.all general purpose registers are saved for you. MUL_HI and MUL_LO are
not, nor are any FP regs. i suggest not doing the return yourself.
caveat to the first statement... unless you are a nested interrupt, you
get stack offset from the first by ESTKSIZE. of course, be careful
using k0/k1 registers...
I'm connecting my routine via intVecSet(). My routine is assembler, not
C (otherwise
I know I'd need to use intConnect() ).
ANY help/comments/ideas are appreciated.
--
Emory R. Stagmer
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 379 |
Nodes: | 16 (2 / 14) |
Uptime: | 83:43:31 |
Calls: | 8,091 |
Files: | 13,069 |
Messages: | 5,851,127 |