• Heiko Carstens's avatar
    s390/cpumf: get rid of variable length array · e3850ecf
    Heiko Carstens authored
    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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    e3850ecf
cpu_mf.h 8.71 KB