X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-s390x.h;h=fd1c2142f3349119f0a4a6cec7b268e3ee9a9ac4;hb=HEAD;hp=1de03e2fd2af0df5e8b3b4cc2ac0665ab7b6c622;hpb=28f473c41df72b278eaf9784c29c2b8fa2cbe06a;p=mono.git diff --git a/mono/mini/mini-s390x.h b/mono/mini/mini-s390x.h index 1de03e2fd2a..fd1c2142f33 100644 --- a/mono/mini/mini-s390x.h +++ b/mono/mini/mini-s390x.h @@ -1,3 +1,7 @@ +/** + * \file + */ + #ifndef __MONO_MINI_S390X_H__ #define __MONO_MINI_S390X_H__ @@ -47,8 +51,6 @@ typedef struct #define MONO_ARCH_NEED_DIV_CHECK 1 #define MONO_ARCH_SIGNAL_STACK_SIZE 256*1024 #define MONO_ARCH_HAVE_DECOMPOSE_OPTS 1 -#define MONO_ARCH_HAVE_TLS_GET 1 -#define MONO_ARCH_ENABLE_MONO_LMF_VAR 1 #define MONO_ARCH_IMT_REG s390_r9 #define MONO_ARCH_VTABLE_REG S390_FIRST_ARG_REG #define MONO_ARCH_RGCTX_REG MONO_ARCH_IMT_REG @@ -59,10 +61,10 @@ typedef struct #define MONO_ARCH_GC_MAPS_SUPPORTED 1 #define MONO_ARCH_GSHARED_SUPPORTED 1 #define MONO_ARCH_MONITOR_ENTER_ADJUSTMENT 1 -#define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1 #define MONO_ARCH_HAVE_INVALIDATE_METHOD 1 #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1 #define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1 +#define MONO_ARCH_HAVE_INIT_LMF_EXT 1 #define S390_STACK_ALIGNMENT 8 #define S390_FIRST_ARG_REG s390_r2 @@ -77,13 +79,15 @@ typedef struct /*------------------------------------------------------*/ /* use s390_r2-s390_r6 as parm registers */ /* s390_r0, s390_r1, s390_r12, s390_r13 used internally */ -/* s390_r8..s390_r11 are used for global regalloc */ +/* s390_r8..s390_r10 are used for global regalloc */ +/* -- except for s390_r9 which is used as IMT pointer */ +/* s390_r11 is sometimes used as the frame pointer */ /* s390_r15 is the stack pointer */ /*------------------------------------------------------*/ -#define MONO_ARCH_CALLEE_REGS (0xfc) +#define MONO_ARCH_CALLEE_REGS (0x00fc) -#define MONO_ARCH_CALLEE_SAVED_REGS 0xff80 +#define MONO_ARCH_CALLEE_SAVED_REGS 0xfd00 /*----------------------------------------*/ /* use s390_f1/s390_f3-s390_f15 as temps */ @@ -112,6 +116,14 @@ typedef struct #define MONO_ARCH_FRAME_ALIGNMENT 8 #define MONO_ARCH_CODE_ALIGNMENT 32 +/*-----------------------------------------------*/ +/* SIMD Related Definitions */ +/*-----------------------------------------------*/ + +#define MONO_MAX_XREGS 31 +#define MONO_ARCH_CALLEE_XREGS 0x0 +#define MONO_ARCH_CALLEE_SAVED_XREGS 0x0 + /*-----------------------------------------------*/ /* Macros used to generate instructions */ /*-----------------------------------------------*/