From: Aleksandar Markovic <amarkovic@wavecomp.com>
KCOV_INIT_TRACE ioctl plays the role in kernel coverage tracing.
This ioctl's third argument is of type 'unsigned long', and the
implementation in QEMU is straightforward.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 39b3825..1da71dd 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -556,4 +556,5 @@
#ifdef CONFIG_KCOV
IOCTL(KCOV_ENABLE, 0, TYPE_NULL)
IOCTL(KCOV_DISABLE, 0, TYPE_NULL)
+ IOCTL(KCOV_INIT_TRACE, IOC_R, TYPE_ULONG)
#endif
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 87e390d..209c138 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2460,6 +2460,7 @@ struct target_mtpos {
/* kcov ioctls */
#define TARGET_KCOV_ENABLE TARGET_IO('c', 100)
#define TARGET_KCOV_DISABLE TARGET_IO('c', 101)
+#define TARGET_KCOV_INIT_TRACE TARGET_IOR('c', 1, abi_ulong)
struct target_sysinfo {
abi_long uptime; /* Seconds since boot */
--
2.7.4