Module Name: src
Committed By: matt
Date: Tue May 11 21:51:34 UTC 2010
Modified Files:
src/sys/arch/mips/include [matt-nb5-mips64]: locore.h
Log Message:
Need to turn KX for N32 kernels with mips3_lw_a64 and mips3_sw_a64
To generate a diff of this commit:
cvs rdiff -u -r1.78.36.1.2.22 -r1.78.36.1.2.23 \
src/sys/arch/mips/include/locore.h
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/include/locore.h
diff -u src/sys/arch/mips/include/locore.h:1.78.36.1.2.22 src/sys/arch/mips/include/locore.h:1.78.36.1.2.23
--- src/sys/arch/mips/include/locore.h:1.78.36.1.2.22 Sun Mar 21 17:38:32 2010
+++ src/sys/arch/mips/include/locore.h Tue May 11 21:51:34 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.h,v 1.78.36.1.2.22 2010/03/21 17:38:32 cliff Exp $ */
+/* $NetBSD: locore.h,v 1.78.36.1.2.23 2010/05/11 21:51:34 matt Exp $ */
/*
* This file should not be included by MI code!!!
@@ -279,6 +279,11 @@
);
mips_cp0_status_write(sr);
+#elif defined(__mips_n32)
+ uint32_t sr = mips_cp0_status_read();
+ mips_cp0_status_write((sr & ~MIPS_SR_INT_IE) | MIPS3_SR_KX);
+ rv = *(const uint32_t *)addr;
+ mips_cp0_status_write(sr);
#elif defined(_LP64)
rv = *(const uint32_t *)addr;
#else
@@ -311,6 +316,11 @@
);
mips_cp0_status_write(sr);
+#elif defined(__mips_n32)
+ uint32_t sr = mips_cp0_status_read();
+ mips_cp0_status_write((sr & ~MIPS_SR_INT_IE) | MIPS3_SR_KX);
+ *(uint32_t *)addr = val;
+ mips_cp0_status_write(sr);
#elif defined(_LP64)
*(uint32_t *)addr = val;
#else