1
1
Files
zyxel-vmg8825_b50b-cfw/package/libs/openssl/patches-1.0.2n/222-BRCM_armcap.patch
T
2026-04-17 18:33:03 +02:00

32 lines
1.2 KiB
Diff

Index: openssl-1.0.2n/crypto/armcap.c
===================================================================
--- openssl-1.0.2n.orig/crypto/armcap.c 2017-12-07 21:16:38.000000000 +0800
+++ openssl-1.0.2n/crypto/armcap.c 2018-01-24 14:37:21.202601904 +0800
@@ -116,6 +116,18 @@
sigprocmask(SIG_SETMASK, &ill_act.sa_mask, &oset);
sigaction(SIGILL, &ill_act, &ill_oact);
+#ifdef BRCM_ARM_SPECIFIC
+ // BRCM SPECIFIC: do NOT probe for NEON, etc.
+ // On the 138, NEON is only on one core. The autodetect may detect NEON,
+ // and then migrate to the other core, at which point an illegal instruction
+ // would be encountered.
+
+ // For the 148: currently the neon registers are not saved on a context switch.
+ // If multiple users are accessing neon, then a context switch can cause corrupt
+ // registers.
+
+ // simply disabling neon by default:
+#else
if (getauxval != NULL) {
if (getauxval(HWCAP) & HWCAP_NEON) {
unsigned long hwcap = getauxval(HWCAP_CE);
@@ -153,6 +165,7 @@
OPENSSL_armcap_P |= ARMV8_SHA256;
}
}
+#endif
if (sigsetjmp(ill_jmp, 1) == 0) {
_armv7_tick();
OPENSSL_armcap_P |= ARMV7_TICK;