From patchwork Mon Apr 21 22:36:10 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Kamensky X-Patchwork-Id: 4027411 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 B42EF9F391 for ; Mon, 21 Apr 2014 22:40:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0129620340 for ; Mon, 21 Apr 2014 22:40:26 +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 0627520265 for ; Mon, 21 Apr 2014 22:40:25 +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 1WcMpd-0000tq-Le; Mon, 21 Apr 2014 22:36:57 +0000 Received: from mail-pd0-f172.google.com ([209.85.192.172]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WcMpb-0000si-DL for linux-arm-kernel@lists.infradead.org; Mon, 21 Apr 2014 22:36:56 +0000 Received: by mail-pd0-f172.google.com with SMTP id p10so4133631pdj.31 for ; Mon, 21 Apr 2014 15:36:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=97DFzH0qIJTK4vmi6DWM60CCOIKRww8ZlLRJ8s4JnD0=; b=e103JlkaJA1eIcK+2R/i+cEB2Xa4TWcXs7dJcPzBtDUe4d4UVrTXK59l1NuLSdG2gj fOxjeel2gud5436TgcAWHiPMsOuQ8D6XiGyssX94gfgQWjrBx5NimLOcl4L1I5jx/+ax I01O1AktRSFaKzsSopayGz1Tlxud/A2vkdDSj855fJO3Q9aXdB0V1Es/4yuM9IZ5y9ZQ 48wXuFOJym9ii+hqcu5pQakr2duxvEOEuKIcO3/JT1XLCdgjKA8UwN/bg3shxcEtKY++ x/onEqp4Cd1wiKNwFtFn+h0uSZwPOKtUUhHlcywnmzQkOE97Yg8wS+S2xFq9vyLKIqXH WnrQ== X-Gm-Message-State: ALoCoQmQlqEZx2GGx6rK/1IOyZHj+CjlOc/XDxpbFsakm0qXuaUWQDNu6/GRN4vlmcEJZwG51jR0 X-Received: by 10.66.177.168 with SMTP id cr8mr5856388pac.128.1398119788079; Mon, 21 Apr 2014 15:36:28 -0700 (PDT) Received: from kamensky-w530.cisco.com.net (c-24-6-79-41.hsd1.ca.comcast.net. [24.6.79.41]) by mx.google.com with ESMTPSA id ky8sm80344798pbc.64.2014.04.21.15.36.26 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Apr 2014 15:36:27 -0700 (PDT) From: Victor Kamensky To: will.deacon@arm.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH] ARM64: disable DCACHE_WORD_ACCESS in big endian case Date: Mon, 21 Apr 2014 15:36:10 -0700 Message-Id: <1398119770-27817-1-git-send-email-victor.kamensky@linaro.org> X-Mailer: git-send-email 1.8.1.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140421_153655_464162_CEB9F902 X-CRM114-Status: GOOD ( 10.11 ) X-Spam-Score: 0.0 (/) Cc: catalin.marinas@arm.com, linaro-kernel@lists.linaro.org, Victor Kamensky 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=-2.5 required=5.0 tests=BAYES_00,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 If DCACHE_WORD_ACCESS is enabled big endian image failed to boot. commit 7bc13fd33adb9536bd73965cd46bbf7377df097c "arm64: dcache: select DCACHE_WORD_ACCESS for little-endian CPUs" enabled this setting for both big endian and little endian cpus. And code in commit itself seems to be endian agnostic, however other, i.e C, code that sits under DCACHE_WORD_ACCESS seems to be not endian agnostic, I could not figure out where though. Solution is to enable DCACHE_WORD_ACCESS only if little endian mode is enabled (default). Signed-off-by: Victor Kamensky --- arch/arm64/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index e6e4d37..106ac4f 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -13,7 +13,7 @@ config ARM64 select CLONE_BACKWARDS select COMMON_CLK select CPU_PM if (SUSPEND || CPU_IDLE) - select DCACHE_WORD_ACCESS + select DCACHE_WORD_ACCESS if !CPU_BIG_ENDIAN select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_CPU_AUTOPROBE