From: Florian Krohm Date: Wed, 26 Nov 2025 16:50:42 +0000 (+0000) Subject: s390x_features.c cleanup X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2020b9914d58cb756aeba645ddd180bc29566415;p=thirdparty%2Fvalgrind.git s390x_features.c cleanup Remove detection of unneeded facilities: zarch, n3, exrl, mi3 Rename s390x-vx2 --> s390x-vxe2 to be consistent with VEX_HWCAPS_S390X_VXE2 Change vec2_float.vgtest accordingly --- diff --git a/none/tests/s390x/vec2_float.vgtest b/none/tests/s390x/vec2_float.vgtest index 1f92d59ec..59cbe54ba 100644 --- a/none/tests/s390x/vec2_float.vgtest +++ b/none/tests/s390x/vec2_float.vgtest @@ -1,2 +1,2 @@ prog: vec2_float -prereq: test -e vec2_float && ../../../tests/s390x_features s390x-vx2 +prereq: test -e vec2_float && ../../../tests/s390x_features s390x-vxe2 diff --git a/tests/s390x_features.c b/tests/s390x_features.c index f9aa96640..2b6af79f8 100644 --- a/tests/s390x_features.c +++ b/tests/s390x_features.c @@ -225,22 +225,14 @@ static int go(char *feature, char *cpu) clear_facilities(facilities); stfle(facilities); - if (strcmp(feature, "s390x-zarch") == 0 ) { - match = (facilities[0] & FAC_BIT(1)) && (facilities[0] & FAC_BIT(2)); - } else if (strcmp(feature, "s390x-n3") == 0 ) { - match = facilities[0] & FAC_BIT(0); - } else if (strcmp(feature, "s390x-exrl") == 0 ) { - match = facilities[0] & FAC_BIT(35); - } else if (strcmp(feature, "s390x-vx") == 0 ) { + if (strcmp(feature, "s390x-vx") == 0 ) { /* VX needs kernel support; thus check the appropriate HWCAP bit. */ - match = GET_HWCAP() & 0x800; + match = (GET_HWCAP() & 0x800) && (facilities[2] & FAC_BIT(1)); } else if (strcmp(feature, "s390x-msa5") == 0 ) { match = facilities[0] & FAC_BIT(57); /* message security assist 5 facility */ } else if (strcmp(feature, "s390x-mi2") == 0 ) { match = facilities[0] & FAC_BIT(58); - } else if (strcmp(feature, "s390x-mi3") == 0 ) { - match = facilities[0] & FAC_BIT(61); - } else if (strcmp(feature, "s390x-vx2") == 0 ) { + } else if (strcmp(feature, "s390x-vxe2") == 0 ) { match = (GET_HWCAP() & 0x800) && (facilities[2] & FAC_BIT(20)); } else { return 2; // Unrecognised feature.