All of lore.kernel.org
 help / color / mirror / Atom feed
* sti() does not work.
@ 2001-07-03 22:48 ` Steven Liu
  0 siblings, 0 replies; 13+ messages in thread
From: Steven Liu @ 2001-07-03 22:48 UTC (permalink / raw)
  To: linux-mips; +Cc: stevenliu@psdc.com

Hi All:

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
include/asm-mips/system.h:
 
extern __inline__ void  __sti(void)
{
	__asm__ __volatile__(
		".set\tnoreorder\n\t"
		".set\tnoat\n\t"
		"mfc0\t$1,$12\n\t"
		"ori\t$1,0x1f\n\t"
		"xori\t$1,0x1e\n\t"
		"mtc0\t$1,$12\n\t"               /* <----- problem  here
! */
		".set\tat\n\t"
		".set\treorder"
		: /* no outputs */
		: /* no inputs */
		: "$1", "memory");
}

Before calling this function, status_register = 0x1000fc00 and
cause_register=0x00008000. 
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.

Thank you.

Steven liu

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2001-07-16 16:02 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-07-03 22:48 sti() does not work Steven Liu
2001-07-03 22:48 ` Steven Liu
2001-07-04 10:23 ` Thiemo Seufer
2001-07-04 12:23   ` Gleb O. Raiko
2001-07-04 13:26   ` Ralf Baechle
2001-07-05 11:35     ` Maciej W. Rozycki
2001-07-13 11:35       ` Ralf Baechle
2001-07-13 14:01         ` Maciej W. Rozycki
2001-07-14 11:04           ` Ralf Baechle
2001-07-14 11:39             ` Kevin D. Kissell
2001-07-14 11:39               ` Kevin D. Kissell
2001-07-16 12:46             ` Maciej W. Rozycki
2001-07-04 13:29 ` Ralf Baechle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.