svn commit: r340002 - in stable/12/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src modules/linuxkpi

Hans Petter Selasky hselasky at FreeBSD.org
Thu Nov 1 15:47:09 UTC 2018


Author: hselasky
Date: Thu Nov  1 15:47:07 2018
New Revision: 340002
URL: https://svnweb.freebsd.org/changeset/base/340002

Log:
  MFC r339924:
  Implement the dump_stack() function in the LinuxKPI.
  
  Approved by:		re (gjb)
  Submitted by:		Johannes Lundberg <johalun0 at gmail.com>
  Sponsored by:		Mellanox Technologies

Modified:
  stable/12/sys/compat/linuxkpi/common/include/linux/kernel.h
  stable/12/sys/compat/linuxkpi/common/src/linux_compat.c
  stable/12/sys/modules/linuxkpi/Makefile
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/compat/linuxkpi/common/include/linux/kernel.h
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/include/linux/kernel.h	Thu Nov  1 15:40:57 2018	(r340001)
+++ stable/12/sys/compat/linuxkpi/common/include/linux/kernel.h	Thu Nov  1 15:47:07 2018	(r340002)
@@ -138,6 +138,9 @@
 #define	printk(...)		printf(__VA_ARGS__)
 #define	vprintk(f, a)		vprintf(f, a)
 
+extern void linux_dump_stack(void);
+#define	dump_stack()		linux_dump_stack()
+
 struct va_format {
 	const char *fmt;
 	va_list *va;

Modified: stable/12/sys/compat/linuxkpi/common/src/linux_compat.c
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/src/linux_compat.c	Thu Nov  1 15:40:57 2018	(r340001)
+++ stable/12/sys/compat/linuxkpi/common/src/linux_compat.c	Thu Nov  1 15:47:07 2018	(r340002)
@@ -30,6 +30,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_stack.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/malloc.h>
@@ -46,6 +48,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/filio.h>
 #include <sys/rwlock.h>
 #include <sys/mman.h>
+#include <sys/stack.h>
 
 #include <vm/vm.h>
 #include <vm/pmap.h>
@@ -2205,6 +2208,18 @@ __unregister_chrdev(unsigned int major, unsigned int b
 		if (cdevp != NULL)
 			cdev_del(cdevp);
 	}
+}
+
+void
+linux_dump_stack(void)
+{
+#ifdef STACK
+	struct stack st;
+
+	stack_zero(&st);
+	stack_save(&st);
+	stack_print(&st);
+#endif
 }
 
 #if defined(__i386__) || defined(__amd64__)

Modified: stable/12/sys/modules/linuxkpi/Makefile
==============================================================================
--- stable/12/sys/modules/linuxkpi/Makefile	Thu Nov  1 15:40:57 2018	(r340001)
+++ stable/12/sys/modules/linuxkpi/Makefile	Thu Nov  1 15:47:07 2018	(r340002)
@@ -24,7 +24,8 @@ SRCS+=	bus_if.h \
 	pci_if.h \
 	vnode_if.h \
 	usb_if.h \
-	opt_usb.h
+	opt_usb.h \
+	opt_stack.h
 
 CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include
 CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include


More information about the svn-src-all mailing list