mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 02:50:43 +00:00
um: fix and optimize xor select template for CONFIG64 and timetravel mode
[ Upstream commite3a33af812
] Due to dropped inclusion of asm-generic/xor.h, xor_block_8regs symbol is missing with CONFIG64 and break compilation, as the asm/xor_64.h also did not include it. The patch recreate the logic from arch/x86, which check whether AVX is available and add fallbacks for 32bit and 64bit config of um. A very minor additional "fix" is, the return of the macro parameter instead of NULL, as this is the original intent of the macro, but this does not change the actual behavior. Fixes:c0ecca6604
("um: enable the use of optimized xor routines in UML") Signed-off-by: Benjamin Beichler <benjamin.beichler@uni-rostock.de> Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com> Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
2be1a7f096
commit
b257272f54
1 changed files with 3 additions and 1 deletions
|
@ -4,8 +4,10 @@
|
||||||
|
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
#undef CONFIG_X86_32
|
#undef CONFIG_X86_32
|
||||||
|
#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_sse_pf64))
|
||||||
#else
|
#else
|
||||||
#define CONFIG_X86_32 1
|
#define CONFIG_X86_32 1
|
||||||
|
#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_8regs))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <asm/cpufeature.h>
|
#include <asm/cpufeature.h>
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
#undef XOR_SELECT_TEMPLATE
|
#undef XOR_SELECT_TEMPLATE
|
||||||
/* pick an arbitrary one - measuring isn't possible with inf-cpu */
|
/* pick an arbitrary one - measuring isn't possible with inf-cpu */
|
||||||
#define XOR_SELECT_TEMPLATE(x) \
|
#define XOR_SELECT_TEMPLATE(x) \
|
||||||
(time_travel_mode == TT_MODE_INFCPU ? &xor_block_8regs : NULL)
|
(time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue