From patchwork Fri Oct 27 00:23:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1856007 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=T3nmdZWx; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SGk2F5ZTLz23jV for ; Fri, 27 Oct 2023 11:24:53 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 46F0587BCF; Fri, 27 Oct 2023 02:24:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="T3nmdZWx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 02AA287BD2; Fri, 27 Oct 2023 02:24:44 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 303A287BC6 for ; Fri, 27 Oct 2023 02:24:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=judge.packham@gmail.com Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-27d8e2ac2b1so1182118a91.2 for ; Thu, 26 Oct 2023 17:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698366279; x=1698971079; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vUvRWsxU4YS3GV0CbbN4wHN3r8u01+N/KxViWdot4l8=; b=T3nmdZWxKieVCnQ2JA4k97DQfH3IQ/woen0ZdUKRkc9OYJlcfVDw+y6D5oTw5QZRZs H/unicJyIghZbgSu57wNlLWdSp5l2gmuubrWuhF8IHPU6zf5vFlNBaDPAfstQ/Njw+MA jJhAnytZp16hgEg7gBNbyqAgFF3dwmDHMD+q5MZb7LQ3QfKDNIP/21ggH4Q447xDBvPB pKROWTKQQTMPNuOP7lP+jaSjiMxkVSa9YABAngyjOZyNpx8qkE4gF6k7kdDt8qwaheOr eP0MgJL6iJO+Dfjs3FJ6VZs7nlrog92f8gbyTKC810knRxklLh2nmrKkfvS3zSq5EIqK y8aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698366279; x=1698971079; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vUvRWsxU4YS3GV0CbbN4wHN3r8u01+N/KxViWdot4l8=; b=mzzcAJF4WWTq7fHym1jV5Kog2YAb2SAXSQADxoS6UH/GZvdQE6k9ORj0SFJrehbOTN PtQbb6/eQbuhiYdIDtAJ7Z62bG6Q3QUON34HGKSPB/l2TfhRNnldAX7qu1HE6U1l0OcH ZBwJ40+4VoUadNStdx/9Pg3TnJA3RUm88rc51ZEVm7hwU9Vt8UY6lJQEkasdk4wi+PBT 4OLTkTT1RFk2FD9d+O8nwpRvX6oe1jhxHSbZzjqYbeq6MLRNsKqLhbRG2CRGOXd02g4J wnymXQ743uQyqSAvTWMRtLkUTidklxCGDo48Iw+8sROj2Mp0C97T39ztr6pBaV4fCOxJ S2Bg== X-Gm-Message-State: AOJu0YxoPjEfff22ImWSpUDXbRXy79f5UayqLFAGyClObeQL93tHFvLB VIXDxt/8o1scImJXBsa7/AM8lE8MAqe63A== X-Google-Smtp-Source: AGHT+IHFcqkd5o0eKDfap/NJkwjhLL5aYy2LE8q2Vjxo8vIgg9UkEQuUuFvOWdkpeiSeHcUdDc19OQ== X-Received: by 2002:a17:90a:ea09:b0:27d:1af5:3b17 with SMTP id w9-20020a17090aea0900b0027d1af53b17mr1099343pjy.26.1698366279120; Thu, 26 Oct 2023 17:24:39 -0700 (PDT) Received: from chrisp-dl.atlnz.lc ([2001:df5:b000:22:b6a2:eace:f54:1956]) by smtp.gmail.com with ESMTPSA id 22-20020a17090a031600b0027476c68cc3sm167606pje.22.2023.10.26.17.24.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Oct 2023 17:24:38 -0700 (PDT) From: Chris Packham To: u-boot@lists.denx.de Cc: Chris Packham , Marc Zyngier , =?utf-8?q?Pierre-Cl=C3=A9ment_Tosi?= , Will Deacon , "Ying-Chun Liu (PaulLiu)" , meitao Subject: [PATCH 1/3] Revert "armv8: enable HAFDBS for other ELx when FEAT_HAFDBS is present" Date: Fri, 27 Oct 2023 13:23:52 +1300 Message-ID: <20231027002409.430285-2-judge.packham@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231027002409.430285-1-judge.packham@gmail.com> References: <20231027002409.430285-1-judge.packham@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean This reverts commit c1da6fdb5c239b432440721772d993e63cfdeb20. This is part of a series trying to make use of the arm64 hardware features for tracking dirty pages. Unfortunately this series causes problems for the AC5/AC5X SoCs. Having exhausted other options the consensus seems to be reverting this series is the best course of action. Signed-off-by: Chris Packham --- arch/arm/cpu/armv8/cache_v8.c | 6 +----- arch/arm/include/asm/armv8/mmu.h | 10 ++-------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c index cb1131a0480e..4c6a1b1d6c5e 100644 --- a/arch/arm/cpu/armv8/cache_v8.c +++ b/arch/arm/cpu/armv8/cache_v8.c @@ -94,15 +94,11 @@ u64 get_tcr(u64 *pips, u64 *pva_bits) if (el == 1) { tcr = TCR_EL1_RSVD | (ips << 32) | TCR_EPD1_DISABLE; if (gd->arch.has_hafdbs) - tcr |= TCR_EL1_HA | TCR_EL1_HD; + tcr |= TCR_HA | TCR_HD; } else if (el == 2) { tcr = TCR_EL2_RSVD | (ips << 16); - if (gd->arch.has_hafdbs) - tcr |= TCR_EL2_HA | TCR_EL2_HD; } else { tcr = TCR_EL3_RSVD | (ips << 16); - if (gd->arch.has_hafdbs) - tcr |= TCR_EL3_HA | TCR_EL3_HD; } /* PTWs cacheable, inner/outer WBWA and inner shareable */ diff --git a/arch/arm/include/asm/armv8/mmu.h b/arch/arm/include/asm/armv8/mmu.h index 19a9e112a434..98a27db3166b 100644 --- a/arch/arm/include/asm/armv8/mmu.h +++ b/arch/arm/include/asm/armv8/mmu.h @@ -102,14 +102,8 @@ #define TCR_TG0_16K (2 << 14) #define TCR_EPD1_DISABLE (1 << 23) -#define TCR_EL1_HA BIT(39) -#define TCR_EL1_HD BIT(40) - -#define TCR_EL2_HA BIT(21) -#define TCR_EL2_HD BIT(22) - -#define TCR_EL3_HA BIT(21) -#define TCR_EL3_HD BIT(22) +#define TCR_HA BIT(39) +#define TCR_HD BIT(40) #define TCR_EL1_RSVD (1U << 31) #define TCR_EL2_RSVD (1U << 31 | 1 << 23) From patchwork Fri Oct 27 00:23:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1856008 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=QmBA/Zgz; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SGk2T753Mz1ypX for ; Fri, 27 Oct 2023 11:25:05 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93B208071F; Fri, 27 Oct 2023 02:24:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="QmBA/Zgz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2E7B887BC4; Fri, 27 Oct 2023 02:24:51 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E2F9087BCC for ; Fri, 27 Oct 2023 02:24:45 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=judge.packham@gmail.com Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-5b93ddb10b8so221964a12.0 for ; Thu, 26 Oct 2023 17:24:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698366284; x=1698971084; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GBdEo6QUw8eBjO8cIrRTMCExK7sMIwCw0NjxmOhfPf0=; b=QmBA/Zgzrnf3H+jiZHHwd9AJ7Xcu9GrYSphQdiDy0ZoylwC0+n0fuMEWaIkpCSkVSo X1xT6YALMxXkehfjD6T34twB5LVycLWUvA97Eq4E4YPCTrW1e/8SjVDbppOM5xfsUZl7 ioroNidqPq1b6LCW9Ov8DIEjPLnL9r3OP/ifD0tlTFpg2Y/bx3ly39b/BGdr4thB1N5T Whpi15L+Q3OT5siRRb1yiFaYcjeDTMlsYDFLHgm4A5qnPCPHbs+1zZupJUJiFCbL47uG Svv1yIt1+LHbVvFE4UO+M4+A0LB2KlJ5RPkeWAnAu7Uqv9WZ0I7mtq5jZiY5bTqmXslq q1iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698366284; x=1698971084; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GBdEo6QUw8eBjO8cIrRTMCExK7sMIwCw0NjxmOhfPf0=; b=Th3v3klCsvoLMbvFJE4zmKHDmX8nPz5zv35Lp+azUFrqimvTa21SU06y5krp4O5TvG 1b1zYLZK+Q7O7JomaBEIpOpR2n3WrpxiQjnOz/zPUxPGyXHT87mPLRO2DsqfSgjY2mnj qmyhY1cwaorg7qkWm1DyJ9P7C4deKj2EO3g7hhQ5Md0df8ziwaFxZTpBfWkFhwArWE3A TjMJKRnA7trKGC55RVvA527uWSbOIc5oqb91m+ouklAn+29bOEm2zHrRmUASVWtm4cD1 aerYGyizeOA8t7u545W26CcaFJ/ez+gqjEFN3Is/GUwQDTGj5lOW08LXi8P5jJRM/KzE /esA== X-Gm-Message-State: AOJu0YyyOh3zUU303TLPMuobuC1iPJ7XR3PsaHRQK0SMP1DyfcLE1oc0 GML2bRihw/qYKOiYLKQCcK/TE56hcXpUTA== X-Google-Smtp-Source: AGHT+IHPR4EJjqtrEf1Zh0tZJsviQQbYsHKsjRSIflRwObvR+HjIKPNV50NbQIxGOrjug+JRDre+nQ== X-Received: by 2002:a17:90a:d447:b0:277:3afc:f27 with SMTP id cz7-20020a17090ad44700b002773afc0f27mr5226864pjb.1.1698366283842; Thu, 26 Oct 2023 17:24:43 -0700 (PDT) Received: from chrisp-dl.atlnz.lc ([2001:df5:b000:22:b6a2:eace:f54:1956]) by smtp.gmail.com with ESMTPSA id 22-20020a17090a031600b0027476c68cc3sm167606pje.22.2023.10.26.17.24.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Oct 2023 17:24:43 -0700 (PDT) From: Chris Packham To: u-boot@lists.denx.de Cc: Chris Packham , Bin Meng , Marc Zyngier , Peng Fan , =?utf-8?q?Pierr?= =?utf-8?q?e-Cl=C3=A9ment_Tosi?= , Simon Glass , Ye Li , "Ying-Chun Liu (PaulLiu)" , meitao Subject: [PATCH 2/3] Revert "arm64: Use level-2 for largest block mappings when FEAT_HAFDBS is present" Date: Fri, 27 Oct 2023 13:23:53 +1300 Message-ID: <20231027002409.430285-3-judge.packham@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231027002409.430285-1-judge.packham@gmail.com> References: <20231027002409.430285-1-judge.packham@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean This reverts commit 836b8d4b205d2175b57cb9ef271e638b0c116e89. This is part of a series trying to make use of the arm64 hardware features for tracking dirty pages. Unfortunately this series causes problems for the AC5/AC5X SoCs. Having exhausted other options the consensus seems to be reverting this series is the best course of action. Signed-off-by: Chris Packham --- arch/arm/cpu/armv8/cache_v8.c | 14 ++++---------- arch/arm/include/asm/global_data.h | 1 - 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c index 4c6a1b1d6c5e..4760064ee18f 100644 --- a/arch/arm/cpu/armv8/cache_v8.c +++ b/arch/arm/cpu/armv8/cache_v8.c @@ -314,7 +314,7 @@ static void map_range(u64 virt, u64 phys, u64 size, int level, for (i = idx; size; i++) { u64 next_size, *next_table; - if (level >= gd->arch.first_block_level && + if (level >= 1 && size >= map_size && !(virt & (map_size - 1))) { if (level == 3) table[i] = phys | attrs | PTE_TYPE_PAGE; @@ -353,9 +353,6 @@ static void add_map(struct mm_region *map) if (va_bits < 39) level = 1; - if (!gd->arch.first_block_level) - gd->arch.first_block_level = 1; - if (gd->arch.has_hafdbs) attrs |= PTE_DBM | PTE_RDONLY; @@ -372,7 +369,7 @@ static void count_range(u64 virt, u64 size, int level, int *cntp) for (i = idx; size; i++) { u64 next_size; - if (level >= gd->arch.first_block_level && + if (level >= 1 && size >= map_size && !(virt & (map_size - 1))) { virt += map_size; size -= map_size; @@ -413,13 +410,10 @@ __weak u64 get_page_table_size(void) u64 size, mmfr1; asm volatile("mrs %0, id_aa64mmfr1_el1" : "=r" (mmfr1)); - if ((mmfr1 & 0xf) == 2) { + if ((mmfr1 & 0xf) == 2) gd->arch.has_hafdbs = true; - gd->arch.first_block_level = 2; - } else { + else gd->arch.has_hafdbs = false; - gd->arch.first_block_level = 1; - } /* Account for all page tables we would need to cover our memory map */ size = one_pt * count_ranges(); diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index b385bae02669..1325b0644248 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -52,7 +52,6 @@ struct arch_global_data { #if defined(CONFIG_ARM64) unsigned long tlb_fillptr; unsigned long tlb_emerg; - unsigned int first_block_level; bool has_hafdbs; #endif #endif From patchwork Fri Oct 27 00:23:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 1856009 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=HceAuYzl; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SGk2q3GZLz1ypX for ; Fri, 27 Oct 2023 11:25:23 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0F3E087BDB; Fri, 27 Oct 2023 02:24:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HceAuYzl"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C9B3187BC6; Fri, 27 Oct 2023 02:24:53 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9897C87BCE for ; Fri, 27 Oct 2023 02:24:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=judge.packham@gmail.com Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-692c02adeefso1406745b3a.3 for ; Thu, 26 Oct 2023 17:24:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698366288; x=1698971088; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2mVbYwdzonaQngpYG7INelm+PlUcbLIMzI8WRwuBhiw=; b=HceAuYzluKEs/Id+K3wNt9UMlMhckd2yZ/bmLgj1a93acNHOLXh2t95FC2+djVdabd p3v64L3BpkMsmDICtfVsC/lv63CTojQWnmnCzFeFxhDK3j6R/gMbSVofMw/9+cB5lGJ8 rja2qW0HrhNJ4BXl5SSOJzC3/1LgzWUP+vZJ2Jt9wQIRg2jAfpolVm1zbNT4H03FFFQC oZxjMKA02uc2mPzy+H2wRK5YHyR76EK07abVjodXMGFCeBn2bfxNdvYtxabdOxsjEqfs AOdobyHFTwvwtNrAlNFmGIUAWr9hN3WyhgImVrFpCwM3dTyCO4XKpdydtBEvUlDKavr3 5CPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698366288; x=1698971088; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2mVbYwdzonaQngpYG7INelm+PlUcbLIMzI8WRwuBhiw=; b=J96XByYzh3Om6U9mMFyScMbafS9f3XF0W99hPkvG7401jvMNz+INZl2e+33acAfEpa G/4ntxN7yzxy1vcDp+joOwW5bhOJg654iDw55+v5dmHMeIW4TJQw/8BVX04sOgoloo30 XG1ivWXAG9K9CfnLatjjfIZMYEZ24TqTwNODpR6g7yi0ot/lyKFpbWiYaPpF4uL7i20A 34r988VjF8UTUWBVxDeVoOdUBMuRNbsqbylHQHcqKxTOZo9WYWmiYMvEilWezXW9Kakm JeJN2Q6tq6OASO1Y83Rsxit8fO3S4WBoZ5We5ccuHSoQbs6TVfLYFjelHXFOT/I200EN qqqg== X-Gm-Message-State: AOJu0YyjCwELn1y0O1LyF+6jI6NADWXcfYArerRo8unXXhfomHgPnGnV XnHkXKwjpzyQnDbRzfoN6K+N7YKoAMMLrw== X-Google-Smtp-Source: AGHT+IGP/e21Vn2ggWqG5VlwSETCnwYajfSlNTY2kb0xLNXP+zF9HtQ5PDpRs930z6O6IuQv0EzgWw== X-Received: by 2002:a05:6a20:be9a:b0:15a:f4e:620e with SMTP id gf26-20020a056a20be9a00b0015a0f4e620emr1108862pzb.59.1698366288627; Thu, 26 Oct 2023 17:24:48 -0700 (PDT) Received: from chrisp-dl.atlnz.lc ([2001:df5:b000:22:b6a2:eace:f54:1956]) by smtp.gmail.com with ESMTPSA id 22-20020a17090a031600b0027476c68cc3sm167606pje.22.2023.10.26.17.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Oct 2023 17:24:48 -0700 (PDT) From: Chris Packham To: u-boot@lists.denx.de Cc: Chris Packham , Bin Meng , Marc Zyngier , Peng Fan , =?utf-8?q?Pierr?= =?utf-8?q?e-Cl=C3=A9ment_Tosi?= , Simon Glass , Ye Li , "Ying-Chun Liu (PaulLiu)" , meitao Subject: [PATCH 3/3] Revert "arm64: Use FEAT_HAFDBS to track dirty pages when available" Date: Fri, 27 Oct 2023 13:23:54 +1300 Message-ID: <20231027002409.430285-4-judge.packham@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231027002409.430285-1-judge.packham@gmail.com> References: <20231027002409.430285-1-judge.packham@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean This reverts commit 6cdf6b7a340db4ddd008516181de7e08e3f8c213. This is part of a series trying to make use of the arm64 hardware features for tracking dirty pages. Unfortunately this series causes problems for the AC5/AC5X SoCs. Having exhausted other options the consensus seems to be reverting this series is the best course of action. Signed-off-by: Chris Packham --- arch/arm/cpu/armv8/cache_v8.c | 16 +--------------- arch/arm/include/asm/armv8/mmu.h | 14 ++++---------- arch/arm/include/asm/global_data.h | 1 - 3 files changed, 5 insertions(+), 26 deletions(-) diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c index 4760064ee18f..697334086fdc 100644 --- a/arch/arm/cpu/armv8/cache_v8.c +++ b/arch/arm/cpu/armv8/cache_v8.c @@ -93,8 +93,6 @@ u64 get_tcr(u64 *pips, u64 *pva_bits) if (el == 1) { tcr = TCR_EL1_RSVD | (ips << 32) | TCR_EPD1_DISABLE; - if (gd->arch.has_hafdbs) - tcr |= TCR_HA | TCR_HD; } else if (el == 2) { tcr = TCR_EL2_RSVD | (ips << 16); } else { @@ -202,9 +200,6 @@ static void __cmo_on_leaves(void (*cmo_fn)(unsigned long, unsigned long), attrs != PTE_BLOCK_MEMTYPE(MT_NORMAL_NC)) continue; - if (gd->arch.has_hafdbs && (pte & (PTE_RDONLY | PTE_DBM)) != PTE_DBM) - continue; - end = va + BIT(level2shift(level)) - 1; /* No intersection with RAM? */ @@ -353,9 +348,6 @@ static void add_map(struct mm_region *map) if (va_bits < 39) level = 1; - if (gd->arch.has_hafdbs) - attrs |= PTE_DBM | PTE_RDONLY; - map_range(map->virt, map->phys, map->size, level, (u64 *)gd->arch.tlb_addr, attrs); } @@ -407,13 +399,7 @@ static int count_ranges(void) __weak u64 get_page_table_size(void) { u64 one_pt = MAX_PTE_ENTRIES * sizeof(u64); - u64 size, mmfr1; - - asm volatile("mrs %0, id_aa64mmfr1_el1" : "=r" (mmfr1)); - if ((mmfr1 & 0xf) == 2) - gd->arch.has_hafdbs = true; - else - gd->arch.has_hafdbs = false; + u64 size; /* Account for all page tables we would need to cover our memory map */ size = one_pt * count_ranges(); diff --git a/arch/arm/include/asm/armv8/mmu.h b/arch/arm/include/asm/armv8/mmu.h index 98a27db3166b..9f58cedb650c 100644 --- a/arch/arm/include/asm/armv8/mmu.h +++ b/arch/arm/include/asm/armv8/mmu.h @@ -49,13 +49,10 @@ #define PTE_TYPE_BLOCK (1 << 0) #define PTE_TYPE_VALID (1 << 0) -#define PTE_RDONLY BIT(7) -#define PTE_DBM BIT(51) - -#define PTE_TABLE_PXN BIT(59) -#define PTE_TABLE_XN BIT(60) -#define PTE_TABLE_AP BIT(61) -#define PTE_TABLE_NS BIT(63) +#define PTE_TABLE_PXN (1UL << 59) +#define PTE_TABLE_XN (1UL << 60) +#define PTE_TABLE_AP (1UL << 61) +#define PTE_TABLE_NS (1UL << 63) /* * Block @@ -102,9 +99,6 @@ #define TCR_TG0_16K (2 << 14) #define TCR_EPD1_DISABLE (1 << 23) -#define TCR_HA BIT(39) -#define TCR_HD BIT(40) - #define TCR_EL1_RSVD (1U << 31) #define TCR_EL2_RSVD (1U << 31 | 1 << 23) #define TCR_EL3_RSVD (1U << 31 | 1 << 23) diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 1325b0644248..75bd9d56f893 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -52,7 +52,6 @@ struct arch_global_data { #if defined(CONFIG_ARM64) unsigned long tlb_fillptr; unsigned long tlb_emerg; - bool has_hafdbs; #endif #endif #ifdef CFG_SYS_MEM_RESERVE_SECURE