lkml.org 
[lkml]   [2021]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] x86/asm: fix gcc-5 enqcmds() build failure
Date
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>
---
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
--
2.29.2
\
 
 \ /
  Last update: 2021-08-02 16:54    [W:0.037 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site