glibc/sysdeps
H.J. Lu 5b99f172b8 x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033]
From

https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html

* Intel TSX will be disabled by default.
* The processor will force abort all Restricted Transactional Memory (RTM)
  transactions by default.
* A new CPUID bit CPUID.07H.0H.EDX[11](RTM_ALWAYS_ABORT) will be enumerated,
  which is set to indicate to updated software that the loaded microcode is
  forcing RTM abort.
* On processors that enumerate support for RTM, the CPUID enumeration bits
  for Intel TSX (CPUID.07H.0H.EBX[11] and CPUID.07H.0H.EBX[4]) continue to
  be set by default after microcode update.
* Workloads that were benefited from Intel TSX might experience a change
  in performance.
* System software may use a new bit in Model-Specific Register (MSR) 0x10F
  TSX_FORCE_ABORT[TSX_CPUID_CLEAR] functionality to clear the Hardware Lock
  Elision (HLE) and RTM bits to indicate to software that Intel TSX is
  disabled.

1. Add RTM_ALWAYS_ABORT to CPUID features.
2. Set RTM usable only if RTM_ALWAYS_ABORT isn't set.  This skips the
string/tst-memchr-rtm etc. testcases on the affected processors, which
always fail after a microcde update.
3. Check RTM feature, instead of usability, against /proc/cpuinfo.

This fixes BZ #28033.

(cherry picked from commit ea8e465a6b)
2022-02-01 07:12:35 -08:00
..
aarch64 aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798] 2020-11-04 12:23:20 +00:00
alpha Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
arm arm: CVE-2020-6096: Fix multiarch memcpy for negative length [BZ #25620] 2020-07-14 15:46:21 -04:00
csky Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
generic mips: Fix bracktrace result for signal frames 2020-03-30 23:18:26 +02:00
gnu Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hppa Add new file missed in previous hppa commit. 2020-05-04 21:56:38 +02:00
htl htl: Add internal version of __pthread_mutex_timedlock 2020-01-13 20:41:07 +01:00
hurd Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
i386 x86: Check IFUNC definition in unrelocated executable [BZ #20019] 2021-01-13 14:02:11 -08:00
ia64 Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
ieee754 math/test-sinl-pseudo: Use stack protector only if available 2020-03-11 12:25:15 +01:00
init_array Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
m68k Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
mach htl: Add internal version of __pthread_mutex_timedlock 2020-01-13 20:41:07 +01:00
microblaze Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
mips MIPS: Fix circular definition of __LDBL_MANT_DIG__ in ieee754.h 2020-01-08 14:28:23 -05:00
nios2 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
nptl nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271] 2020-01-30 15:54:49 +01:00
posix posix: Fix system error return value [BZ #25715] 2020-03-24 09:15:19 -03:00
powerpc powerpc64: Workaround sigtramp vdso return call 2021-03-08 11:16:27 -03:00
pthread Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
riscv Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
s390 S390: Also check vector support in memmove ifunc-selector [BZ #27511] 2021-03-26 11:01:51 +01:00
sh sh: Add sh4 fpu Implies folder 2020-11-27 09:34:02 -03:00
sparc Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
unix sh: Add sh4 fpu Implies folder 2020-11-27 09:34:02 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
x86 x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033] 2022-02-01 07:12:35 -08:00
x86_64 x86: Optimize strlen-evex.S 2022-01-27 15:49:32 -08:00