+ /*---------------------------------------------------------------*/
+ /* we build the MonoLMF structure on the stack - see mini-s390.h */
+ /* Keep in sync with the code in mono_arch_emit_prolog */
+ /*---------------------------------------------------------------*/
+
+ s390_lgr (buf, LMFReg, STK_BASE);
+ s390_aghi (buf, LMFReg, G_STRUCT_OFFSET(trampStack_t, LMF));
+
+ /*---------------------------------------------------------------*/
+ /* Save general and floating point registers in LMF */
+ /*---------------------------------------------------------------*/
+ s390_stmg (buf, s390_r0, s390_r1, LMFReg, G_STRUCT_OFFSET(MonoLMF, gregs[0]));
+ s390_stmg (buf, s390_r2, s390_r5, LMFReg, G_STRUCT_OFFSET(MonoLMF, gregs[2]));
+ s390_mvc (buf, 10*sizeof(gulong), LMFReg, G_STRUCT_OFFSET(MonoLMF, gregs[6]),
+ s390_r11, S390_REG_SAVE_OFFSET);
+
+ offset = G_STRUCT_OFFSET(MonoLMF, fregs[0]);