From 60877fb04a1a412a6c2144f9fae449652934a0be Mon Sep 17 00:00:00 2001 From: gatieme Date: Fri, 24 Mar 2017 16:33:43 +0800 Subject: [PATCH] ftrace_demo... --- study/kernel/tools/ftrace_demo/Makefile | 76 ++++++++++++++++++++ study/kernel/tools/ftrace_demo/ftrace_demo.c | 22 ++++++ 2 files changed, 98 insertions(+) create mode 100644 study/kernel/tools/ftrace_demo/Makefile create mode 100644 study/kernel/tools/ftrace_demo/ftrace_demo.c diff --git a/study/kernel/tools/ftrace_demo/Makefile b/study/kernel/tools/ftrace_demo/Makefile new file mode 100644 index 0000000..ebbf756 --- /dev/null +++ b/study/kernel/tools/ftrace_demo/Makefile @@ -0,0 +1,76 @@ +# ------------------------------------------------------------------------------ +# +# Makefile for the LDD-LinuxDeviceDrivers. +# +# Author: gatieme +# Create: 2016-07-29 15:50:46 +# Last modified: 2016-07-29 16:10:29 +# Description: +# This program is loaded as a kernel(v2.6.18 or later) module. +# Use "make install" to load it into kernel. +# Use "make remove" to remove the module out of kernel. +# +# ------------------------------------------------------------------------------ + + + +# my driver description +DRIVER_VERSION := "1.0.0" +DRIVER_AUTHOR := "Gatieme @ AderStep Inc..." +DRIVER_DESC := "Linux input module for Elo MultiTouch(MT) devices" +DRIVER_LICENSE := "Dual BSD/GPL" + + +MODULE_NAME := ftrace_demo +MODCFLAGS:=-O6 -Wall -DMODULE -D__KERNEL__ -DLINUX -std=c99 + +ifneq ($(KERNELRELEASE),) + +#CFG_FLAGS += -O2 -I./ +#EXTRA_CFLAGS += $(C_FLAGS) $(CFG_INC) $(CFG_INC) + + + +obj-m := $(MODULE_NAME).o #print_vmarea.o + +else + +KERNELDIR ?= /lib/modules/$(shell uname -r)/build + +PWD := $(shell pwd) + +modules: + make -C $(KERNELDIR) M=$(PWD) modules + +modules_install: + make -C $(KERNELDIR) M=$(PWD) modules_install + + + +insmod: + sudo insmod $(MODULE_NAME).ko + +reinsmod: + sudo rmmod $(MODULE_NAME) + sudo insmod $(MODULE_NAME).ko + +github: + cd $(ROOT) && make github + +rmmod: + sudo rmmod $(MODULE_NAME) + +test : + sudo ../injector/memInjector -l stack -m random -t word_0 --time 1 --timeout 3 -p 1 + +clean: + make -C $(KERNELDIR) M=$(PWD) clean + rm -f modules.order Module.symvers Module.markers + +.PHNOY: + modules modules_install clean + + + +endif + diff --git a/study/kernel/tools/ftrace_demo/ftrace_demo.c b/study/kernel/tools/ftrace_demo/ftrace_demo.c new file mode 100644 index 0000000..574d09c --- /dev/null +++ b/study/kernel/tools/ftrace_demo/ftrace_demo.c @@ -0,0 +1,22 @@ + /* + * ftrace_demo.c + */ + #include + #include + #include + + MODULE_LICENSE("GPL"); + + static int ftrace_demo_init(void) + { + trace_printk("Can not see this in trace unless loaded for the second time\n"); + return 0; + } + + static void ftrace_demo_exit(void) + { + trace_printk("Module unloading\n"); + } + + module_init(ftrace_demo_init); + module_exit(ftrace_demo_exit); \ No newline at end of file