s390/base: pass pt_regs to early program check handler
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 28 Feb 2022 12:31:33 +0000 (13:31 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 7 Mar 2022 23:33:00 +0000 (00:33 +0100)
commitcfa45c5e0d36b87f99e76f1060526eac032dd624
treeccbe4f026e3163c949a3db5bdabfa57cd68fc1e7
parent0741ec112ca67ea95dc8158a7bc7547ae36cbecc
s390/base: pass pt_regs to early program check handler

Pass pt_regs to early program check handler like it is done for every
other interrupt and exception handler.

Also the passed pt_regs can be changed by the called function and the
changes register contents and psw contents will be taken into account
when returning. In addition the return psw will not be copied to the
program check old psw in lowcore, but to the usual return psw
location, like it is also done by the regular program check handler.
This allows also to get rid of the code that disabled lowcore
protection when changing the return address.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/processor.h
arch/s390/kernel/base.S
arch/s390/kernel/early.c