summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/rescue-gui.c
diff options
context:
space:
mode:
authorArnaud Patard <rtp@mageia.org>2011-03-18 21:23:34 +0000
committerArnaud Patard <rtp@mageia.org>2011-03-18 21:23:34 +0000
commit3f1ae1f98b1555a485c096179dc08c732515e969 (patch)
treeb7fc57c72b035b772322cafdb17e4d10616204c5 /mdk-stage1/rescue-gui.c
parentfc56c220e2f73ad852c2507d4aee26e37b8b2ed1 (diff)
downloaddrakx-backup-do-not-use-3f1ae1f98b1555a485c096179dc08c732515e969.tar
drakx-backup-do-not-use-3f1ae1f98b1555a485c096179dc08c732515e969.tar.gz
drakx-backup-do-not-use-3f1ae1f98b1555a485c096179dc08c732515e969.tar.bz2
drakx-backup-do-not-use-3f1ae1f98b1555a485c096179dc08c732515e969.tar.xz
drakx-backup-do-not-use-3f1ae1f98b1555a485c096179dc08c732515e969.zip
- clean reboot syscall handling
Diffstat (limited to 'mdk-stage1/rescue-gui.c')
-rw-r--r--mdk-stage1/rescue-gui.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/mdk-stage1/rescue-gui.c b/mdk-stage1/rescue-gui.c
index a71a5ae91..e9cd2495e 100644
--- a/mdk-stage1/rescue-gui.c
+++ b/mdk-stage1/rescue-gui.c
@@ -34,7 +34,15 @@
#include "params.h"
#include <sys/syscall.h>
-#define reboot(...) syscall(__NR_reboot, __VA_ARGS__)
+
+#define LINUX_REBOOT_MAGIC1 0xfee1dead
+#define LINUX_REBOOT_MAGIC2 672274793
+#define BMAGIC_REBOOT 0x01234567
+
+static inline long reboot(void)
+{
+ return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, BMAGIC_REBOOT, 0);
+}
#if defined(__i386__) || defined(__x86_64__)
#define ENABLE_RESCUE_MS_BOOT 1
@@ -233,7 +241,7 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
sync(); sync();
printf("rebooting system\n");
sleep(2);
- reboot(0xfee1dead, 672274793, 0x01234567);
+ reboot();
}
if (ptr_begins_static_str(choice, doc)) {
binary = "/usr/bin/rescue-doc";