Skip to content

Commit aceb06d

Browse files
committed
s390/head: initialize all new psws
Initialize all new psws with disabled wait psws, except for the restart new psw. This way every unexpected exception, svc, machine check, or interrupt is handled properly. Reviewed-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
1 parent 84f4e1d commit aceb06d

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

arch/s390/boot/head.S

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,22 @@ __HEAD
6464
.long 0x02000690,0x60000050
6565
.long 0x020006e0,0x20000050
6666

67-
.org __LC_RST_NEW_PSW # 0x1a0
67+
# The restart psw points to ipl_entry, which allows to load a kernel image
68+
# into memory and starting it by a psw restart on any cpu.
69+
# All other default psw new locations contain a disabled wait psw where the
70+
# address indicates which psw was loaded.
71+
.org __LC_RST_NEW_PSW
6872
.quad 0,IPL_START
69-
.org __LC_EXT_NEW_PSW # 0x1b0
70-
.quad 0x0002000180000000,0x1b0 # disabled wait
71-
.org __LC_PGM_NEW_PSW # 0x1d0
72-
.quad 0x0002000180000000,0x1d0 # disabled wait
73-
.org __LC_IO_NEW_PSW # 0x1f0
74-
.quad 0x0002000180000000,0x1f0 # disabled wait
73+
.org __LC_EXT_NEW_PSW
74+
.quad 0x0002000180000000,__LC_EXT_NEW_PSW
75+
.org __LC_SVC_NEW_PSW
76+
.quad 0x0002000180000000,__LC_SVC_NEW_PSW
77+
.org __LC_PGM_NEW_PSW
78+
.quad 0x0002000180000000,__LC_PGM_NEW_PSW
79+
.org __LC_MCK_NEW_PSW
80+
.quad 0x0002000180000000,__LC_MCK_NEW_PSW
81+
.org __LC_IO_NEW_PSW
82+
.quad 0x0002000180000000,__LC_IO_NEW_PSW
7583

7684
.org IPL_START
7785
ipl_start:

0 commit comments

Comments
 (0)