Module Name: src
Committed By: matt
Date: Fri Aug 21 17:29:42 UTC 2009
Modified Files:
src/sys/arch/mips/include [matt-nb5-mips64]: types.h
Log Message:
Adapt to ABI variations. Make sure mips_reg_t == register_t.
Add PRIx{{P,V}{ADDR,SIZE}} and PRIxREGISTER{,32} macros to assist
printing out above types.
To generate a diff of this commit:
cvs rdiff -u -r1.43.36.1 -r1.43.36.2 src/sys/arch/mips/include/types.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/types.h
diff -u src/sys/arch/mips/include/types.h:1.43.36.1 src/sys/arch/mips/include/types.h:1.43.36.2
--- src/sys/arch/mips/include/types.h:1.43.36.1 Sun Aug 16 03:33:58 2009
+++ src/sys/arch/mips/include/types.h Fri Aug 21 17:29:42 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: types.h,v 1.43.36.1 2009/08/16 03:33:58 matt Exp $ */
+/* $NetBSD: types.h,v 1.43.36.2 2009/08/21 17:29:42 matt Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -47,18 +47,18 @@
* the rest of the operating system as possible.
*/
-#if !defined(__mips_o32)
+#if defined(__mips_n32)
typedef long long mips_reg_t;
typedef unsigned long long mips_ureg_t;
-#if defined(__mips_o64)
+typedef long long mips_fpreg_t;
+#else
+#if defined(__mips_o64) || defined(__mips_o32)
typedef int mips_fpreg_t;
#else
-typedef long long mips_fpreg_t;
+typedef long mips_fpreg_t;
#endif
-#else
typedef long mips_reg_t;
typedef unsigned long mips_ureg_t;
-typedef long mips_fpreg_t;
#endif
/* NB: This should probably be if defined(_KERNEL) */
@@ -66,18 +66,32 @@
#if defined(_MIPS_PADDR_T_64BIT) && !defined(_LP64)
typedef unsigned long long paddr_t;
typedef unsigned long long psize_t;
+#define PRIxPADDR "llx"
+#define PRIxPSIZE "llx"
#else
typedef unsigned long paddr_t;
typedef unsigned long psize_t;
+#define PRIxPADDR "lx"
+#define PRIxPSIZE "lx"
#endif
typedef unsigned long vaddr_t;
typedef unsigned long vsize_t;
+#define PRIxVADDR "lx"
+#define PRIxVSIZE "lx"
#endif
/* Make sure this is signed; we need pointers to be sign-extended. */
#if defined(__mips_n32)
+typedef long register32_t;
typedef long long register_t;
+#define PRIxREGISTER32 "lx"
+#define PRIxREGISTER "llx"
#else
+#if !defined(__mips_o32)
+typedef int register32_t;
+#define PRIxREGISTER32 "x"
+#endif
+#define PRIxREGISTER "lx"
typedef long register_t;
#endif /* __mips_n32 */