From patchwork Sun Aug 13 02:25:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siarhei Siamashka X-Patchwork-Id: 800963 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XN+FCoWF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xVN0k3dsPz9sR9 for ; Sun, 13 Aug 2017 12:26:46 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 2B886C21DDA; Sun, 13 Aug 2017 02:26:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 73B32C21E26; Sun, 13 Aug 2017 02:25:30 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CF2CFC21C6A; Sun, 13 Aug 2017 02:25:27 +0000 (UTC) Received: from mail-lf0-f68.google.com (mail-lf0-f68.google.com [209.85.215.68]) by lists.denx.de (Postfix) with ESMTPS id 14DBAC21D76 for ; Sun, 13 Aug 2017 02:25:27 +0000 (UTC) Received: by mail-lf0-f68.google.com with SMTP id x16so4540185lfb.4 for ; Sat, 12 Aug 2017 19:25:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=pi1iQckoEaNDWSmLchUuvsRBaoYee30E0pKE9zWN5+Y=; b=XN+FCoWFONgwAQrlNBNOKo2/dscruoYNOWBKXIXuqnhJMwtnP9kZQ08PNiNR815JSs Qi5X7MQ2mGRS4iid8J2Knf61lnr/9JmZC17XpUOt/jJCULJ8NpBsuV+T6laI7G4WXBjd MjaghhIg08NATK/T5BvTEhv3g2xmRc81ktNaab9RStDJVoKO42zs8ybr6B9Ynfl98/+C IDXmVC04dwCyNRy4sCw4PDh/U3HRvBRlAROjEATyQHU+qNjsgSapX2K0D77+MrMJfQuQ 1XeGcuPkzAEAp1B0qnnq7eLIikAXWV9IlfGsG2dAKADxF1by9tUvhMuCOwBjWW5rXv2I 4EkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=pi1iQckoEaNDWSmLchUuvsRBaoYee30E0pKE9zWN5+Y=; b=P27MIqAgvZRY7DeqrSX+3vF1pnr63lcAXzwPhrenwr1UNe5kXbIqj1/MQM5djCVL8+ AleLQfkYO5X/m1Twmx1ZJDbuFUzu1cuAnfr+cVhVw9Vqg6ZM7M5mujM/sN0PL/s3TYc1 LDHKAO3eDvY+UJ0WxuzQnVHUKDGEfLcEMZnmGVPm6Qm7CqDNyrTXdM4MLPDTaRM7XBnm 3T9U/NAqLKJ2LSnNQMRFGjrePLetmzmboau0x/hD7ipFngkwBANZdIQLortB0n9bt7wA heVb6xJqYD8uv37FlVtyWZ2wJEh+x1yw1Kp3u6apLxda+QJ7PD0PiTad+eOaGxZLp7Qw axJw== X-Gm-Message-State: AHYfb5gfwAxD8pLs/fXUrrsJvx7EwiqENlz6YGugMc9s0Zqa70DwwdLg z7ZRYFbTLIuX3V0798M= X-Received: by 10.46.32.82 with SMTP id g79mr7300871ljg.174.1502591126413; Sat, 12 Aug 2017 19:25:26 -0700 (PDT) Received: from localhost.localdomain (dsl-hkibng32-54fbf7-46.dhcp.inet.fi. [84.251.247.46]) by smtp.gmail.com with ESMTPSA id o69sm829872lfk.8.2017.08.12.19.25.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 12 Aug 2017 19:25:25 -0700 (PDT) From: Siarhei Siamashka To: u-boot@lists.denx.de, Sam Protsenko , Praneeth Bajjuri Date: Sun, 13 Aug 2017 05:25:20 +0300 Message-Id: <1502591120-17327-3-git-send-email-siarhei.siamashka@gmail.com> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1502591120-17327-1-git-send-email-siarhei.siamashka@gmail.com> References: <1502591120-17327-1-git-send-email-siarhei.siamashka@gmail.com> Cc: Albert Aribaud , Tom Rini Subject: [U-Boot] [PATCH 2/2] arm: Exercise v7_arch_cp15_set_acr even without errata fixups X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" By applying this patch, we are ensuring that the code paths responsible for applying errata workarounds are also exercised on CPU revisions, which actually don't need these workarounds. Only CONFIG_ARM_ERRATA_621766, CONFIG_ARM_ERRATA_454179, CONFIG_ARM_ERRATA_725233 and CONFIG_ARM_ERRATA_430973 are covered by this patch (Cortex-A8). This improves code coverage when testing U-Boot builds on newer hardware. In particular, the problematic commit 00bbe96ebabb ("arm: omap: Unify get_device_type() function") would break both BeageBoard and BeagleBoard XM rather than just older BeagleBoard. As an additional bonus, we need fewer instructins and the SPL size is reduced. Signed-off-by: Siarhei Siamashka Reviewed-by: Tom Rini --- arch/arm/cpu/armv7/start.S | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index f06fd28..1442675 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -232,55 +232,47 @@ skip_errata_801819: #endif #ifdef CONFIG_ARM_ERRATA_454179 + mrc p15, 0, r0, c1, c0, 1 @ Read ACR + cmp r2, #0x21 @ Only on < r2p1 - bge skip_errata_454179 + orrlt r0, r0, #(0x3 << 6) @ Set DBSM(BIT7) and IBE(BIT6) bits - mrc p15, 0, r0, c1, c0, 1 @ Read ACR - orr r0, r0, #(0x3 << 6) @ Set DBSM(BIT7) and IBE(BIT6) bits push {r1-r5} @ Save the cpu info registers bl v7_arch_cp15_set_acr pop {r1-r5} @ Restore the cpu info - fall through - -skip_errata_454179: #endif #ifdef CONFIG_ARM_ERRATA_430973 + mrc p15, 0, r0, c1, c0, 1 @ Read ACR + cmp r2, #0x21 @ Only on < r2p1 - bge skip_errata_430973 + orrlt r0, r0, #(0x1 << 6) @ Set IBE bit - mrc p15, 0, r0, c1, c0, 1 @ Read ACR - orr r0, r0, #(0x1 << 6) @ Set IBE bit push {r1-r5} @ Save the cpu info registers bl v7_arch_cp15_set_acr pop {r1-r5} @ Restore the cpu info - fall through - -skip_errata_430973: #endif #ifdef CONFIG_ARM_ERRATA_621766 + mrc p15, 0, r0, c1, c0, 1 @ Read ACR + cmp r2, #0x21 @ Only on < r2p1 - bge skip_errata_621766 + orrlt r0, r0, #(0x1 << 5) @ Set L1NEON bit - mrc p15, 0, r0, c1, c0, 1 @ Read ACR - orr r0, r0, #(0x1 << 5) @ Set L1NEON bit push {r1-r5} @ Save the cpu info registers bl v7_arch_cp15_set_acr pop {r1-r5} @ Restore the cpu info - fall through - -skip_errata_621766: #endif #ifdef CONFIG_ARM_ERRATA_725233 + mrc p15, 1, r0, c9, c0, 2 @ Read L2ACR + cmp r2, #0x21 @ Only on < r2p1 (Cortex A8) - bge skip_errata_725233 + orrlt r0, r0, #(0x1 << 27) @ L2 PLD data forwarding disable - mrc p15, 1, r0, c9, c0, 2 @ Read L2ACR - orr r0, r0, #(0x1 << 27) @ L2 PLD data forwarding disable push {r1-r5} @ Save the cpu info registers bl v7_arch_cp15_set_l2aux_ctrl pop {r1-r5} @ Restore the cpu info - fall through - -skip_errata_725233: #endif #ifdef CONFIG_ARM_ERRATA_852421