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 <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
* + 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]",/* Semicolon for Clang-IAS < 12 */
"data16 clflush %[p]", /* clflushopt */
X86_FEATURE_CLFLUSHOPT,
[p] "m" (*(const char *)(addr)));