patch-2.1.53 linux/arch/sparc64/lib/VISbzero.S

Next file: linux/arch/sparc64/lib/VIScopy.S
Previous file: linux/arch/sparc64/lib/PeeCeeI.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.52/linux/arch/sparc64/lib/VISbzero.S linux/arch/sparc64/lib/VISbzero.S
@@ -1,4 +1,4 @@
-/* $Id: VISbzero.S,v 1.6 1997/08/08 08:34:00 jj Exp $
+/* $Id: VISbzero.S,v 1.8 1997/08/22 15:54:50 jj Exp $
  * VISbzero.S: High speed clear operations utilizing the UltraSparc
  *        Visual Instruction Set.
  *
@@ -16,8 +16,8 @@
 99:	ba	VISbzerofixup_ret##z;		\
 	 a, b, %o0;				\
 	.section __ex_table;			\
-	.align	8;				\
-	.xword	98b, 99b;			\
+	.align	4;				\
+	.word	98b, 99b;			\
 	.text;					\
 	.align	4;
 #define EXC(x,y,a,b,c...) 			\
@@ -28,15 +28,15 @@
 	ba	VISbzerofixup_ret0;		\
 	 a, b, %o0;				\
 	.section __ex_table;			\
-	.align	8;				\
-	.xword	98b, 99b;			\
+	.align	4;				\
+	.word	98b, 99b;			\
 	.text;					\
 	.align	4;
 #define EXO1(x,y) 				\
 98: 	x,y;					\
 	.section __ex_table;			\
-	.align	8;				\
-	.xword	98b, VISbzerofixup_reto1;	\
+	.align	4;				\
+	.word	98b, VISbzerofixup_reto1;	\
 	.text;					\
 	.align	4;
 #define EX(x,y,a,b) EXN(x,y,a,b,0)
@@ -44,8 +44,8 @@
 #define EX2(x,y,a,b) EXN(x,y,a,b,2)
 #define EXT(start,end,handler) 			\
 	.section __ex_table;			\
-	.align	8;				\
-	.xword	start, 0, end, handler;		\
+	.align	4;				\
+	.word	start, 0, end, handler;		\
 	.text;					\
 	.align	4
 #else
@@ -180,6 +180,10 @@
 #ifdef __KERNEL__
 	wr		%g0, 0, %fprs
 	wr		%g7, 0x0, %asi
+#else
+#ifndef REGS_64BIT
+	wr		%g0, FPRS_FEF, %fprs
+#endif
 #endif
 	membar		#StoreLoad | #StoreStore
 9:	andcc		%o1, 0xf8, %o2

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov