s390/entry: add assembler macro to conveniently tests under mask
authorHendrik Brueckner <brueckner@linux.vnet.ibm.com>
Thu, 1 Oct 2015 15:02:48 +0000 (17:02 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 14 Oct 2015 12:32:09 +0000 (14:32 +0200)
commit83abeffbd5dece88129a67f736bdd43a40eccbb1
tree093041e21c539eb59a649911206e87bb4d39764c
parent0ac277790ec938087c9047bc7b1b4f30a65406cd
s390/entry: add assembler macro to conveniently tests under mask

Various functions in entry.S perform test-under-mask instructions
to test for particular bits in memory.  Because test-under-mask uses
a mask value of one byte, the mask value and the offset into the
memory must be calculated manually.  This easily introduces errors
and is hard to review and read.

Introduce the TSTMSK assembler macro to specify a mask constant and
let the macro calculate the offset and the byte mask to generate a
test-under-mask instruction.  The benefit is that existing symbolic
constants can now be used for tests.  Also the macro checks for
zero mask values and mask values that consist of multiple bytes.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/nmi.h
arch/s390/include/asm/setup.h
arch/s390/kernel/entry.S