X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-kexec/blobdiff_plain/4e93cb000786b18ffd9929f33055cad2a7cebbcf..HEAD:/sys.c diff --git a/sys.c b/sys.c index 611276b..d637180 100644 --- a/sys.c +++ b/sys.c @@ -46,6 +46,7 @@ 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, @@ -53,18 +54,26 @@ static struct notifier_block dummy_notifier_reboot = { }; 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(¬ifier_head, SYS_RESTART, cmd); system_state = SYSTEM_RESTART; -// device_shutdown(); -// sysdev_shutdown(); + //device_shutdown(); + //sysdev_shutdown(); +#endif } /*