From bbf532dba8d0462c7ef2f00b2646e5ac5b04bd62 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 3 May 2019 21:10:45 +0200 Subject: gs: arm64 support --- sys/src/cmd/gs/amd64.h | 46 ------------------------------------------ sys/src/cmd/gs/arch.h | 2 ++ sys/src/cmd/gs/default.amd64.h | 46 ++++++++++++++++++++++++++++++++++++++++++ sys/src/cmd/gs/default.arm64.h | 44 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 92 insertions(+), 46 deletions(-) delete mode 100644 sys/src/cmd/gs/amd64.h create mode 100644 sys/src/cmd/gs/default.amd64.h create mode 100644 sys/src/cmd/gs/default.arm64.h diff --git a/sys/src/cmd/gs/amd64.h b/sys/src/cmd/gs/amd64.h deleted file mode 100644 index ce16fed64..000000000 --- a/sys/src/cmd/gs/amd64.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Parameters derived from machine and compiler architecture. */ -/* This file is generated mechanically by genarch.c. */ - - /* ---------------- 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 4 - - /* ---------------- Scalar sizes ---------------- */ - -#define ARCH_LOG2_SIZEOF_CHAR 0 -#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 131072 -#define ARCH_CACHE2_SIZE 4194304 - - /* ---------------- 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 0 -#define ARCH_DIV_NEG_POS_TRUNCATES 1 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/default.amd64.h b/sys/src/cmd/gs/default.amd64.h new file mode 100644 index 000000000..ce16fed64 --- /dev/null +++ b/sys/src/cmd/gs/default.amd64.h @@ -0,0 +1,46 @@ +/* Parameters derived from machine and compiler architecture. */ +/* This file is generated mechanically by genarch.c. */ + + /* ---------------- 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 4 + + /* ---------------- Scalar sizes ---------------- */ + +#define ARCH_LOG2_SIZEOF_CHAR 0 +#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 131072 +#define ARCH_CACHE2_SIZE 4194304 + + /* ---------------- 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 0 +#define ARCH_DIV_NEG_POS_TRUNCATES 1 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 -- cgit v1.2.3