s390/boot: change initial program check handler to disabled wait psw
authorHeiko Carstens <hca@linux.ibm.com>
Sun, 24 Apr 2022 13:52:01 +0000 (15:52 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 6 May 2022 18:45:15 +0000 (20:45 +0200)
The program check handler of the kernel image points to
startup_pgm_check_handler. However an early program check which happens
while loading the kernel image will jump to potentially random code, since
the code of the program check handler is not yet loaded; leading to a
program check loop.

Therefore initialize it to a disabled wait psw and let the startup code set
the proper psw when everything is in memory.

Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/boot/head.S

index 206fca8..0b2cec4 100644 (file)
@@ -69,7 +69,7 @@ __HEAD
        .org    __LC_EXT_NEW_PSW                # 0x1b0
        .quad   0x0002000180000000,0x1b0        # disabled wait
        .org    __LC_PGM_NEW_PSW                # 0x1d0
-       .quad   0x0000000180000000,startup_pgm_check_handler
+       .quad   0x0002000180000000,0x1d0        # disabled wait
        .org    __LC_IO_NEW_PSW                 # 0x1f0
        .quad   0x0002000180000000,0x1f0        # disabled wait