From patchwork Mon Mar 30 23:47:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Olivari X-Patchwork-Id: 456404 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id BC2FD140077 for ; Tue, 31 Mar 2015 10:51:15 +1100 (AEDT) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 5B5BC28C67D; Tue, 31 Mar 2015 01:48:20 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00, T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 032A52801E8 for ; Tue, 31 Mar 2015 01:47:53 +0200 (CEST) X-policyd-weight: using cached result; rate:hard: -7.6 Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Tue, 31 Mar 2015 01:47:46 +0200 (CEST) Received: from smtp.codeaurora.org (localhost [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id EA771141869; Mon, 30 Mar 2015 23:48:23 +0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 486) id DAC9614186E; Mon, 30 Mar 2015 23:48:23 +0000 (UTC) Received: from mathieu-linux.qualcomm.com (qf-scl1nat.qualcomm.com [207.114.132.30]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: mathieu@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 989C1141869; Mon, 30 Mar 2015 23:48:21 +0000 (UTC) From: Mathieu Olivari To: openwrt-devel@lists.openwrt.org, blogic@openwrt.org Date: Mon, 30 Mar 2015 16:47:58 -0700 Message-Id: <1427759279-2303-4-git-send-email-mathieu@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1427759279-2303-1-git-send-email-mathieu@codeaurora.org> References: <1427759279-2303-1-git-send-email-mathieu@codeaurora.org> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [OpenWrt-Devel] [PATCH 4/5] config: add an option to enable KPROBE X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" Signed-off-by: Mathieu Olivari --- config/Config-kernel.in | 17 +++++++++++++++++ include/kernel-defaults.mk | 1 - target/linux/generic/config-3.10 | 4 ++++ target/linux/generic/config-3.14 | 4 ++++ target/linux/generic/config-3.18 | 4 ++++ target/linux/generic/config-4.0 | 4 ++++ 6 files changed, 33 insertions(+), 1 deletion(-) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 8471129..cc8df5a 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -127,6 +127,23 @@ config KERNEL_EARLY_PRINTK debugging purposes to send messages over the serial console in early boot. Enable this to debug early boot problems. +config KERNEL_KPROBES + bool "Compile the kernel with kprobes support" + default n + select KERNEL_FTRACE + select KERNEL_PERF_EVENTS + help + Compiles the kernel with KPROBES support, which allows you to trap + at almost any kernel address and execute a callback function. + register_kprobe() establishes a probepoint and specifies the + callback. Kprobes is useful for kernel debugging, non-intrusive + instrumentation and testing. + If in doubt, say "N". + +config KERNEL_KPROBE_EVENT + bool + default y if KERNEL_KPROBES + config KERNEL_AIO bool "Compile the kernel with asynchronous IO support" default n diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 3a32209..24d2630 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -107,7 +107,6 @@ define Kernel/Configure/Default echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target - echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config $(call Kernel/SetNoInitramfs) diff --git a/target/linux/generic/config-3.10 b/target/linux/generic/config-3.10 index 4ccc969..c16d04b 100644 --- a/target/linux/generic/config-3.10 +++ b/target/linux/generic/config-3.10 @@ -204,6 +204,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y # CONFIG_ARM_ERRATA_764369 is not set # CONFIG_ARM_ERRATA_775420 is not set # CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_KPROBES_TEST is not set # CONFIG_ARM_PATCH_PHYS_VIRT is not set # CONFIG_ARM_PSCI is not set # CONFIG_ARM_UNWIND is not set @@ -1551,6 +1552,7 @@ CONFIG_KERNEL_XZ=y # CONFIG_KGDB is not set # CONFIG_KMEMCHECK is not set # CONFIG_KPROBES is not set +# CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set # CONFIG_KS8851_MLL is not set @@ -2172,6 +2174,7 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_SFQ is not set # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_TCPPROBE is not set # CONFIG_NET_TEAM is not set # CONFIG_NET_TULIP is not set CONFIG_NET_VENDOR_3COM=y @@ -2569,6 +2572,7 @@ CONFIG_PPP_MULTILINK=y # CONFIG_PPTP is not set # CONFIG_PREEMPT is not set CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_TRACER is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_PRINTK=y diff --git a/target/linux/generic/config-3.14 b/target/linux/generic/config-3.14 index 150c6e3..846ea1e 100644 --- a/target/linux/generic/config-3.14 +++ b/target/linux/generic/config-3.14 @@ -229,6 +229,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y # CONFIG_ARM_ERRATA_773022 is not set # CONFIG_ARM_ERRATA_775420 is not set # CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_KPROBES_TEST is not set # CONFIG_ARM_PATCH_PHYS_VIRT is not set # CONFIG_ARM_PSCI is not set # CONFIG_ARM_PTDUMP is not set @@ -1687,6 +1688,7 @@ CONFIG_KERNEL_XZ=y # CONFIG_KGDB is not set # CONFIG_KMEMCHECK is not set # CONFIG_KPROBES is not set +# CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set # CONFIG_KS8851_MLL is not set @@ -2347,6 +2349,7 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_SFQ is not set # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_TCPPROBE is not set # CONFIG_NET_TEAM is not set # CONFIG_NET_TULIP is not set CONFIG_NET_VENDOR_3COM=y @@ -2762,6 +2765,7 @@ CONFIG_PPP_MULTILINK=y # CONFIG_PPTP is not set # CONFIG_PREEMPT is not set CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_TRACER is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_PRINTK=y diff --git a/target/linux/generic/config-3.18 b/target/linux/generic/config-3.18 index 15fea1d..de12bc7 100644 --- a/target/linux/generic/config-3.18 +++ b/target/linux/generic/config-3.18 @@ -247,6 +247,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y # CONFIG_ARM_ERRATA_773022 is not set # CONFIG_ARM_ERRATA_775420 is not set # CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_KPROBES_TEST is not set # CONFIG_ARM_PATCH_PHYS_VIRT is not set # CONFIG_ARM_PSCI is not set # CONFIG_ARM_PTDUMP is not set @@ -1767,6 +1768,7 @@ CONFIG_KERNFS=y # CONFIG_KGDB is not set # CONFIG_KMEMCHECK is not set # CONFIG_KPROBES is not set +# CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set # CONFIG_KS8851_MLL is not set @@ -2467,6 +2469,7 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_SFQ is not set # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_TCPPROBE is not set # CONFIG_NET_TEAM is not set # CONFIG_NET_TULIP is not set # CONFIG_NET_UDP_TUNNEL is not set @@ -2895,6 +2898,7 @@ CONFIG_PPP_MULTILINK=y # CONFIG_PPTP is not set # CONFIG_PREEMPT is not set CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_TRACER is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_PRINTK=y diff --git a/target/linux/generic/config-4.0 b/target/linux/generic/config-4.0 index f30abd7..4e55edc 100644 --- a/target/linux/generic/config-4.0 +++ b/target/linux/generic/config-4.0 @@ -249,6 +249,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y # CONFIG_ARM_ERRATA_775420 is not set # CONFIG_ARM_ERRATA_798181 is not set # CONFIG_ARM_KERNMEM_PERMS is not set +# CONFIG_ARM_KPROBES_TEST is not set # CONFIG_ARM_PATCH_PHYS_VIRT is not set # CONFIG_ARM_PSCI is not set # CONFIG_ARM_PTDUMP is not set @@ -1788,6 +1789,7 @@ CONFIG_KERNFS=y # CONFIG_KGDB is not set # CONFIG_KMEMCHECK is not set # CONFIG_KPROBES is not set +# CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set # CONFIG_KS8851_MLL is not set @@ -2498,6 +2500,7 @@ CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_TEQL is not set # CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_TCPPROBE is not set # CONFIG_NET_TEAM is not set # CONFIG_NET_TULIP is not set # CONFIG_NET_UDP_TUNNEL is not set @@ -2931,6 +2934,7 @@ CONFIG_PPP_MULTILINK=y # CONFIG_PPTP is not set # CONFIG_PREEMPT is not set CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_TRACER is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_PRINTK=y