Module Name: src
Committed By: cliff
Date: Tue Jan 26 04:37:38 UTC 2010
Modified Files:
src/sys/arch/mips/mips [matt-nb5-mips64]: db_interface.c
Log Message:
fix macros used for printing cp0 regs
To generate a diff of this commit:
cvs rdiff -u -r1.64.16.14 -r1.64.16.15 src/sys/arch/mips/mips/db_interface.c
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/db_interface.c
diff -u src/sys/arch/mips/mips/db_interface.c:1.64.16.14 src/sys/arch/mips/mips/db_interface.c:1.64.16.15
--- src/sys/arch/mips/mips/db_interface.c:1.64.16.14 Wed Jan 20 09:04:35 2010
+++ src/sys/arch/mips/mips/db_interface.c Tue Jan 26 04:37:38 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.64.16.14 2010/01/20 09:04:35 matt Exp $ */
+/* $NetBSD: db_interface.c,v 1.64.16.15 2010/01/26 04:37:38 cliff Exp $ */
/*
* Mach Operating System
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.64.16.14 2010/01/20 09:04:35 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.64.16.15 2010/01/26 04:37:38 cliff Exp $");
#include "opt_cputype.h" /* which mips CPUs do we support? */
#include "opt_ddb.h"
@@ -405,54 +405,36 @@
"", __val); \
} while (0)
-/* XXX not 64-bit ABI safe! */
-#define SHOW64(reg, name) \
-do { \
- uint64_t __val; \
- \
- __asm volatile( \
- ".set push \n\t" \
- ".set mips3 \n\t" \
- ".set noat \n\t" \
- "dmfc0 %0,$" ___STRING(reg) " \n\t" \
- "dsll %L0,%0,32 \n\t" \
- "dsrl %L0,%L0,32 \n\t" \
- "dsrl %M0,%0,32 \n\t" \
- ".set pop" \
- : "=r"(__val)); \
- printf(" %s:%*s %#"PRIx64"\n", name, FLDWIDTH - (int) strlen(name), \
- "", __val); \
-} while (0)
+#define SHOW64(reg, name) MIPS64_SHOW64(reg, 0, name)
-#define MIPS64_SHOW32(num, sel, name) \
+#define MIPS64_SHOW32(num, sel, name) \
do { \
uint32_t __val; \
\
+ KASSERT (CPUIS64BITS); \
__asm volatile( \
".set push \n\t" \
".set mips64 \n\t" \
- "mfc0 %0,$" ___STRING(num) "," ___STRING(sel) "\n\t" \
+ "mfc0 %0,$%1,%2 \n\t" \
".set pop \n\t" \
- : "=r"(__val)); \
+ : "=r"(__val) : "n"(num), "n"(sel)); \
printf(" %s:%*s %#x\n", name, FLDWIDTH - (int) strlen(name), \
"", __val); \
} while (0)
/* XXX not 64-bit ABI safe! */
-#define MIPS64_SHOW64(num, sel, name) \
+#define MIPS64_SHOW64(num, sel, name) \
do { \
uint64_t __val; \
\
+ KASSERT (CPUIS64BITS); \
__asm volatile( \
".set push \n\t" \
".set mips64 \n\t" \
".set noat \n\t" \
- "dmfc0 %0,$" ___STRING(num) "," ___STRING(sel) "\n\t" \
- "dsll %L0,%0,32 \n\t" \
- "dsrl %L0,%L0,32 \n\t" \
- "dsrl %M0,%0,32 \n\t" \
+ "dmfc0 %0,$%1,%2 \n\t" \
".set pop" \
- : "=r"(__val)); \
+ : "=r"(__val) : "n"(num), "n"(sel)); \
printf(" %s:%*s %#"PRIx64"\n", name, FLDWIDTH - (int) strlen(name), \
"", __val); \
} while (0)