cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / linux / kcov.h
diff --git a/i686-linux-gnu-4.7/usr/include/linux/kcov.h b/i686-linux-gnu-4.7/usr/include/linux/kcov.h
new file mode 100644 (file)
index 0000000..9529867
--- /dev/null
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_KCOV_IOCTLS_H
+#define _LINUX_KCOV_IOCTLS_H
+
+#include <linux/types.h>
+
+#define KCOV_INIT_TRACE                        _IOR('c', 1, unsigned long)
+#define KCOV_ENABLE                    _IO('c', 100)
+#define KCOV_DISABLE                   _IO('c', 101)
+
+enum {
+       /*
+        * Tracing coverage collection mode.
+        * Covered PCs are collected in a per-task buffer.
+        * In new KCOV version the mode is chosen by calling
+        * ioctl(fd, KCOV_ENABLE, mode). In older versions the mode argument
+        * was supposed to be 0 in such a call. So, for reasons of backward
+        * compatibility, we have chosen the value KCOV_TRACE_PC to be 0.
+        */
+       KCOV_TRACE_PC = 0,
+       /* Collecting comparison operands mode. */
+       KCOV_TRACE_CMP = 1,
+};
+
+/*
+ * The format for the types of collected comparisons.
+ *
+ * Bit 0 shows whether one of the arguments is a compile-time constant.
+ * Bits 1 & 2 contain log2 of the argument size, up to 8 bytes.
+ */
+#define KCOV_CMP_CONST          (1 << 0)
+#define KCOV_CMP_SIZE(n)        ((n) << 1)
+#define KCOV_CMP_MASK           KCOV_CMP_SIZE(3)
+
+#endif /* _LINUX_KCOV_IOCTLS_H */