]> git.zerfleddert.de Git - ms2-kexec/blobdiff - sys.c
update offsets to new european GB kernel, set software booting from USB
[ms2-kexec] / sys.c
diff --git a/sys.c b/sys.c
index 06b1c443d3710f335fff6f2b5cb63442c8274444..d637180ab75dc457ee50938d9d4adbc53ce728a1 100644 (file)
--- a/sys.c
+++ b/sys.c
 
 extern asmlinkage long (*original_reboot)(int magic1, int magic2, unsigned int cmd, void __user *arg);
 
+#if 1
+static struct notifier_block dummy_notifier_reboot = {
+         .notifier_call  = NULL,
+         .next           = NULL,
+         .priority       = INT_MAX
+};
+
+BLOCKING_NOTIFIER_HEAD(notifier_head);
+#endif
+
+
 void kernel_restart_prepare(char *cmd)
 {
+#if 0
 #warning assuming kernel_restart_prepare is at 0xc00779cc
        void (*original_kernel_restart_prepare)(char *) = (void (*)(char *))0xc00779cc;
+       //void (*original_kernel_restart_prepare)(char *) = (void (*)(char *))KERNEL_RESTART_PREPARE;
        return original_kernel_restart_prepare(cmd);
+#else
+       register_reboot_notifier(&dummy_notifier_reboot);
+       notifier_head.head=dummy_notifier_reboot.next;
+       unregister_reboot_notifier(&dummy_notifier_reboot);
+
+       blocking_notifier_call_chain(&notifier_head, SYS_RESTART, cmd);
+       system_state = SYSTEM_RESTART;
+       //device_shutdown();
+       //sysdev_shutdown();
+#endif
 }
 
 /*
Impressum, Datenschutz