| To: | linux-mips@oss.sgi.com |
|---|---|
| Subject: | Re: sti() does not work. |
| From: | Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> |
| Date: | Wed, 4 Jul 2001 12:23:29 +0200 |
| In-reply-to: | <84CE342693F11946B9F54B18C1AB837B05CE09@ex2k.pcs.psdc.com> |
| Sender: | owner-linux-mips@oss.sgi.com |
| User-agent: | Mutt/1.3.18i |
Steven Liu wrote:
> 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
> ! */
Here should follow some nop's on a MIPS I system to make sure $12
is written (why is noreorder used here?).
> ".set\tat\n\t"
> ".set\treorder"
> : /* no outputs */
> : /* no inputs */
> : "$1", "memory");
> }
HTH,
Thiemo
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | sti() does not work., Steven Liu |
|---|---|
| Next by Date: | Re: sti() does not work., Gleb O. Raiko |
| Previous by Thread: | sti() does not work., Steven Liu |
| Next by Thread: | Re: sti() does not work., Gleb O. Raiko |
| Indexes: | [Date] [Thread] [Top] [All Lists] |