summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-05-03 21:10:45 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2019-05-03 21:10:45 +0200
commitbbf532dba8d0462c7ef2f00b2646e5ac5b04bd62 (patch)
tree6969915bd82ea5bb23f9621ff61fa6f3de481180
parent5f5caa6733fd102b2a188ce57fd61193e1380dbb (diff)
downloadplan9front-bbf532dba8d0462c7ef2f00b2646e5ac5b04bd62.tar.xz
gs: arm64 support
-rw-r--r--sys/src/cmd/gs/arch.h2
-rw-r--r--sys/src/cmd/gs/default.amd64.h (renamed from sys/src/cmd/gs/amd64.h)0
-rw-r--r--sys/src/cmd/gs/default.arm64.h44
3 files changed, 46 insertions, 0 deletions
diff --git a/sys/src/cmd/gs/arch.h b/sys/src/cmd/gs/arch.h
index b21ca827a..69c9a1c3f 100644
--- a/sys/src/cmd/gs/arch.h
+++ b/sys/src/cmd/gs/arch.h
@@ -10,6 +10,8 @@
#include "mips.h"
#elif Tarm
#include "arm.h"
+#elif Tarm64
+#include "arm64.h"
#elif Tamd64
#include "amd64.h"
#else
diff --git a/sys/src/cmd/gs/amd64.h b/sys/src/cmd/gs/default.amd64.h
index ce16fed64..ce16fed64 100644
--- a/sys/src/cmd/gs/amd64.h
+++ b/sys/src/cmd/gs/default.amd64.h
diff --git a/sys/src/cmd/gs/default.arm64.h b/sys/src/cmd/gs/default.arm64.h
new file mode 100644
index 000000000..4959ab978
--- /dev/null
+++ b/sys/src/cmd/gs/default.arm64.h
@@ -0,0 +1,44 @@
+/* Parameters derived from machine and compiler architecture */
+
+ /* ---------------- Scalar alignments ---------------- */
+
+#define ARCH_ALIGN_SHORT_MOD 2
+#define ARCH_ALIGN_INT_MOD 4
+#define ARCH_ALIGN_LONG_MOD 4
+#define ARCH_ALIGN_PTR_MOD 8
+#define ARCH_ALIGN_FLOAT_MOD 4
+#define ARCH_ALIGN_DOUBLE_MOD 8
+#define ARCH_ALIGN_STRUCT_MOD 8
+
+ /* ---------------- Scalar sizes ---------------- */
+
+#define ARCH_LOG2_SIZEOF_SHORT 1
+#define ARCH_LOG2_SIZEOF_INT 2
+#define ARCH_LOG2_SIZEOF_LONG 2
+#define ARCH_LOG2_SIZEOF_LONG_LONG 3
+#define ARCH_SIZEOF_PTR 8
+#define ARCH_SIZEOF_FLOAT 4
+#define ARCH_SIZEOF_DOUBLE 8
+#define ARCH_FLOAT_MANTISSA_BITS 24
+#define ARCH_DOUBLE_MANTISSA_BITS 53
+
+ /* ---------------- Unsigned max values ---------------- */
+
+#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
+#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
+#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
+#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
+
+ /* ---------------- Cache sizes ---------------- */
+
+#define ARCH_CACHE1_SIZE 1048576
+#define ARCH_CACHE2_SIZE 1048576
+
+ /* ---------------- Miscellaneous ---------------- */
+
+#define ARCH_IS_BIG_ENDIAN 0
+#define ARCH_PTRS_ARE_SIGNED 0
+#define ARCH_FLOATS_ARE_IEEE 1
+#define ARCH_ARITH_RSHIFT 2
+#define ARCH_CAN_SHIFT_FULL_LONG 1
+#define ARCH_DIV_NEG_POS_TRUNCATES 1