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