svn commit: r191877 - in head/sys: compat/linux modules/linux
Dmitry Chagin
dchagin at FreeBSD.org
Thu May 7 10:01:07 UTC 2009
Author: dchagin
Date: Thu May 7 10:01:05 2009
New Revision: 191877
URL: http://svn.freebsd.org/changeset/base/191877
Log:
Add preliminary KTR(9) support to the linux emulation layer.
Approved by: kib (mentor)
MFC after: 1 month
Modified:
head/sys/compat/linux/linux_mib.c
head/sys/compat/linux/linux_util.h
head/sys/modules/linux/Makefile
Modified: head/sys/compat/linux/linux_mib.c
==============================================================================
--- head/sys/compat/linux/linux_mib.c Thu May 7 09:39:20 2009 (r191876)
+++ head/sys/compat/linux/linux_mib.c Thu May 7 10:01:05 2009 (r191877)
@@ -318,7 +318,7 @@ linux_set_oss_version(struct thread *td,
return (0);
}
-#ifdef DEBUG
+#if defined(DEBUG) || defined(KTR)
u_char linux_debug_map[howmany(LINUX_SYS_MAXSYSCALL, sizeof(u_char))];
@@ -377,4 +377,4 @@ SYSCTL_PROC(_compat_linux, OID_AUTO, deb
0, 0, linux_sysctl_debug, "A",
"Linux debugging control");
-#endif /* DEBUG */
+#endif /* DEBUG || KTR */
Modified: head/sys/compat/linux/linux_util.h
==============================================================================
--- head/sys/compat/linux/linux_util.h Thu May 7 09:39:20 2009 (r191876)
+++ head/sys/compat/linux/linux_util.h Thu May 7 10:01:05 2009 (r191877)
@@ -106,4 +106,33 @@ int linux_driver_get_major_minor(char *n
char *linux_get_char_devices(void);
void linux_free_get_char_devices(char *string);
+#if defined(KTR)
+
+#define KTR_LINUX KTR_SUBSYS
+#define LINUX_CTRFMT(nm, fmt) #nm"("fmt")"
+
+#define LINUX_CTR6(f, m, p1, p2, p3, p4, p5, p6) do { \
+ if (ldebug(f)) \
+ CTR6(KTR_LINUX, LINUX_CTRFMT(f, m), \
+ p1, p2, p3, p4, p5, p6); \
+} while (0)
+
+#define LINUX_CTR(f) LINUX_CTR6(f, "", 0, 0, 0, 0, 0, 0)
+#define LINUX_CTR0(f, m) LINUX_CTR6(f, m, 0, 0, 0, 0, 0, 0)
+#define LINUX_CTR1(f, m, p1) LINUX_CTR6(f, m, p1, 0, 0, 0, 0, 0)
+#define LINUX_CTR2(f, m, p1, p2) LINUX_CTR6(f, m, p1, p2, 0, 0, 0, 0)
+#define LINUX_CTR3(f, m, p1, p2, p3) LINUX_CTR6(f, m, p1, p2, p3, 0, 0, 0)
+#define LINUX_CTR4(f, m, p1, p2, p3, p4) LINUX_CTR6(f, m, p1, p2, p3, p4, 0, 0)
+#define LINUX_CTR5(f, m, p1, p2, p3, p4, p5) LINUX_CTR6(f, m, p1, p2, p3, p4, p5, 0)
+#else
+#define LINUX_CTR(f)
+#define LINUX_CTR0(f, m)
+#define LINUX_CTR1(f, m, p1)
+#define LINUX_CTR2(f, m, p1, p2)
+#define LINUX_CTR3(f, m, p1, p2, p3)
+#define LINUX_CTR4(f, m, p1, p2, p3, p4)
+#define LINUX_CTR5(f, m, p1, p2, p3, p4, p5)
+#define LINUX_CTR6(f, m, p1, p2, p3, p4, p5, p6)
+#endif
+
#endif /* !_LINUX_UTIL_H_ */
Modified: head/sys/modules/linux/Makefile
==============================================================================
--- head/sys/modules/linux/Makefile Thu May 7 09:39:20 2009 (r191876)
+++ head/sys/modules/linux/Makefile Thu May 7 10:01:05 2009 (r191877)
@@ -55,6 +55,9 @@ linux${SFX}_genassym.o: linux${SFX}_gena
.if !defined(KERNBUILDDIR)
opt_inet6.h:
echo "#define INET6 1" > ${.TARGET}
+.if defined(KTR)
+CFLAGS+= -DKTR
+.endif
.endif
.include <bsd.kmod.mk>
More information about the svn-src-all
mailing list