Hello,
one more question from me ...
Simply put, what is the correct way to return from an interrupt (exception)
on the R3000 ? If I understand it right, I have to do the following:
- execute the rfe instruction
- get the address of the interrupted instruction from CP0_EPC
- jump to that address
Obviously, I am missing something here. I managed to get a timer interrupt
'ticking' on the DS5000/200. In the interrupt routine, I simply print out a
message and (try to) return. The interrupt rate is currently 2 Hz ...
Now, twice a second I get that message on the screen, but the interrupted
kernel doesn't continue to run. After a while, I get some funny lines on the
screen (I'm running with a CX video board). This should tell me that the stack
pointer has gone crazy or s.th. similiar, I think. Perhaps I also didn't
initialise CP0 correctly ...
It would be nice if someone could supply me with a short working interrupt
routine that simply returns whenever it's triggered.
Thanks,
Michael Engel (engel@unix-ag.uni-siegen.de)
|