lkml.org 
[lkml]   [2021]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] x86/asm: fix gcc-5 enqcmds() build failure
From
Date

On 8/2/2021 7:53 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Building drivers/dma/idxd/submit.o with gcc-5.5 results in a cryptic
> error messages:
>
> arch/x86/include/asm/special_insns.h: Assembler messages:
> arch/x86/include/asm/special_insns.h:286: Error: operand size mismatch for `setz'
> make[5]: *** [scripts/Makefile.build:272: drivers/dma/idxd/submit.o] Error 1
>
> It seems that this happens for 32-bit arguments when the instruction
> expects an 8-bit argument. Change the type of the local variable
> accordingly to get a clean build.
>
> Fixes: 7f5933f81bd8 ("x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction")
> Fixes: 8e50d392652f ("dmaengine: idxd: Add shared workqueue support") # guessed
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Dave Jiang <dave.jiang@intel.com>

Thanks!

> ---
> arch/x86/include/asm/special_insns.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h
> index f3fbb84ff8a7..33264839f99e 100644
> --- a/arch/x86/include/asm/special_insns.h
> +++ b/arch/x86/include/asm/special_insns.h
> @@ -275,7 +275,7 @@ static inline int enqcmds(void __iomem *dst, const void *src)
> {
> const struct { char _[64]; } *__src = src;
> struct { char _[64]; } __iomem *__dst = dst;
> - int zf;
> + u8 zf;
>
> /*
> * ENQCMDS %(rdx), rax

\
 
 \ /
  Last update: 2021-08-02 17:24    [W:0.065 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site