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