aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/mm/fault.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-05-26 03:48:22 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2011-05-26 03:48:24 -0400
commit902050bcdece6191565c055539e82c5cc534feed (patch)
tree5da860ead6daaa841e0234d66930d5d0791b2224 /arch/s390/mm/fault.c
parent4db70f73e56961b9bcdfd0c36c62847a18b7dbb5 (diff)
[S390] pfault: always enable service signal interrupt
Always enable the service signal subclass mask bit in cr0, if pfault is available. That way we use the normal cpu hotplug way to propagate the subclass mask bit in cr0 instead of open coding it. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/mm/fault.c')
-rw-r--r--arch/s390/mm/fault.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index a0f9e730f26a..e46ba2927424 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -485,7 +485,6 @@ int pfault_init(void)
485 "2:\n" 485 "2:\n"
486 EX_TABLE(0b,1b) 486 EX_TABLE(0b,1b)
487 : "=d" (rc) : "a" (&refbk), "m" (refbk) : "cc"); 487 : "=d" (rc) : "a" (&refbk), "m" (refbk) : "cc");
488 __ctl_set_bit(0, 9);
489 return rc; 488 return rc;
490} 489}
491 490
@@ -500,7 +499,6 @@ void pfault_fini(void)
500 499
501 if (!MACHINE_IS_VM || pfault_disable) 500 if (!MACHINE_IS_VM || pfault_disable)
502 return; 501 return;
503 __ctl_clear_bit(0,9);
504 asm volatile( 502 asm volatile(
505 " diag %0,0,0x258\n" 503 " diag %0,0,0x258\n"
506 "0:\n" 504 "0:\n"
@@ -615,6 +613,7 @@ static int __init pfault_irq_init(void)
615 rc = pfault_init() == 0 ? 0 : -EOPNOTSUPP; 613 rc = pfault_init() == 0 ? 0 : -EOPNOTSUPP;
616 if (rc) 614 if (rc)
617 goto out_pfault; 615 goto out_pfault;
616 ctl_set_bit(0, 9);
618 hotcpu_notifier(pfault_cpu_notify, 0); 617 hotcpu_notifier(pfault_cpu_notify, 0);
619 return 0; 618 return 0;
620 619