# define VG_ELF_MACHINE EM_386
# define VG_ELF_CLASS ELFCLASS32
# undef VG_PLAT_USES_PPCTOC
+#elif defined(VGP_s390x_linux)
+# define VG_ELF_DATA2XXX ELFDATA2MSB
+# define VG_ELF_MACHINE EM_S390
+# define VG_ELF_CLASS ELFCLASS64
+# undef VG_PLAT_USES_PPCTOC
#else
# error Unknown platform
#endif
# define VG_INSTR_PTR guest_R15T
# define VG_STACK_PTR guest_R13
# define VG_FRAME_PTR guest_R11
+#elif defined(VGA_s390x)
+# define VG_INSTR_PTR guest_IA
+# define VG_STACK_PTR guest_SP
+# define VG_FRAME_PTR guest_FP
#else
# error Unknown arch
#endif
then safe to use VG_(machine_get_VexArchInfo)
and VG_(machine_ppc64_has_VMX)
+ -------------
+ arm: initially: call VG_(machine_get_hwcaps)
+ call VG_(machine_arm_set_has_NEON)
+
+ then safe to use VG_(machine_get_VexArchInfo)
VG_(machine_get_hwcaps) may use signals (although it attempts to
leave signal state unchanged) and therefore should only be
extern void VG_(machine_ppc64_set_clszB)( Int );
#endif
+#if defined(VGA_arm)
+extern void VG_(machine_arm_set_has_NEON)( Bool );
+#endif
+
/* X86: set to 1 if the host is able to do {ld,st}mxcsr (load/store
the SSE control/status register), else zero. Is referenced from
assembly code, so do not change from a 32-bit int. */