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
commit51f081cd0ac8d1f895f39244747b96082a6d0a6a (patch)
treeb7fc57c72b035b772322cafdb17e4d10616204c5 /mdk-stage1/rescue-gui.c
parent2923175afa8b253cffdea00c1087c29e877d7fea (diff)
downloaddrakx-51f081cd0ac8d1f895f39244747b96082a6d0a6a.tar
drakx-51f081cd0ac8d1f895f39244747b96082a6d0a6a.tar.gz
drakx-51f081cd0ac8d1f895f39244747b96082a6d0a6a.tar.bz2
drakx-51f081cd0ac8d1f895f39244747b96082a6d0a6a.tar.xz
drakx-51f081cd0ac8d1f895f39244747b96082a6d0a6a.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";