I am working on the porting Linux to mips R3000 and have a problem
about sti( ) which is called in start_kernel( ).
As we know, sti() is defined as __sti( ) in the
extern __inline__ void __sti(void)
"mtc0\t$1,$12\n\t" /* <----- problem here
: /* no outputs */
: /* no inputs */
: "$1", "memory");
Before calling this function, status_register = 0x1000fc00 and
Clearly, this is an interrupt of the CPU timer.
When mtc0 instruction above is executed, the system hangs and the
control does not go to the timer handler.
Any help is greatly appreciated.