]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for COMMON_REQ_GCOV_DATA.
authorLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 08:44:15 +0000 (10:44 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:06:28 +0000 (17:06 +0200)
Change-Id: I97d31059990e33411a685d5d8191c728a02e7d0f

include/minix/com.h
include/minix/ipc.h
lib/libc/sys-minix/gcov_flush.c
lib/libsys/gcov.c
servers/vfs/gcov.c

index 7736a62b2ba9fb048df8f6c8bf06ba9923083624..9b5d22b2499061115296e29a3d60b6557b33f76c 100644 (file)
 
 /* Common request to all processes: gcov data. */
 #define COMMON_REQ_GCOV_DATA (COMMON_RQ_BASE+1)
-#      define GCOV_GRANT   m1_i2
-#      define GCOV_PID     m1_i3
-#      define GCOV_BUFF_P  m1_p1
-#      define GCOV_BUFF_SZ m1_i1
 
 /* Common fault injection ctl request to all processes. */
 #define COMMON_REQ_FI_CTL (COMMON_RQ_BASE+2)
index 62780da73edfa98b15636f73c0d1b580d5050aee..c6460911dbe98769182700065da6df6593396e39 100644 (file)
@@ -101,6 +101,16 @@ typedef struct {
 } mess_lsys_krn_readbios;
 _ASSERT_MSG_SIZE(mess_lsys_krn_readbios);
 
+typedef struct {
+       cp_grant_id_t grant;
+       int pid;
+       vir_bytes buff_p;
+       size_t buff_sz;
+
+       uint8_t padding[40];
+} mess_lc_vfs_gcov;
+_ASSERT_MSG_SIZE(mess_lc_vfs_gcov);
+
 typedef struct {
        off_t pos;
 
@@ -2036,6 +2046,7 @@ typedef struct {
                mess_lblockdriver_lbdev_reply m_lblockdriver_lbdev_reply;
                mess_lc_pm_cprof        m_lc_pm_cprof;
                mess_lc_pm_sprof        m_lc_pm_sprof;
+               mess_lc_vfs_gcov        m_lc_vfs_gcov;
                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;
index 2f9058a9bf8f56f1ea4229de7ba35a29a679e21b..2382d6b0aaed9ad5991845c999eebe53c1cbf4f1 100644 (file)
@@ -7,9 +7,9 @@ int gcov_flush_svr(char *buff, int buff_sz, int server_nr)
        message m;
 
        memset(&m, 0, sizeof(m));
-       m.GCOV_BUFF_P = buff;
-       m.GCOV_BUFF_SZ = buff_sz;
-       m.GCOV_PID = server_nr;
+       m.m_lc_vfs_gcov.buff_p = buff;
+       m.m_lc_vfs_gcov.buff_sz = buff_sz;
+       m.m_lc_vfs_gcov.pid = server_nr;
 
        /* Make the call to server. It will call the gcov library,
         * buffer the stdio requests, and copy the buffer to this user
index 1e2d71b6d483a13fa35f2fa53542805b0e0d3f5b..8f17068287f0e8c26029c41e7655d237a52fc93f 100644 (file)
@@ -154,7 +154,8 @@ int do_gcov_flush_impl(message *msg)
        assert(msg->m_type == COMMON_REQ_GCOV_DATA);
        assert(msg->m_source == VFS_PROC_NR);
 
-       replymsg.m_type = gcov_flush(msg->GCOV_GRANT, msg->GCOV_BUFF_SZ);
+       replymsg.m_type = gcov_flush(msg->m_lc_vfs_gcov.grant,
+               msg->m_lc_vfs_gcov.buff_sz);
        return ipc_send(msg->m_source, &replymsg);
 }
 
index 642fe558abb28e67a5f8e97431a72c049f526083..7d1c1e7ab07437a0f29197706378d6f0300679e5 100644 (file)
@@ -23,9 +23,9 @@ int do_gcov_flush()
   message m;
   vir_bytes buf;
 
-  size = job_m_in.GCOV_BUFF_SZ;
-  target = job_m_in.GCOV_PID;
-  buf = (vir_bytes) job_m_in.GCOV_BUFF_P;
+  size = job_m_in.m_lc_vfs_gcov.buff_sz;
+  target = job_m_in.m_lc_vfs_gcov.pid;
+  buf = job_m_in.m_lc_vfs_gcov.buff_p;
 
   /* If the wrong process is sent to, the system hangs; so make this root-only.
    */
@@ -55,8 +55,8 @@ int do_gcov_flush()
        r = gcov_flush(grantid, size);
   } else {
        /* Perform generic GCOV request. */
-       m.GCOV_GRANT = grantid;
-       m.GCOV_BUFF_SZ = size;
+       m.m_lc_vfs_gcov.grant = grantid;
+       m.m_lc_vfs_gcov.buff_sz = size;
        r = _taskcall(rfp->fp_endpoint, COMMON_REQ_GCOV_DATA, &m);
   }