s390/lowcore: reserve 96 bytes for IRB in lowcore
authorChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 26 May 2014 19:55:08 +0000 (21:55 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 28 May 2014 08:38:59 +0000 (10:38 +0200)
commit993072ee67aa179c48c85eb19869804e68887d86
treeb8d3739a32da8030ed819b14f9b14c28f7f2299a
parent6eb58d9bc113b9d3f97b710d9e5c1bc4f5044768
s390/lowcore: reserve 96 bytes for IRB in lowcore

The IRB might be 96 bytes if the extended-I/O-measurement facility is
used. This feature is currently not used by Linux, but struct irb
already has the emw defined. So let's make the irb in lowcore match the
size of the internal data structure to be future proof.
We also have to add a pad, to correctly align the paste.

The bigger irb field also circumvents a bug in some QEMU versions that
always write the emw field on test subchannel and therefore destroy the
paste definitions of this CPU. Running under these QEMU version broke
some timing functions in the VDSO and all users of these functions,
e.g. some JREs.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: stable@vger.kernel.org
arch/s390/include/asm/lowcore.h