linux-mips-fnet
[Top] [All Lists]

Interrupts on the R3000 ...

To: linux-mips@fnet.fr
Subject: Interrupts on the R3000 ...
From: Michael Engel <engel@unix-ag.uni-siegen.de>
Date: Mon, 18 Nov 1996 01:21:26 +0100 (MET)
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)

<Prev in Thread] Current Thread [Next in Thread>