]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
s390/cpumf: get rid of variable length array
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 14 Dec 2016 12:45:07 +0000 (13:45 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 16 Jan 2017 06:27:51 +0000 (07:27 +0100)
commite3850ecfc17ea8e23c02368a24fc23be129fb3b0
tree4078afd577d686ae0b3b1090c1e2b4615518d936
parent1d9995771fcbdd70d975b8dac4a201e76c9a2537
s390/cpumf: get rid of variable length array

The stcctm5 inline assembly uses a variable length array to specify
the memory that is written to.  According to the gcc manual this trick
only works if the length is known at compile time. This is not the the
case for the stccm5 inline assembly.

Therefore simply use a full memory clobber. As requested by Martin
also move the output Q constraint operand to the input operands list,
since all we want is that the compiler generates an instruction that
may use the displacement field: in other words we only need the
address of *val. That the inline assembly actually writes to an array
starting at val is taken care of with the memory clobber.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/cpu_mf.h