On 08/10/2024 5:00 pm, Jan Beulich wrote:
> It's not unnecessary (as the earlier commit claimed): The integrated
> assembler of Clang up to 11 complains about an "invalid operand for
> instruction".
>
> Fixes: b42cf31d1165 ("x86: use alternative_input() in cache_flush()")
> Signed-off-by: Jan Beulich <jbeul...@suse.com>
>
> --- a/xen/arch/x86/flushtlb.c
> +++ b/xen/arch/x86/flushtlb.c
> @@ -286,7 +286,7 @@ void cache_flush(const void *addr, unsig
>           * + prefix than a clflush + nop, and hence the prefix is added 
> instead
>           * of letting the alternative framework fill the gap by appending 
> nops.
>           */
> -        alternative_input("ds clflush %[p]",
> +        alternative_input("ds; clflush %[p]",

/* Clang-IAS < 12 needs the semicolon */  which can probably fit on the
end of the line.

Or we stop supporting such old versions of Clang/LLVM.

~Andrew

Reply via email to