]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for PM_REBOOT
authorLionel Sambuc <lionel@minix3.org>
Tue, 13 May 2014 12:27:52 +0000 (14:27 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:36 +0000 (17:05 +0200)
Change-Id: I8de1b0de1a4c79f60a7df4720943ed9d0a19725c

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/reboot.c
servers/pm/misc.c

index 51c9103c9b4d080ee87058faeb6707f5ca63854e..7a4031149c94e2c51603a97e3918dabca69f84d3 100644 (file)
 /* Field names for the getmcontext(2)/setmcontext(2) calls. */
 #define PM_MCONTEXT_CTX                m1_p1   /* mcontext_t * */
 
-/* Field names for the reboot(2) call. */
-#define PM_REBOOT_HOW          m1_i1   /* int */
-
 /*===========================================================================*
  *                             Calls to VFS                                 *
  *===========================================================================*/
index 77c854a6d2d10964d1d13d71f9c83896397727f6..03463e7efd62812f564509ca67e453cd3953cc6d 100644 (file)
@@ -188,6 +188,13 @@ typedef struct {
 } mess_pm_lc_ptrace;
 _ASSERT_MSG_SIZE(mess_pm_lc_ptrace);
 
+typedef struct {
+       int how;
+
+       uint8_t padding[52];
+} mess_lc_pm_reboot;
+_ASSERT_MSG_SIZE(mess_lc_pm_reboot);
+
 typedef struct {
        int req;
        int field;
@@ -1012,6 +1019,7 @@ typedef struct {
                mess_lc_pm_itimer       m_lc_pm_itimer;
                mess_lc_pm_priority     m_lc_pm_priority;
                mess_lc_pm_ptrace       m_lc_pm_ptrace;
+               mess_lc_pm_reboot       m_lc_pm_reboot;
                mess_lc_pm_sysuname     m_lc_pm_sysuname;
                mess_lc_pm_time         m_lc_pm_time;
                mess_lc_pm_waitpid      m_lc_pm_waitpid;
index 08a503e9247440ceb9d7317b1f56ce50b97cd441..54cf580ed65acd18b64e0d27e209bfd7edcc3d4c 100644 (file)
@@ -16,6 +16,6 @@ int reboot(int how, char *bootstr)
   message m;
 
   memset(&m, 0, sizeof(m));
-  m.PM_REBOOT_HOW = how;
+  m.m_lc_pm_reboot.how = how;
   return _syscall(PM_PROC_NR, PM_REBOOT, &m);
 }
index 8c1d32b54cc4bebbcb86d9c5bca0bfc063db648b..8649ad63958842f7a3d72a46d61b43af570a0415 100644 (file)
@@ -211,7 +211,7 @@ int do_reboot()
   if (mp->mp_effuid != SUPER_USER) return(EPERM);
 
   /* See how the system should be aborted. */
-  abort_flag = (unsigned) m_in.PM_REBOOT_HOW;
+  abort_flag = m_in.m_lc_pm_reboot.how;
 
   /* notify readclock (some arm systems power off via RTC alarms) */
   if (abort_flag & RB_POWERDOWN) {