xref: /openbmc/linux/arch/um/include/asm/xor.h (revision 0a94608f)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_UM_XOR_H
3 #define _ASM_UM_XOR_H
4 
5 #ifdef CONFIG_64BIT
6 #undef CONFIG_X86_32
7 #define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_sse_pf64))
8 #else
9 #define CONFIG_X86_32 1
10 #define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_8regs))
11 #endif
12 
13 #include <asm/cpufeature.h>
14 #include <../../x86/include/asm/xor.h>
15 #include <linux/time-internal.h>
16 
17 #ifdef CONFIG_UML_TIME_TRAVEL_SUPPORT
18 #undef XOR_SELECT_TEMPLATE
19 /* pick an arbitrary one - measuring isn't possible with inf-cpu */
20 #define XOR_SELECT_TEMPLATE(x)	\
21 	(time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x))
22 #endif
23 
24 #endif
25