]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
x86/cpufeature: Replace X86_FEATURE_SYSENTER32 with X86_FEATURE_SYSFAST32
authorH. Peter Anvin <hpa@zytor.com>
Tue, 16 Dec 2025 21:26:03 +0000 (13:26 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 14 Jan 2026 00:37:58 +0000 (16:37 -0800)
commitf49ecf5e110ab0ed255ddea5e321689faf4e50e6
tree74b9f5720872d9e256f22e037f628cdef1e35fae
parenta0636d4c3ad0da0cd6069eb6fef5d2b7d3449378
x86/cpufeature: Replace X86_FEATURE_SYSENTER32 with X86_FEATURE_SYSFAST32

In most cases, the use of "fast 32-bit system call" depends either on
X86_FEATURE_SEP or X86_FEATURE_SYSENTER32 || X86_FEATURE_SYSCALL32.
However, nearly all the logic for both is identical.

Define X86_FEATURE_SYSFAST32 which indicates that *either* SYSENTER32 or
SYSCALL32 should be used, for either 32- or 64-bit kernels.  This
defaults to SYSENTER; use SYSCALL if the SYSCALL32 bit is also set.

As this removes ALL existing uses of X86_FEATURE_SYSENTER32, which is
a kernel-only synthetic feature bit, simply remove it and replace it
with X86_FEATURE_SYSFAST32.

This leaves an unused alternative for a true 32-bit kernel, but that
should really not matter in any way.

The clearing of X86_FEATURE_SYSCALL32 can be removed once the patches
for automatically clearing disabled features has been merged.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20251216212606.1325678-10-hpa@zytor.com
arch/x86/Kconfig.cpufeatures
arch/x86/entry/vdso/vdso32/system_call.S
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/centaur.c
arch/x86/kernel/cpu/common.c
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/cpu/zhaoxin.c
arch/x86/kernel/fred.c
arch/x86/xen/setup.c
arch/x86/xen/smp_pv.c
arch/x86/xen/xen-ops.h