/* 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)
} 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;
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;
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
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);
}
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.
*/
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);
}