Skip to content

Commit 5c8e10f

Browse files
Jiri KosinaVasily Gorbik
authored andcommitted
s390: mark __cpacf_query() as __always_inline
arch/s390/kvm/kvm-s390.c calls on several places __cpacf_query() directly, which makes it impossible to meet the "i" constraint for the asm operands (opcode in this case). As we are now force-enabling CONFIG_OPTIMIZE_INLINING on all architectures, this causes a build failure on s390: In file included from arch/s390/kvm/kvm-s390.c:44: ./arch/s390/include/asm/cpacf.h: In function '__cpacf_query': ./arch/s390/include/asm/cpacf.h:179:2: warning: asm operand 3 probably doesn't match constraints 179 | asm volatile( | ^~~ ./arch/s390/include/asm/cpacf.h:179:2: error: impossible constraint in 'asm' Mark __cpacf_query() as __always_inline in order to fix that, analogically how we fixes __cpacf_check_opcode(), cpacf_query_func() and scpacf_query() already. Reported-and-tested-by: Michal Kubecek <[email protected]> Fixes: d83623c ("s390: mark __cpacf_check_opcode() and cpacf_query_func() as __always_inline") Fixes: e60fb8b ("s390/cpacf: mark scpacf_query() as __always_inline") Fixes: ac7c3e4 ("compiler: enable CONFIG_OPTIMIZE_INLINING forcibly") Fixes: 9012d01 ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING") Signed-off-by: Jiri Kosina <[email protected]> Link: https://lore.kernel.org/lkml/[email protected] Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
1 parent 9f49443 commit 5c8e10f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/s390/include/asm/cpacf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ typedef struct { unsigned char bytes[16]; } cpacf_mask_t;
171171
*
172172
* Returns 1 if @func is available for @opcode, 0 otherwise
173173
*/
174-
static inline void __cpacf_query(unsigned int opcode, cpacf_mask_t *mask)
174+
static __always_inline void __cpacf_query(unsigned int opcode, cpacf_mask_t *mask)
175175
{
176176
register unsigned long r0 asm("0") = 0; /* query function */
177177
register unsigned long r1 asm("1") = (unsigned long) mask;

0 commit comments

Comments
 (0)