s390: add SMT support
[firefly-linux-kernel-4.4.55.git] / arch / s390 / kernel / ipl.c
index 39badb9ca0b30c6b7b32ce720165e85c3c33319a..5c8651f3650937c06c8cfcd0f306104b89435b59 100644 (file)
@@ -2074,7 +2074,8 @@ static void do_reset_calls(void)
 
 u32 dump_prefix_page;
 
-void s390_reset_system(void (*func)(void *), void *data)
+void s390_reset_system(void (*fn_pre)(void),
+                      void (*fn_post)(void *), void *data)
 {
        struct _lowcore *lc;
 
@@ -2112,7 +2113,11 @@ void s390_reset_system(void (*func)(void *), void *data)
        /* Store status at absolute zero */
        store_status();
 
+       /* Call function before reset */
+       if (fn_pre)
+               fn_pre();
        do_reset_calls();
-       if (func)
-               func(data);
+       /* Call function after reset */
+       if (fn_post)
+               fn_post(data);
 }