[S390] pfault: always enable service signal interrupt
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 26 May 2011 07:48:22 +0000 (09:48 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 26 May 2011 07:48:24 +0000 (09:48 +0200)
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>
arch/s390/mm/fault.c

index a0f9e730f26aec574eace4abac04c74eed59bf5c..e46ba2927424a4461acdd99b7963cd2b96b6a7c3 100644 (file)
@@ -485,7 +485,6 @@ int pfault_init(void)
                "2:\n"
                EX_TABLE(0b,1b)
                : "=d" (rc) : "a" (&refbk), "m" (refbk) : "cc");
-        __ctl_set_bit(0, 9);
         return rc;
 }
 
@@ -500,7 +499,6 @@ void pfault_fini(void)
 
        if (!MACHINE_IS_VM || pfault_disable)
                return;
-       __ctl_clear_bit(0,9);
        asm volatile(
                "       diag    %0,0,0x258\n"
                "0:\n"
@@ -615,6 +613,7 @@ static int __init pfault_irq_init(void)
        rc = pfault_init() == 0 ? 0 : -EOPNOTSUPP;
        if (rc)
                goto out_pfault;
+       ctl_set_bit(0, 9);
        hotcpu_notifier(pfault_cpu_notify, 0);
        return 0;