diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-08-27 03:56:55 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-08-28 03:19:30 -0400 |
commit | 0628a5fbe1b5af35ef5346443ff1056e257a7350 (patch) | |
tree | 9a3d662bca1e9e12dfe7c618545e961f9d29e14d /arch/s390/kernel/ptrace.c | |
parent | 0196c642f76c469c17ca09d7f904bccc123bac09 (diff) |
s390/tx: allow program interruption filtering in user space
A user space program using the transactional execution facility
should be allowed to do program interrupt filtering. Do not set the
transactional-execution program-interruption-filtering override (PIFO)
bit in CR0.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/ptrace.c')
-rw-r--r-- | arch/s390/kernel/ptrace.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 2bc08039140f..9556905bd3ce 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c | |||
@@ -60,11 +60,11 @@ void update_cr_regs(struct task_struct *task) | |||
60 | 60 | ||
61 | __ctl_store(cr, 0, 2); | 61 | __ctl_store(cr, 0, 2); |
62 | cr_new[1] = cr[1]; | 62 | cr_new[1] = cr[1]; |
63 | /* Set or clear transaction execution TXC/PIFO bits 8 and 9. */ | 63 | /* Set or clear transaction execution TXC bit 8. */ |
64 | if (task->thread.per_flags & PER_FLAG_NO_TE) | 64 | if (task->thread.per_flags & PER_FLAG_NO_TE) |
65 | cr_new[0] = cr[0] & ~(3UL << 54); | 65 | cr_new[0] = cr[0] & ~(1UL << 55); |
66 | else | 66 | else |
67 | cr_new[0] = cr[0] | (3UL << 54); | 67 | cr_new[0] = cr[0] | (1UL << 55); |
68 | /* Set or clear transaction execution TDC bits 62 and 63. */ | 68 | /* Set or clear transaction execution TDC bits 62 and 63. */ |
69 | cr_new[2] = cr[2] & ~3UL; | 69 | cr_new[2] = cr[2] & ~3UL; |
70 | if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND) { | 70 | if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND) { |