um: fix and optimize xor select template for CONFIG64 and timetravel mode
authorBenjamin Beichler <benjamin.beichler@uni-rostock.de>
Tue, 11 Jan 2022 20:05:06 +0000 (20:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Apr 2022 18:58:59 +0000 (20:58 +0200)
commitb257272f5483eaa0b2e5139d3ac2299e2cfd6100
treeadc9739d4557844550b82b3246d873bb1b58175f
parent2be1a7f09635031aab33b7400d3c991876b74b5d
um: fix and optimize xor select template for CONFIG64 and timetravel mode

[ Upstream commit e3a33af812c611d99756e2ec61e9d7068d466bdf ]

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: c0ecca6604b8 ("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>
arch/um/include/asm/xor.h