]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for SYS_PROFBUF.
authorLionel Sambuc <lionel@minix3.org>
Fri, 25 Jul 2014 17:53:10 +0000 (19:53 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:06:27 +0000 (17:06 +0200)
Change-Id: I10c1e878b0e3ff9bfc52709cc87dace632fa3e4f

include/minix/com.h
include/minix/ipc.h
kernel/system/do_profbuf.c
lib/libsys/sys_profbuf.c

index 513880e9e91d677f077473298e25efb8916f9fd9..e4d9da24f4a3ebfdc3aba482475bbe9371f4dd54 100644 (file)
 #define SMS_BYTES      m2_l2   /* bytes from offset */
 #define SMS_PATTERN    m2_i2   /* memset() pattern */
 
-/* Field names for SYS_SPROF, _CPROF, _PROFBUF. */
-#define PROF_CTL_PTR   m7_p1    /* location of info struct */
-#define PROF_MEM_PTR   m7_p2    /* location of profiling data */
-
 /* Field names for SYS_VMCTL. */
 #define SVMCTL_WHO     m1_i1
 #define SVMCTL_PARAM   m1_i2   /* All SYS_VMCTL requests. */
index 6a82405884b6eaaab07d37baf10acb1617190fad..4de52c274ac8764277e27b59a8a8ad614adc96ce 100644 (file)
@@ -146,6 +146,14 @@ typedef struct {
 } mess_lc_pm_cprof;
 _ASSERT_MSG_SIZE(mess_lc_pm_cprof);
 
+typedef struct {
+       vir_bytes ctl_ptr;
+       vir_bytes mem_ptr;
+
+       uint8_t padding[48];
+} mess_lsys_krn_sys_profbuf;
+_ASSERT_MSG_SIZE(mess_lsys_krn_sys_profbuf);
+
 typedef struct {
        endpoint_t endpt;
        int action;
@@ -2028,6 +2036,7 @@ typedef struct {
                mess_lc_pm_sprof        m_lc_pm_sprof;
                mess_lsys_krn_sys_diagctl m_lsys_krn_sys_diagctl;
                mess_lsys_krn_sys_cprof m_lsys_krn_sys_cprof;
+               mess_lsys_krn_sys_profbuf m_lsys_krn_sys_profbuf;
                mess_lsys_krn_sys_sprof m_lsys_krn_sys_sprof;
                mess_lsys_krn_readbios  m_lsys_krn_readbios;
                mess_pm_lsys_sigs_signal m_pm_lsys_sigs_signal;
index e82f500f6b18cf4f0b5e7de79d4d2ffbd5edc22a..13fa798b74ce8affe8aace3416068694e2edb793 100644 (file)
@@ -2,8 +2,8 @@
  *   m_type:    SYS_PROFBUF
  *
  * The parameters for this kernel call are:
- *    m7_p1:    PROF_CTL_PTR      (location of control struct)
- *    m7_p2:    PROF_MEM_PTR      (location of profiling table)
+ *     m_lsys_krn_sys_profbuf.ctl_ptr  (location of control struct)
+ *     m_lsys_krn_sys_profbuf.mem_ptr  (location of profiling table)
  *
  * Changes:
  *   14 Aug, 2006   Created (Rogier Meurs)
@@ -39,8 +39,8 @@ int do_profbuf(struct proc * caller, message * m_ptr)
   cprof_proc_info[cprof_procs_no].endpt = caller->p_endpoint;
   cprof_proc_info[cprof_procs_no].name = rp->p_name;
 
-  cprof_proc_info[cprof_procs_no].ctl_v = (vir_bytes) m_ptr->PROF_CTL_PTR;
-  cprof_proc_info[cprof_procs_no].buf_v = (vir_bytes) m_ptr->PROF_MEM_PTR;
+  cprof_proc_info[cprof_procs_no].ctl_v = m_ptr->m_lsys_krn_sys_profbuf.ctl_ptr;
+  cprof_proc_info[cprof_procs_no].buf_v = m_ptr->m_lsys_krn_sys_profbuf.mem_ptr;
 
   cprof_procs_no++;
 
@@ -48,4 +48,3 @@ int do_profbuf(struct proc * caller, message * m_ptr)
 }
 
 #endif /* CPROFILE */
-
index 834226722d990db206a8048e2e5cfbacaa870a11..a331684b7c3f31fa684686198b187d7a00809144 100644 (file)
@@ -9,8 +9,8 @@ void *mem_ptr;                          /* pointer to profiling table */
 {
   message m;
 
-  m.PROF_CTL_PTR       = ctl_ptr;
-  m.PROF_MEM_PTR       = mem_ptr;
+  m.m_lsys_krn_sys_profbuf.ctl_ptr = (vir_bytes)ctl_ptr;
+  m.m_lsys_krn_sys_profbuf.mem_ptr = (vir_bytes)mem_ptr;
 
   return(_kernel_call(SYS_PROFBUF, &m));
 }