From d618864183ccfdcd0d1b5443111fbaf9a5934517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Sun, 14 Aug 2022 20:53:10 +0200 Subject: [PATCH 0960/1000] Workaround for qemu bug affecting the ppc intruction vmsumudm Introduce overriding environment variable NETTLE_FAT_DISABLE_POWER9 that disables use of power9 code. This makes poly1305 tests under qemu pass. See https://gitlab.com/qemu-project/qemu/-/issues/1156. --- .gitlab-ci.yml | 4 ++-- fat-ppc.c | 5 +++++ fat-setup.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fat-ppc.c b/fat-ppc.c index 7569e44d..b0412e5a 100644 --- a/fat-ppc.c +++ b/fat-ppc.c @@ -153,6 +153,11 @@ get_ppc_features (struct ppc_features *features) == (PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_VSX)); #endif } + /* NETTLE_FAT_DISABLE_POWER9 can be set to disable code that fails + in qemu, due to + https://gitlab.com/qemu-project/qemu/-/issues/1156. */ + if (secure_getenv (ENV_DISABLE_POWER9)) + features->have_power9 = 0; } DECLARE_FAT_FUNC(_nettle_aes_encrypt, aes_crypt_internal_func) diff --git a/fat-setup.h b/fat-setup.h index ad3c10f0..a35b8b8c 100644 --- a/fat-setup.h +++ b/fat-setup.h @@ -92,6 +92,7 @@ #define ENV_VERBOSE "NETTLE_FAT_VERBOSE" #define ENV_OVERRIDE "NETTLE_FAT_OVERRIDE" +#define ENV_DISABLE_POWER9 "NETTLE_FAT_DISABLE_POWER9" struct chacha_ctx; struct salsa20_ctx; -- 2.38.0