From c6a5f3c5a573cefb1b351fd3d8997439525299d3 Mon Sep 17 00:00:00 2001 From: Florian Krohm Date: Wed, 18 Jun 2025 21:10:17 +0000 Subject: [PATCH] s390x: Robustise LibVEX_GuestS390X_initialise --- VEX/priv/guest_s390_helpers.c | 120 +--------------------------------- 1 file changed, 1 insertion(+), 119 deletions(-) diff --git a/VEX/priv/guest_s390_helpers.c b/VEX/priv/guest_s390_helpers.c index 6e0321fea..335a9060b 100644 --- a/VEX/priv/guest_s390_helpers.c +++ b/VEX/priv/guest_s390_helpers.c @@ -44,127 +44,9 @@ void LibVEX_GuestS390X_initialise(VexGuestS390XState *state) { -/*------------------------------------------------------------*/ -/*--- Initialise ar registers ---*/ -/*------------------------------------------------------------*/ - - state->guest_a0 = 0; - state->guest_a1 = 0; - state->guest_a2 = 0; - state->guest_a3 = 0; - state->guest_a4 = 0; - state->guest_a5 = 0; - state->guest_a6 = 0; - state->guest_a7 = 0; - state->guest_a8 = 0; - state->guest_a9 = 0; - state->guest_a10 = 0; - state->guest_a11 = 0; - state->guest_a12 = 0; - state->guest_a13 = 0; - state->guest_a14 = 0; - state->guest_a15 = 0; - -/*------------------------------------------------------------*/ -/*--- Initialise vr registers ---*/ -/*------------------------------------------------------------*/ - -#define VRZERO(vr) \ - do { \ - vr.w64[0] = vr.w64[1] = 0ULL; \ - } while(0); - - VRZERO(state->guest_v0) - VRZERO(state->guest_v1) - VRZERO(state->guest_v2) - VRZERO(state->guest_v3) - VRZERO(state->guest_v4) - VRZERO(state->guest_v5) - VRZERO(state->guest_v6) - VRZERO(state->guest_v7) - VRZERO(state->guest_v8) - VRZERO(state->guest_v9) - VRZERO(state->guest_v10) - VRZERO(state->guest_v11) - VRZERO(state->guest_v12) - VRZERO(state->guest_v13) - VRZERO(state->guest_v14) - VRZERO(state->guest_v15) - VRZERO(state->guest_v16) - VRZERO(state->guest_v17) - VRZERO(state->guest_v18) - VRZERO(state->guest_v19) - VRZERO(state->guest_v20) - VRZERO(state->guest_v21) - VRZERO(state->guest_v22) - VRZERO(state->guest_v23) - VRZERO(state->guest_v24) - VRZERO(state->guest_v25) - VRZERO(state->guest_v26) - VRZERO(state->guest_v27) - VRZERO(state->guest_v28) - VRZERO(state->guest_v29) - VRZERO(state->guest_v30) - VRZERO(state->guest_v31) - -#undef VRZERO -/*------------------------------------------------------------*/ -/*--- Initialise gpr registers ---*/ -/*------------------------------------------------------------*/ - - state->guest_r0 = 0; - state->guest_r1 = 0; - state->guest_r2 = 0; - state->guest_r3 = 0; - state->guest_r4 = 0; - state->guest_r5 = 0; - state->guest_r6 = 0; - state->guest_r7 = 0; - state->guest_r8 = 0; - state->guest_r9 = 0; - state->guest_r10 = 0; - state->guest_r11 = 0; - state->guest_r12 = 0; - state->guest_r13 = 0; - state->guest_r14 = 0; - state->guest_r15 = 0; - -/*------------------------------------------------------------*/ -/*--- Initialise S390 miscellaneous registers ---*/ -/*------------------------------------------------------------*/ + __builtin_memset(state, 0x0, sizeof *state); - state->guest_counter = 0; - state->guest_fpc = 0; - state->guest_IA = 0; - -/*------------------------------------------------------------*/ -/*--- Initialise S390 pseudo registers ---*/ -/*------------------------------------------------------------*/ - - state->guest_SYSNO = 0; - -/*------------------------------------------------------------*/ -/*--- Initialise generic pseudo registers ---*/ -/*------------------------------------------------------------*/ - - state->guest_NRADDR = 0; - state->guest_CMSTART = 0; - state->guest_CMLEN = 0; - state->guest_IP_AT_SYSCALL = 0; state->guest_EMNOTE = EmNote_NONE; - state->host_EvC_COUNTER = 0; - state->host_EvC_FAILADDR = 0; - -/*------------------------------------------------------------*/ -/*--- Initialise thunk ---*/ -/*------------------------------------------------------------*/ - - state->guest_CC_OP = 0; - state->guest_CC_DEP1 = 0; - state->guest_CC_DEP2 = 0; - state->guest_CC_NDEP = 0; - - __builtin_memset(state->padding, 0x0, sizeof(state->padding)); } -- 2.47.2