Module Name:    src
Committed By:   uebayasi
Date:           Thu Aug 20 04:43:34 UTC 2009

Modified Files:
        src/sys/arch/mips/mips [matt-nb5-mips64]: locore_mips3.S

Log Message:
Build mips3_ld / mips3_sd for N32/N64.

64-bit arguments are stored in single registers in these ABIs.  No special
treatment needed.


To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.93.38.1 src/sys/arch/mips/mips/locore_mips3.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/mips/locore_mips3.S
diff -u src/sys/arch/mips/mips/locore_mips3.S:1.93 src/sys/arch/mips/mips/locore_mips3.S:1.93.38.1
--- src/sys/arch/mips/mips/locore_mips3.S:1.93	Wed Oct 17 19:55:38 2007
+++ src/sys/arch/mips/mips/locore_mips3.S	Thu Aug 20 04:43:34 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore_mips3.S,v 1.93 2007/10/17 19:55:38 garbled Exp $	*/
+/*	$NetBSD: locore_mips3.S,v 1.93.38.1 2009/08/20 04:43:34 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1997 Jonathan Stone (hereinafter referred to as the author)
@@ -348,11 +348,6 @@
 	nop
 END(mips3_cp0_pg_mask_write)
 
-#if defined(_MIPS_BSD_API) && \
-    (_MIPS_BSD_API == _MIPS_BSD_API_N32 || _MIPS_BSD_API == _MIPS_BSD_API_LP64)
-#error mips3_ld and mips3_sd should be adjusted for N32 or LP64
-#endif
-
 LEAF(mips3_ld)
 #if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32
 	mfc0	t0, MIPS_COP_0_STATUS		# turn off interrupts
@@ -365,6 +360,10 @@
 #endif
 
 	ld	v0, 0(a0)
+#if defined(_MIPS_BSD_API) && \
+    (_MIPS_BSD_API == _MIPS_BSD_API_N32 || _MIPS_BSD_API == _MIPS_BSD_API_LP64)
+	# nothing to do
+#else
 #if _BYTE_ORDER == _BIG_ENDIAN
 	dsll	v1, v0, 32
 	dsra	v1, v1, 32			# low word in v1
@@ -374,6 +373,7 @@
 	dsll	v0, v0, 32
 	dsra	v0, v0, 32			# low word in v0
 #endif
+#endif
 
 #if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32
 	mtc0	t0, MIPS_COP_0_STATUS		# restore intr status.
@@ -396,6 +396,10 @@
 	nop
 #endif
 
+#if defined(_MIPS_BSD_API) && \
+    (_MIPS_BSD_API == _MIPS_BSD_API_N32 || _MIPS_BSD_API == _MIPS_BSD_API_LP64)
+	# nothing to do
+#else
 	# NOTE: a1 is padding!
 
 #if _BYTE_ORDER == _BIG_ENDIAN
@@ -408,6 +412,7 @@
 	dsll	a3, a3, 32			# high word in a3
 #endif
 	or	a1, a2, a3
+#endif
 	sd	a1, 0(a0)
 
 #if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32

Reply via email to