]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for SYS_ABORT
authorLionel Sambuc <lionel@minix3.org>
Wed, 21 May 2014 14:52:18 +0000 (16:52 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:46 +0000 (17:05 +0200)
Change-Id: Ic24a4779cc7955cb94f81fec58a358057ca85cb1

include/minix/com.h
include/minix/ipc.h
kernel/system/do_abort.c
lib/libsys/sys_abort.c

index 4b3f5253b6f34f6de5a519b13d83f378be4c25db..1e9a9ba19211eb7f49fdf715aabf4becb33c43f4 100644 (file)
 #  define IRQ_WORD      0x200  /* word values */
 #  define IRQ_LONG      0x400  /* long values */
 
-/* Field names for SYS_ABORT. */
-#define ABRT_HOW       m1_i1   /* RBT_REBOOT, RBT_HALT, etc. */
-
 /* Field names for SYS_IOPENABLE. */
 #define IOP_ENDPT      m2_l1   /* target endpoint */
 
index 4a9e728ce88e92b0d4c5b51694017af27886dab4..c3c7053ccacbb770ca99881cc22a2b3c2908e108 100644 (file)
@@ -700,6 +700,13 @@ typedef struct {
 } mess_lsys_krn_schedctl;
 _ASSERT_MSG_SIZE(mess_lsys_krn_schedctl);
 
+typedef struct {
+       int how;
+
+       uint8_t padding[52];
+} mess_lsys_krn_sys_abort;
+_ASSERT_MSG_SIZE(mess_lsys_krn_sys_abort);
+
 typedef struct {
        int request;
        int vector;
@@ -1481,6 +1488,7 @@ typedef struct {
 
                mess_lsys_krn_schedctl  m_lsys_krn_schedctl;
                mess_lsys_krn_schedule  m_lsys_krn_schedule;
+               mess_lsys_krn_sys_abort m_lsys_krn_sys_abort;
                mess_lsys_krn_sys_irqctl m_lsys_krn_sys_irqctl;
                mess_lsys_krn_sys_memset m_lsys_krn_sys_memset;
                mess_lsys_krn_sys_sdevio m_lsys_krn_sys_sdevio;
index c95a5d28e1d88861f641ab1d311ab41b7b210d0d..64e9d57db7e7c096c3f80a68eba5a41f95d3e6e2 100644 (file)
@@ -2,7 +2,7 @@
  *   m_type:   SYS_ABORT
  *
  * The parameters for this kernel call are:
- *    m1_i1:   ABRT_HOW        (how to abort, possibly fetch monitor params)   
+ *   m_lsys_krn_sys_abort.how  (how to abort, possibly fetch monitor params)
  */
 
 #include "kernel/system.h"
@@ -18,7 +18,7 @@ int do_abort(struct proc * caller, message * m_ptr)
 /* Handle sys_abort. MINIX is unable to continue. This can originate e.g.
  * in the PM (normal abort) or TTY (after CTRL-ALT-DEL).
  */
-  int how = m_ptr->ABRT_HOW;
+  int how = m_ptr->m_lsys_krn_sys_abort.how;
 
   /* Now prepare to shutdown MINIX. */
   prepare_shutdown(how);
index a9403e54f2e8e45d70f214349ed788a7898c3723..547bd9d3c1a6d547277eee710a453f834c362603 100644 (file)
@@ -8,6 +8,6 @@ int sys_abort(int how)
 
   message m;
 
-  m.ABRT_HOW = how;
+  m.m_lsys_krn_sys_abort.how = how;
   return(_kernel_call(SYS_ABORT, &m));
 }