Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp2798853pxv; Sun, 25 Jul 2021 06:04:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy4OYp9puj/f6POdDiQtuE49wMzO/Uu8a2Skkqc7KFi0CngolQCMvb9UzP5PbpljR6ZvOEd X-Received: by 2002:a05:6402:1601:: with SMTP id f1mr15847886edv.388.1627218256170; Sun, 25 Jul 2021 06:04:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627218256; cv=none; d=google.com; s=arc-20160816; b=xXQLbz+AwHPL+ylkCE2JC4V5OjswJRaMRknfNnbyeqXiOeFEyIvs9aNZhkwnJgA/Vu UmBaHAAMRejkksTr8j7C/pcSFeoeDbrqF0q5/qzzukEuOizTTI0vezes0R6RzM7fZ3NS GfGAyMloO++CIlisv7PHvChuU00MYzgWghvoEUL8JGthbbkT4455NEK8HQYoDzp/VmEP Prc4rWNiQQ6V5BxtjcDwBpsGPZIwmIdGI3cSNsqdLwMxoAGWUNSo4uWLNOqtb1wNWioG hTF14Fvntb742CXwo9O22E1Kres3BeNKTxCGF9UZXTZNbLDPDJQ7YGTR8WyKh1TBZXBE TgOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=VcwxYqz8+LG5hwSBlCbGX5cKmdAW2TPAsg2lgygkvyc=; b=LyXKH4jrwbtUl5GSi/nfOmiTiI7q3i8l7yKvPxwpfbyWRrFT2ofhRr0FhKSzfNuHYH 2xivS5R2MdQ9IylIPnGccEQ0zX4SKdQqT6vTzxDrmdaB2j1S3pkNduWCncKYp5phP4f1 D6ROKtlGeIkpNwyLN2pD55GfPOg4Mtyq8EgyTWQ2596GWR3GZi5x5Bdnk1khIDIOyhna i86D5GII/EMAT+u6b5UTVTdFWVbd9PKEi4NqHmXppaMXkqIhLwemKFtRVKJ7PWoBEt9a rDrJlDS2NWwCt98aDNW5EdySTNKc6nCPrcSriuam4eOLOwzaDKlItCe5TZcivVvJSfIE UDVA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t1si14476176edd.382.2021.07.25.06.03.08; Sun, 25 Jul 2021 06:04:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230029AbhGYMUj (ORCPT + 99 others); Sun, 25 Jul 2021 08:20:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230217AbhGYMUi (ORCPT ); Sun, 25 Jul 2021 08:20:38 -0400 Received: from albert.telenet-ops.be (albert.telenet-ops.be [IPv6:2a02:1800:110:4::f00:1a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 81D5FC061760 for ; Sun, 25 Jul 2021 06:01:08 -0700 (PDT) Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed20:fcbf:bbc7:105a:68c4]) by albert.telenet-ops.be with bizsmtp id ZR132500S1nuCSN06R13s9; Sun, 25 Jul 2021 15:01:04 +0200 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1m7dkd-000iIZ-EI; Sun, 25 Jul 2021 15:01:03 +0200 Received: from geert by rox.of.borg with local (Exim 4.93) (envelope-from ) id 1m7bcL-001LgM-HJ; Sun, 25 Jul 2021 12:44:21 +0200 From: Geert Uytterhoeven To: Greg Ungerer Cc: kernel test robot , Arnd Bergmann , linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH] m68k: Fix invalid RMW_INSNS on CPUs that lack CAS Date: Sun, 25 Jul 2021 12:44:13 +0200 Message-Id: <20210725104413.318932-1-geert@linux-m68k.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When enabling CONFIG_RMW_INSNS in e.g. a Coldfire build: {standard input}:3068: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d4,%d0,(%a6)' ignored Fix this by (a) adding a new config symbol to track if support for any CPU that lacks the CAS instruction is enabled, and (b) making CONFIG_RMW_INSNS depend on the new symbol not being set. Fixes: 0e152d80507b75c0 ("m68k: reorganize Kconfig options to improve mmu/non-mmu selections") Reported-by: kernel test robot Reported-by: Arnd Bergmann Signed-off-by: Geert Uytterhoeven --- arch/m68k/Kconfig.cpu | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu index 29e946394fdb4017..277d61a094637ce3 100644 --- a/arch/m68k/Kconfig.cpu +++ b/arch/m68k/Kconfig.cpu @@ -26,6 +26,7 @@ config COLDFIRE bool "Coldfire CPU family support" select ARCH_HAVE_CUSTOM_GPIO_H select CPU_HAS_NO_BITFIELDS + select CPU_HAS_NO_CAS select CPU_HAS_NO_MULDIV64 select GENERIC_CSUM select GPIOLIB @@ -39,6 +40,7 @@ config M68000 bool depends on !MMU select CPU_HAS_NO_BITFIELDS + select CPU_HAS_NO_CAS select CPU_HAS_NO_MULDIV64 select CPU_HAS_NO_UNALIGNED select GENERIC_CSUM @@ -54,6 +56,7 @@ config M68000 config MCPU32 bool select CPU_HAS_NO_BITFIELDS + select CPU_HAS_NO_CAS select CPU_HAS_NO_UNALIGNED select CPU_NO_EFFICIENT_FFS help @@ -383,7 +386,7 @@ config ADVANCED config RMW_INSNS bool "Use read-modify-write instructions" - depends on ADVANCED + depends on ADVANCED && !CPU_HAS_NO_CAS help This allows to use certain instructions that work with indivisible read-modify-write bus cycles. While this is faster than the @@ -450,6 +453,9 @@ config M68K_L2_CACHE config CPU_HAS_NO_BITFIELDS bool +config CPU_HAS_NO_CAS + bool + config CPU_HAS_NO_MULDIV64 bool -- 2.25.1