From patchwork Mon Dec 1 08:48:15 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Nan X-Patchwork-Id: 5410671 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D7C2D9F1CD for ; Mon, 1 Dec 2014 08:55:10 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 99FF6202AE for ; Mon, 1 Dec 2014 08:55:09 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 70FCC200F3 for ; Mon, 1 Dec 2014 08:55:08 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XvMir-0005M7-DL; Mon, 01 Dec 2014 08:52:45 +0000 Received: from szxga02-in.huawei.com ([119.145.14.65]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XvMij-00052u-GA for linux-arm-kernel@lists.infradead.org; Mon, 01 Dec 2014 08:52:40 +0000 Received: from 172.24.2.119 (EHLO lggeml422-hub.china.huawei.com) ([172.24.2.119]) by szxrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CDG11543; Mon, 01 Dec 2014 16:51:44 +0800 (CST) Received: from kernel-host.huawei (10.107.197.247) by lggeml422-hub.china.huawei.com (10.72.61.32) with Microsoft SMTP Server id 14.3.158.1; Mon, 1 Dec 2014 16:51:35 +0800 From: Wang Nan To: , , Subject: [PATCH v11 1/7] ARM: probes: move all probe code to dedicate directory Date: Mon, 1 Dec 2014 16:48:15 +0800 Message-ID: <1417423695-47521-1-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.4 In-Reply-To: <1417423513-47161-1-git-send-email-wangnan0@huawei.com> References: <1417423513-47161-1-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.107.197.247] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20141201_005238_429137_1132264C X-CRM114-Status: GOOD ( 10.69 ) X-Spam-Score: -0.7 (/) Cc: lizefan@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In discussion on LKML (https://lkml.org/lkml/2014/11/28/158), Russell King suggest to move all probe related code to arch/arm/probes. This patch do the work. Due to dependency on 'arch/arm/kernel/patch.h', this patch also move patch.h to 'arch/arm/include/asm/patch.h', and related '#include' directive are also midified to '#include '. Signed-off-by: Wang Nan --- arch/arm/Makefile | 1 + arch/arm/{kernel => include/asm}/patch.h | 0 arch/arm/kernel/Makefile | 16 ++-------------- arch/arm/kernel/jump_label.c | 2 +- arch/arm/kernel/patch.c | 3 +-- arch/arm/probes/Makefile | 15 +++++++++++++++ arch/arm/{kernel => probes}/kprobes-arm.c | 0 arch/arm/{kernel => probes}/kprobes-common.c | 0 arch/arm/{kernel => probes}/kprobes-test-arm.c | 0 arch/arm/{kernel => probes}/kprobes-test-thumb.c | 0 arch/arm/{kernel => probes}/kprobes-test.c | 0 arch/arm/{kernel => probes}/kprobes-test.h | 0 arch/arm/{kernel => probes}/kprobes-thumb.c | 0 arch/arm/{kernel => probes}/kprobes.c | 2 +- arch/arm/{kernel => probes}/kprobes.h | 0 arch/arm/{kernel => probes}/probes-arm.c | 0 arch/arm/{kernel => probes}/probes-arm.h | 0 arch/arm/{kernel => probes}/probes-thumb.c | 0 arch/arm/{kernel => probes}/probes-thumb.h | 0 arch/arm/{kernel => probes}/probes.c | 0 arch/arm/{kernel => probes}/probes.h | 0 arch/arm/{kernel => probes}/uprobes-arm.c | 0 arch/arm/{kernel => probes}/uprobes.c | 0 arch/arm/{kernel => probes}/uprobes.h | 0 24 files changed, 21 insertions(+), 18 deletions(-) rename arch/arm/{kernel => include/asm}/patch.h (100%) create mode 100644 arch/arm/probes/Makefile rename arch/arm/{kernel => probes}/kprobes-arm.c (100%) rename arch/arm/{kernel => probes}/kprobes-common.c (100%) rename arch/arm/{kernel => probes}/kprobes-test-arm.c (100%) rename arch/arm/{kernel => probes}/kprobes-test-thumb.c (100%) rename arch/arm/{kernel => probes}/kprobes-test.c (100%) rename arch/arm/{kernel => probes}/kprobes-test.h (100%) rename arch/arm/{kernel => probes}/kprobes-thumb.c (100%) rename arch/arm/{kernel => probes}/kprobes.c (99%) rename arch/arm/{kernel => probes}/kprobes.h (100%) rename arch/arm/{kernel => probes}/probes-arm.c (100%) rename arch/arm/{kernel => probes}/probes-arm.h (100%) rename arch/arm/{kernel => probes}/probes-thumb.c (100%) rename arch/arm/{kernel => probes}/probes-thumb.h (100%) rename arch/arm/{kernel => probes}/probes.c (100%) rename arch/arm/{kernel => probes}/probes.h (100%) rename arch/arm/{kernel => probes}/uprobes-arm.c (100%) rename arch/arm/{kernel => probes}/uprobes.c (100%) rename arch/arm/{kernel => probes}/uprobes.h (100%) diff --git a/arch/arm/kernel/kprobes.h b/arch/arm/probes/kprobes.h similarity index 100% rename from arch/arm/kernel/kprobes.h rename to arch/arm/probes/kprobes.h diff --git a/arch/arm/kernel/probes-arm.c b/arch/arm/probes/probes-arm.c similarity index 100% rename from arch/arm/kernel/probes-arm.c rename to arch/arm/probes/probes-arm.c diff --git a/arch/arm/kernel/probes-arm.h b/arch/arm/probes/probes-arm.h similarity index 100% rename from arch/arm/kernel/probes-arm.h rename to arch/arm/probes/probes-arm.h diff --git a/arch/arm/kernel/probes-thumb.c b/arch/arm/probes/probes-thumb.c similarity index 100% rename from arch/arm/kernel/probes-thumb.c rename to arch/arm/probes/probes-thumb.c diff --git a/arch/arm/kernel/probes-thumb.h b/arch/arm/probes/probes-thumb.h similarity index 100% rename from arch/arm/kernel/probes-thumb.h rename to arch/arm/probes/probes-thumb.h diff --git a/arch/arm/kernel/probes.c b/arch/arm/probes/probes.c similarity index 100% rename from arch/arm/kernel/probes.c rename to arch/arm/probes/probes.c diff --git a/arch/arm/kernel/probes.h b/arch/arm/probes/probes.h similarity index 100% rename from arch/arm/kernel/probes.h rename to arch/arm/probes/probes.h diff --git a/arch/arm/kernel/uprobes-arm.c b/arch/arm/probes/uprobes-arm.c similarity index 100% rename from arch/arm/kernel/uprobes-arm.c rename to arch/arm/probes/uprobes-arm.c diff --git a/arch/arm/kernel/uprobes.c b/arch/arm/probes/uprobes.c similarity index 100% rename from arch/arm/kernel/uprobes.c rename to arch/arm/probes/uprobes.c diff --git a/arch/arm/kernel/uprobes.h b/arch/arm/probes/uprobes.h similarity index 100% rename from arch/arm/kernel/uprobes.h rename to arch/arm/probes/uprobes.h diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 034a949..a57d9bb 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -266,6 +266,7 @@ core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ # If we have a machine-specific directory, then include it in the build. core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ +core-y += arch/arm/probes/ core-y += arch/arm/net/ core-y += arch/arm/crypto/ core-y += arch/arm/firmware/ diff --git a/arch/arm/kernel/patch.h b/arch/arm/include/asm/patch.h similarity index 100% rename from arch/arm/kernel/patch.h rename to arch/arm/include/asm/patch.h diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 38ddd9f..40d3e00 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -51,20 +51,8 @@ obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o insn.o obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o insn.o obj-$(CONFIG_JUMP_LABEL) += jump_label.o insn.o patch.o obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o -obj-$(CONFIG_UPROBES) += probes.o probes-arm.o uprobes.o uprobes-arm.o -obj-$(CONFIG_KPROBES) += probes.o kprobes.o kprobes-common.o patch.o -ifdef CONFIG_THUMB2_KERNEL -obj-$(CONFIG_KPROBES) += kprobes-thumb.o probes-thumb.o -else -obj-$(CONFIG_KPROBES) += kprobes-arm.o probes-arm.o -endif -obj-$(CONFIG_ARM_KPROBES_TEST) += test-kprobes.o -test-kprobes-objs := kprobes-test.o -ifdef CONFIG_THUMB2_KERNEL -test-kprobes-objs += kprobes-test-thumb.o -else -test-kprobes-objs += kprobes-test-arm.o -endif +# Main staffs in KPROBES are in arch/arm/probes/ . +obj-$(CONFIG_KPROBES) += patch.o obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o obj-$(CONFIG_ARM_THUMBEE) += thumbee.o obj-$(CONFIG_KGDB) += kgdb.o diff --git a/arch/arm/kernel/jump_label.c b/arch/arm/kernel/jump_label.c index 4ce4f78..c6c73ed 100644 --- a/arch/arm/kernel/jump_label.c +++ b/arch/arm/kernel/jump_label.c @@ -1,8 +1,8 @@ #include #include +#include #include "insn.h" -#include "patch.h" #ifdef HAVE_JUMP_LABEL diff --git a/arch/arm/kernel/patch.c b/arch/arm/kernel/patch.c index 07314af..08bcfa1 100644 --- a/arch/arm/kernel/patch.c +++ b/arch/arm/kernel/patch.c @@ -5,8 +5,7 @@ #include #include #include - -#include "patch.h" +#include struct patch { void *addr; diff --git a/arch/arm/probes/Makefile b/arch/arm/probes/Makefile new file mode 100644 index 0000000..34b53b0 --- /dev/null +++ b/arch/arm/probes/Makefile @@ -0,0 +1,15 @@ +obj-$(CONFIG_UPROBES) += probes.o probes-arm.o uprobes.o uprobes-arm.o +obj-$(CONFIG_KPROBES) += probes.o kprobes.o kprobes-common.o +ifdef CONFIG_THUMB2_KERNEL +obj-$(CONFIG_KPROBES) += kprobes-thumb.o probes-thumb.o +else +obj-$(CONFIG_KPROBES) += kprobes-arm.o probes-arm.o +endif +obj-$(CONFIG_ARM_KPROBES_TEST) += test-kprobes.o +test-kprobes-objs := kprobes-test.o +ifdef CONFIG_THUMB2_KERNEL +test-kprobes-objs += kprobes-test-thumb.o +else +test-kprobes-objs += kprobes-test-arm.o +endif + diff --git a/arch/arm/kernel/kprobes-arm.c b/arch/arm/probes/kprobes-arm.c similarity index 100% rename from arch/arm/kernel/kprobes-arm.c rename to arch/arm/probes/kprobes-arm.c diff --git a/arch/arm/kernel/kprobes-common.c b/arch/arm/probes/kprobes-common.c similarity index 100% rename from arch/arm/kernel/kprobes-common.c rename to arch/arm/probes/kprobes-common.c diff --git a/arch/arm/kernel/kprobes-test-arm.c b/arch/arm/probes/kprobes-test-arm.c similarity index 100% rename from arch/arm/kernel/kprobes-test-arm.c rename to arch/arm/probes/kprobes-test-arm.c diff --git a/arch/arm/kernel/kprobes-test-thumb.c b/arch/arm/probes/kprobes-test-thumb.c similarity index 100% rename from arch/arm/kernel/kprobes-test-thumb.c rename to arch/arm/probes/kprobes-test-thumb.c diff --git a/arch/arm/kernel/kprobes-test.c b/arch/arm/probes/kprobes-test.c similarity index 100% rename from arch/arm/kernel/kprobes-test.c rename to arch/arm/probes/kprobes-test.c diff --git a/arch/arm/kernel/kprobes-test.h b/arch/arm/probes/kprobes-test.h similarity index 100% rename from arch/arm/kernel/kprobes-test.h rename to arch/arm/probes/kprobes-test.h diff --git a/arch/arm/kernel/kprobes-thumb.c b/arch/arm/probes/kprobes-thumb.c similarity index 100% rename from arch/arm/kernel/kprobes-thumb.c rename to arch/arm/probes/kprobes-thumb.c diff --git a/arch/arm/kernel/kprobes.c b/arch/arm/probes/kprobes.c similarity index 99% rename from arch/arm/kernel/kprobes.c rename to arch/arm/probes/kprobes.c index 6d64420..43b2488 100644 --- a/arch/arm/kernel/kprobes.c +++ b/arch/arm/probes/kprobes.c @@ -30,11 +30,11 @@ #include #include #include +#include #include "kprobes.h" #include "probes-arm.h" #include "probes-thumb.h" -#include "patch.h" #define MIN_STACK_SIZE(addr) \ min((unsigned long)MAX_STACK_SIZE, \