Skip to content

Commit 6082b2b

Browse files
committed
Message type for COMMON_REQ_GCOV_DATA.
Change-Id: I97d31059990e33411a685d5d8191c728a02e7d0f
1 parent d1e7847 commit 6082b2b

5 files changed

Lines changed: 21 additions & 13 deletions

File tree

include/minix/com.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -577,10 +577,6 @@
577577

578578
/* Common request to all processes: gcov data. */
579579
#define COMMON_REQ_GCOV_DATA (COMMON_RQ_BASE+1)
580-
# define GCOV_GRANT m1_i2
581-
# define GCOV_PID m1_i3
582-
# define GCOV_BUFF_P m1_p1
583-
# define GCOV_BUFF_SZ m1_i1
584580

585581
/* Common fault injection ctl request to all processes. */
586582
#define COMMON_REQ_FI_CTL (COMMON_RQ_BASE+2)

include/minix/ipc.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,16 @@ typedef struct {
101101
} mess_lsys_krn_readbios;
102102
_ASSERT_MSG_SIZE(mess_lsys_krn_readbios);
103103

104+
typedef struct {
105+
cp_grant_id_t grant;
106+
int pid;
107+
vir_bytes buff_p;
108+
size_t buff_sz;
109+
110+
uint8_t padding[40];
111+
} mess_lc_vfs_gcov;
112+
_ASSERT_MSG_SIZE(mess_lc_vfs_gcov);
113+
104114
typedef struct {
105115
off_t pos;
106116

@@ -2036,6 +2046,7 @@ typedef struct {
20362046
mess_lblockdriver_lbdev_reply m_lblockdriver_lbdev_reply;
20372047
mess_lc_pm_cprof m_lc_pm_cprof;
20382048
mess_lc_pm_sprof m_lc_pm_sprof;
2049+
mess_lc_vfs_gcov m_lc_vfs_gcov;
20392050
mess_lsys_krn_sys_diagctl m_lsys_krn_sys_diagctl;
20402051
mess_lsys_krn_sys_cprof m_lsys_krn_sys_cprof;
20412052
mess_lsys_krn_sys_profbuf m_lsys_krn_sys_profbuf;

lib/libc/sys-minix/gcov_flush.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ int gcov_flush_svr(char *buff, int buff_sz, int server_nr)
77
message m;
88

99
memset(&m, 0, sizeof(m));
10-
m.GCOV_BUFF_P = buff;
11-
m.GCOV_BUFF_SZ = buff_sz;
12-
m.GCOV_PID = server_nr;
10+
m.m_lc_vfs_gcov.buff_p = buff;
11+
m.m_lc_vfs_gcov.buff_sz = buff_sz;
12+
m.m_lc_vfs_gcov.pid = server_nr;
1313

1414
/* Make the call to server. It will call the gcov library,
1515
* buffer the stdio requests, and copy the buffer to this user

lib/libsys/gcov.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ int do_gcov_flush_impl(message *msg)
154154
assert(msg->m_type == COMMON_REQ_GCOV_DATA);
155155
assert(msg->m_source == VFS_PROC_NR);
156156

157-
replymsg.m_type = gcov_flush(msg->GCOV_GRANT, msg->GCOV_BUFF_SZ);
157+
replymsg.m_type = gcov_flush(msg->m_lc_vfs_gcov.grant,
158+
msg->m_lc_vfs_gcov.buff_sz);
158159
return ipc_send(msg->m_source, &replymsg);
159160
}
160161

servers/vfs/gcov.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ int do_gcov_flush()
2323
message m;
2424
vir_bytes buf;
2525

26-
size = job_m_in.GCOV_BUFF_SZ;
27-
target = job_m_in.GCOV_PID;
28-
buf = (vir_bytes) job_m_in.GCOV_BUFF_P;
26+
size = job_m_in.m_lc_vfs_gcov.buff_sz;
27+
target = job_m_in.m_lc_vfs_gcov.pid;
28+
buf = job_m_in.m_lc_vfs_gcov.buff_p;
2929

3030
/* If the wrong process is sent to, the system hangs; so make this root-only.
3131
*/
@@ -55,8 +55,8 @@ int do_gcov_flush()
5555
r = gcov_flush(grantid, size);
5656
} else {
5757
/* Perform generic GCOV request. */
58-
m.GCOV_GRANT = grantid;
59-
m.GCOV_BUFF_SZ = size;
58+
m.m_lc_vfs_gcov.grant = grantid;
59+
m.m_lc_vfs_gcov.buff_sz = size;
6060
r = _taskcall(rfp->fp_endpoint, COMMON_REQ_GCOV_DATA, &m);
6161
}
6262

0 commit comments

Comments
 (0)