[S390] s390: fix single stepping on svc0
authorChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 13 Nov 2009 14:43:54 +0000 (15:43 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Fri, 13 Nov 2009 14:45:03 +0000 (15:45 +0100)
commitbcc6525fb23d2cec7ffdf908d98826a66823bcb2
treebf5bc71446c3ad861db386ca68e9221309f6ca8b
parent8b94c1ed4d8232a452aa9db0f5ac9141d942590f
[S390] s390: fix single stepping on svc0

On s390 there are two ways of specifying the system call number for
the svc instruction. The standard way is to use the immediate field
in the instruction (or to use EXecute for values unknown during
assemble time). This can encode 256 system calls.
The kernel ABI also allows to put the system call number in r1 and
then execute svc 0 to enable system call numbers > 255.

It turns out that single stepping svc 0 is broken, since the PER
program check handler uses r1. We have to use a different register.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S