From patchwork Wed Mar 19 19:29:41 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 3861041 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id EB584BF540 for ; Wed, 19 Mar 2014 20:26:42 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0C64A201FA for ; Wed, 19 Mar 2014 20:26:42 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (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 05D99201F9 for ; Wed, 19 Mar 2014 20:26:41 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WQMLU-0004jq-EO; Wed, 19 Mar 2014 19:40:13 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1WQMKZ-0006GE-Eb; Wed, 19 Mar 2014 19:39:15 +0000 Received: from bombadil.infradead.org ([2001:1868:205::9]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WQMCy-0005f2-F1 for linux-arm-kernel@merlin.infradead.org; Wed, 19 Mar 2014 19:31:24 +0000 Received: from moutng.kundenserver.de ([212.227.17.13]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WQMCw-0004fg-Nf for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2014 19:31:23 +0000 Received: from wuerfel.lan (HSI-KBW-134-3-135-108.hsi14.kabel-badenwuerttemberg.de [134.3.135.108]) by mrelayeu.kundenserver.de (node=mreue105) with ESMTP (Nemesis) id 0LtFzX-1X6CVN2v8d-012odJ; Wed, 19 Mar 2014 20:30:42 +0100 From: Arnd Bergmann To: arm@kernel.org Subject: [PATCH 44/62] ARM: integrator: refine CPU selection Date: Wed, 19 Mar 2014 20:29:41 +0100 Message-Id: <1395257399-359545-45-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 1.8.3.2 In-Reply-To: <1395257399-359545-1-git-send-email-arnd@arndb.de> References: <1395257399-359545-1-git-send-email-arnd@arndb.de> X-Provags-ID: V02:K0:3zp+kt2u0202zUogamoosNNgd/KF51h1DR85IAb6ESz 9sg55OLv3r8bo0jQ1rpm/tBMicvAihTjxgB7iqeuoGIh4A1H71 9BW4GlERN3aMIldEBb2tAf46OOfhDM6kZ3VbSSiUuqcKt/O/gu MT9439PJ7NYLM7sRak4qNggIh0geKJS/QXux7cSS/gmSxhEb9B BBpbruZBwjk5Zmas3bWEG3paoCk8XWhhMS3T8ushHJqQTDJaKF mTflOVbdRasrENhcFRfi+9dqU2nlJ5rataBh0wxc8SneNA8bo3 MdBN2x4F6l0xEhalaV3hH8ZFvwK3c7QkQIf3VMHTAlBH6wHXmH u+8G0wSo9Ls8lrlfFYyV5KNXcwCwZxTTwojukAu4v X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140319_123123_094371_C3F1F89A X-CRM114-Status: GOOD ( 11.38 ) X-Spam-Score: -0.0 (/) Cc: Linus Walleij , Russell King , Arnd Bergmann , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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 This adds a new Kconfig option for the Integrator platform to choose between ARMv4/ARMv5 based CPUs and those based on ARMv6/ARMv7, which is required because we cannot have both classes enabled in the same kernel at compile time. Signed-off-by: Arnd Bergmann Cc: Russell King Cc: Linus Walleij --- arch/arm/mach-integrator/Kconfig | 11 +++++++++++ arch/arm/mm/Kconfig | 28 ++++++++++++++-------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig index ba43321..8c797e77 100644 --- a/arch/arm/mach-integrator/Kconfig +++ b/arch/arm/mach-integrator/Kconfig @@ -2,6 +2,17 @@ if ARCH_INTEGRATOR menu "Integrator Options" +choice + prompt "CPU architecture level" + +config ARCH_INTEGRATOR_V4_V5 + bool "ARMv4 or ARMv5 CPUs" + +config ARCH_INTEGRATOR_V6_V7 + bool "ARMv6 or ARMv7 CPUs" + +endchoice + config ARCH_INTEGRATOR_AP bool "Support Integrator/AP and Integrator/PP2 platforms" select CLKSRC_MMIO diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 8c94496..af76df4 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -21,7 +21,7 @@ config CPU_ARM7TDMI # ARM720T config CPU_ARM720T - bool "Support ARM720T processor" if ARCH_INTEGRATOR + bool "Support ARM720T processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v4T select CPU_ABRT_LV4T select CPU_CACHE_V4 @@ -39,7 +39,7 @@ config CPU_ARM720T # ARM740T config CPU_ARM740T - bool "Support ARM740T processor" if ARCH_INTEGRATOR + bool "Support ARM740T processor" if ARCH_INTEGRATOR_V4_V5 depends on !MMU select CPU_32v4T select CPU_ABRT_LV4T @@ -71,7 +71,7 @@ config CPU_ARM9TDMI # ARM920T config CPU_ARM920T - bool "Support ARM920T processor" if ARCH_INTEGRATOR + bool "Support ARM920T processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT @@ -89,7 +89,7 @@ config CPU_ARM920T # ARM922T config CPU_ARM922T - bool "Support ARM922T processor" if ARCH_INTEGRATOR + bool "Support ARM922T processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT @@ -127,7 +127,7 @@ config CPU_ARM925T # ARM926T config CPU_ARM926T - bool "Support ARM926T processor" if ARCH_INTEGRATOR + bool "Support ARM926T processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v5 select CPU_ABRT_EV5TJ select CPU_CACHE_VIVT @@ -163,7 +163,7 @@ config CPU_FA526 # ARM940T config CPU_ARM940T - bool "Support ARM940T processor" if ARCH_INTEGRATOR + bool "Support ARM940T processor" if ARCH_INTEGRATOR_V4_V5 depends on !MMU select CPU_32v4T select CPU_ABRT_NOMMU @@ -181,7 +181,7 @@ config CPU_ARM940T # ARM946E-S config CPU_ARM946E - bool "Support ARM946E-S processor" if ARCH_INTEGRATOR + bool "Support ARM946E-S processor" if ARCH_INTEGRATOR_V4_V5 depends on !MMU select CPU_32v5 select CPU_ABRT_NOMMU @@ -198,7 +198,7 @@ config CPU_ARM946E # ARM1020 - needs validating config CPU_ARM1020 - bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR + bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v5 select CPU_ABRT_EV4T select CPU_CACHE_V4WT @@ -216,7 +216,7 @@ config CPU_ARM1020 # ARM1020E - needs validating config CPU_ARM1020E - bool "Support ARM1020E processor" if ARCH_INTEGRATOR + bool "Support ARM1020E processor" if ARCH_INTEGRATOR_V4_V5 depends on n select CPU_32v5 select CPU_ABRT_EV4T @@ -229,7 +229,7 @@ config CPU_ARM1020E # ARM1022E config CPU_ARM1022 - bool "Support ARM1022E processor" if ARCH_INTEGRATOR + bool "Support ARM1022E processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v5 select CPU_ABRT_EV4T select CPU_CACHE_VIVT @@ -247,7 +247,7 @@ config CPU_ARM1022 # ARM1026EJ-S config CPU_ARM1026 - bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR + bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR_V4_V5 select CPU_32v5 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 select CPU_CACHE_VIVT @@ -358,7 +358,7 @@ config CPU_PJ4B # ARMv6 config CPU_V6 - bool "Support ARM V6 processor" if ARCH_INTEGRATOR + bool "Support ARM V6 processor" if ARCH_INTEGRATOR_V6_V7 select CPU_32v6 select CPU_ABRT_EV6 select CPU_CACHE_V6 @@ -371,7 +371,7 @@ config CPU_V6 # ARMv6k config CPU_V6K - bool "Support ARM V6K processor" if ARCH_INTEGRATOR + bool "Support ARM V6K processor" if ARCH_INTEGRATOR_V6_V7 select CPU_32v6 select CPU_32v6K select CPU_ABRT_EV6 @@ -385,7 +385,7 @@ config CPU_V6K # ARMv7 config CPU_V7 - bool "Support ARM V7 processor" if ARCH_INTEGRATOR + bool "Support ARM V7 processor" if ARCH_INTEGRATOR_V6_V7 select CPU_32v6K select CPU_32v7 select CPU_ABRT_EV7