Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3671df85 authored by Andi Kleen's avatar Andi Kleen Committed by Andi Kleen
Browse files

[PATCH] i386: Evaluate constant cpu features at runtime



Redefine cpu_has() to evaluate cpu features already checked in early
boot at compile time.  This way the compiler might eliminate some dead code.
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent c7f81c94
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -106,8 +106,12 @@
#define X86_FEATURE_LAHF_LM	(6*32+ 0) /* LAHF/SAHF in long mode */
#define X86_FEATURE_LAHF_LM	(6*32+ 0) /* LAHF/SAHF in long mode */
#define X86_FEATURE_CMP_LEGACY	(6*32+ 1) /* If yes HyperThreading not valid */
#define X86_FEATURE_CMP_LEGACY	(6*32+ 1) /* If yes HyperThreading not valid */


#define cpu_has(c, bit)		test_bit(bit, (c)->x86_capability)
#define cpu_has(c, bit)					\
#define boot_cpu_has(bit)	test_bit(bit, boot_cpu_data.x86_capability)
	((__builtin_constant_p(bit) && (bit) < 32 && 	\
		(1UL << (bit)) & REQUIRED_MASK1) ?	\
		1 : 					\
	test_bit(bit, (c)->x86_capability))
#define boot_cpu_has(bit)	cpu_has(&boot_cpu_data, bit)


#define cpu_has_fpu		boot_cpu_has(X86_FEATURE_FPU)
#define cpu_has_fpu		boot_cpu_has(X86_FEATURE_FPU)
#define cpu_has_vme		boot_cpu_has(X86_FEATURE_VME)
#define cpu_has_vme		boot_cpu_has(X86_FEATURE_VME)