linux-mips
[Top] [All Lists]

Q about ST0_UX

To: linux-mips@oss.sgi.com
Subject: Q about ST0_UX
From: Jason Gunthorpe <jgg@debian.org>
Date: Wed, 9 Jan 2002 00:08:47 -0700 (MST)
Sender: owner-linux-mips@oss.sgi.com
Hi All,

I just noticed that in setup.c there is this little bit:

        s = read_32bit_cp0_register(CP0_STATUS);
        s &= ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX|ST0_FR);
        s |= ST0_CU0;
        write_32bit_cp0_register(CP0_STATUS, s);

And it doesn't mask off ST0_UX - is this an oversight? With my RM7K the
kernel is called with ST0_UX set, and since it doesn't clear it the XTLB
handler is called - which faults things..

So, would this patch be appropriate in general:

--- setup.c     2001/12/02 11:34:38     1.96
+++ setup.c     2002/01/09 08:05:43
@@ -558,7 +558,7 @@
 
        /* Disable coprocessors and set FPU for 16 FPRs */
        s = read_32bit_cp0_register(CP0_STATUS);
-       s &= ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX|ST0_FR);
+       s &= ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_UX|ST0_KX|ST0_SX|ST0_FR);
        s |= ST0_CU0;
        write_32bit_cp0_register(CP0_STATUS, s);

or is it better to make the xtlb handler work in the 32 bit case?

Thanks,
Jason


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