[S390] zcore: CPU registers are not saved under LPAR
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Wed, 24 Mar 2010 10:49:50 +0000 (11:49 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Wed, 24 Mar 2010 10:49:53 +0000 (11:49 +0100)
commit92fe31329cb3a2b02f1c7616965872d6a34bcf08
tree678d046b5864d302e424a2377cf1974b95b1d1f8
parentae6be51ed01d6c4aaf249a207b4434bc7785853b
[S390] zcore: CPU registers are not saved under LPAR

To save the registers for all CPUs a sigp "store status" is done that
stores the registers to address absolute zero. To access storage at
absolute zero, normally the address of the prefix register of the
accessing CPU has to be used. This does not work when large pages are
active (currently only under LPAR). In order to fix that problem,
instead of memcpy memcpy_real is used, which switches to real mode
where prefixing works.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/system.h
arch/s390/kernel/smp.c
arch/s390/mm/maccess.c
drivers/s390/char/zcore.c