GNU Linux-libre 6.9.1-gnu
[releases.git] / arch / um / include / asm / xor.h
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