aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2010-08-19 03:31:26 +0000
committerWarner Losh <imp@FreeBSD.org>2010-08-19 03:31:26 +0000
commit5c0e643e733743dc10b6608ac98a7bc5e2d4fca6 (patch)
tree45dc22be1fdb2acdfcade30b24a359455a74c140 /sys/cddl/contrib/opensolaris
parent509a0eba890121bc8864f13602eb6b7d89bcdb3e (diff)
downloadsrc-5c0e643e733743dc10b6608ac98a7bc5e2d4fca6.tar.gz
src-5c0e643e733743dc10b6608ac98a7bc5e2d4fca6.zip
First cut at mips n64 ABI support
Notes
Notes: svn path=/head/; revision=211484
Diffstat (limited to 'sys/cddl/contrib/opensolaris')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h b/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h
index 137cd971dbb5..19faf42f7311 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h
+++ b/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h
@@ -403,6 +403,25 @@ extern "C" {
#define _INT_ALIGNMENT 4
#define _FLOAT_ALIGNMENT 4
#define _FLOAT_COMPLEX_ALIGNMENT 4
+#if defined(__mips_n64)
+#define _LONG_ALIGNMENT 8
+#define _LONG_LONG_ALIGNMENT 8
+#define _DOUBLE_ALIGNMENT 8
+#define _DOUBLE_COMPLEX_ALIGNMENT 8
+#define _LONG_DOUBLE_ALIGNMENT 8
+#define _LONG_DOUBLE_COMPLEX_ALIGNMENT 8
+#define _POINTER_ALIGNMENT 8
+#define _MAX_ALIGNMENT 8
+#define _ALIGNMENT_REQUIRED 0
+
+#define _LONG_LONG_ALIGNMENT_32 _INT_ALIGNMENT
+/*
+ * Define the appropriate "implementation choices".
+ */
+#if !defined(_LP64)
+#define _LP64
+#endif
+#else
#define _LONG_ALIGNMENT 4
#define _LONG_LONG_ALIGNMENT 4
#define _DOUBLE_ALIGNMENT 4
@@ -422,6 +441,7 @@ extern "C" {
#if !defined(_I32LPx) && defined(_KERNEL)
#define _I32LPx
#endif
+#endif
#define _SUNOS_VTOC_16
#define _DMA_USES_PHYSADDR
#define _FIRMWARE_NEEDS_FDISK