summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2010-08-19 03:31:26 +0000
committerimp <imp@FreeBSD.org>2010-08-19 03:31:26 +0000
commit48183e9b238a8ed57106391ce5fe952483664d5e (patch)
tree45dc22be1fdb2acdfcade30b24a359455a74c140
parentfc916954f90c242291e9d8d8acfa97e365597795 (diff)
downloadFreeBSD-src-48183e9b238a8ed57106391ce5fe952483664d5e.zip
FreeBSD-src-48183e9b238a8ed57106391ce5fe952483664d5e.tar.gz
First cut at mips n64 ABI support
-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 137cd97..19faf42 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
OpenPOWER on IntegriCloud