From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25692C43461 for ; Tue, 11 May 2021 14:46:48 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7B4FC61288 for ; Tue, 11 May 2021 14:46:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B4FC61288 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:From:Subject:References:Mime-Version: Message-Id:In-Reply-To:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2Sdooi2QcdmlhtZHOFY/AHvw4MP6ZFj7IrEA6rEayPI=; b=onAB2pyp0it0BR 5O1AbFLUbg80dViMyBQFUl82CC+fp4ppeu/jfSoUVbenr9V5bByq/iWoi7bHjjDoxqGmR1MtpIcku 2HTl0Hs3uUn73w7yCwdQa7gAA8ZCek3i53uA72HDk11J8uJtTAigbxA3Kxs4zEms0ZtHS9BUINIrH wI8VkTNJvnq505R3yADz4j3uimD3CanTHWywETSM54qgN2P0hiET7yqK31iGzv33Jwh37FF1IH4s0 cej4CJKZ9ipMvp5khgdglDn8hpPxztGdh7uVO5USmBMIikH30xA/MH1MjftgrlMguxz2U+eWPGGJ6 GcGCY2HrnLItLU/yENhA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lgTd4-000TmG-Kv; Tue, 11 May 2021 14:45:00 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lgTbR-000TGM-PH for linux-arm-kernel@desiato.infradead.org; Tue, 11 May 2021 14:43:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Type:Cc:To:From:Subject: References:Mime-Version:Message-Id:In-Reply-To:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=VBdXd8jMHa8YfSUmZm1o+mEO+YnY6b9mKc8xcuxjBRY=; b=xoWNBtOVKNF9MIEBjNALjsajwK N+Ru1qL2rf0OiTMFIb9x4PvRYRJAMsDpzGP8O6bIozs4DYRL2966oRkuAqwhjG632ln4mWxKj47XL roCxHm80N8CexGVMSNWquw7OwSIX895Ie7gx8NNas5JC0uXAlD3IYP8CX50Z1tJZLpcptp066lb1j nImBcipaDp+rWlj50Wd4Kstbwf3EwJY+Y2qnehfZIPqO1nrqecZa2WICEwBq4OQU0OtSjnmedEYvd wsXsAVuLWMofGts/JGq4buVtwLDivneD6W4z+WcwvavdhmsC7iW9HBIhmWFhyL2YydZ5ixMWLL/S/ g5f7ublQ==; Received: from mail-qk1-x74a.google.com ([2607:f8b0:4864:20::74a]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lgTbP-009gWL-4q for linux-arm-kernel@lists.infradead.org; Tue, 11 May 2021 14:43:16 +0000 Received: by mail-qk1-x74a.google.com with SMTP id l19-20020a37f5130000b02902e3dc23dc92so14544994qkk.15 for ; Tue, 11 May 2021 07:43:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=VBdXd8jMHa8YfSUmZm1o+mEO+YnY6b9mKc8xcuxjBRY=; b=g+ZaSMpmi2TM36VsxdwexFhWbBe8Bw60MbPoZT7G63redQXnq9rSLGaDcW47YwYeRd ydy/96UqSIi4wiZeKn3qkSL6Vkfx5qmMZ/D+wEzaYPGsht9fYfZfQTCJtFM8/sZXPoiK DLP/iGG27BWHRgQaXIFV2S7Sl2yQYyPGYkQXlTqlGLBVdykTAcAfdNnJKWrsDItjDKV4 ABJNlZB9p4R5dgkI1NNnugzG3spL5/pKAnfDvHtYiepAmpeUks4E4cyRblkcPqgOsbi6 rCixGGKmm9ag2F1ybe8gwmuQpQ5fpEEFG4wb3ECWd7jjyj6oon7orgwIpoQMYpex7q67 N8OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=VBdXd8jMHa8YfSUmZm1o+mEO+YnY6b9mKc8xcuxjBRY=; b=VhxYoodr/a2Ioa5eeyEdeG65+trUvx3DYZtXvcvYW4J6YnFh3vC+lr57bNVY+J64Rc MH1qsgIfOcV2JYBclN4Jx/2Tac50EB7V4BI7bear/zk3xdLXq0M+iqFpJdYY1EArQw03 QYE+jfGlMNSLaHlCi0Catjw0J5qMUL91OxWhsGHssPAFAS+BgeDnWhj8zQDYkfcopi0j Yb5y5kV3pUkEt9eIayDsHvXl385uxuosaxivXdiaCJ4D6YcQJlbNVmSWrAruIoN/wuUq 0qzHohVSIMtZcheTGIQ0V+X6LmMKx/1wK3owkjhXENCpeiaPrjrmAdpIfQjVIJvB2flZ yMkg== X-Gm-Message-State: AOAM530a3ssIayinFBFZHeJtuGxUKDHHMa3ScWP1PamSaL0VZVB0NEQU RGkR1Gw/G51SI22Fe8gMYILaAHhdBSxj+s16wxn2zvjQ8uC2u9CnG+zoT2pE8DOyLL8HCvLGFPr LP0nKj+yYqjEPnlNdm6tXzHw3ZjBG9aN9rZ4XIU1UcQLtMe3u3pMv0beoTCdj5s7uKEgkQNpDSZ y1KA== X-Google-Smtp-Source: ABdhPJyJh8z84GYWTpI++SYM9+Ah+B4gXm++CY/8pCB4MBSI3ejosVWRI19fP8gVjXaFG1J9bjcBpUM6oQ== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a05:6214:30a:: with SMTP id i10mr3072651qvu.42.1620744192737; Tue, 11 May 2021 07:43:12 -0700 (PDT) Date: Tue, 11 May 2021 15:42:47 +0100 In-Reply-To: <20210511144252.3779113-1-tabba@google.com> Message-Id: <20210511144252.3779113-9-tabba@google.com> Mime-Version: 1.0 References: <20210511144252.3779113-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.607.g51e8a6a459-goog Subject: [PATCH v1 08/13] arm64: __clean_dcache_area_poc to take end parameter instead of size From: Fuad Tabba To: linux-arm-kernel@lists.infradead.org Cc: will@kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, maz@kernel.org, ardb@kernel.org, james.morse@arm.com, alexandru.elisei@arm.com, suzuki.poulose@arm.com, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210511_074315_208847_7D821431 X-CRM114-Status: GOOD ( 14.68 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org To be consistent with other functions with similar names and functionality in cacheflush.h, cache.S, and cachetlb.rst, change to specify the range in terms of start and end, as opposed to start and size. Because the code is shared with __dma_clean_area, it changes the parameters for that as well. However, __dma_clean_area, is local to cache.S so no other users are affected. No functional change intended. Reported-by: Will Deacon Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/cacheflush.h | 2 +- arch/arm64/kernel/efi-entry.S | 5 +++-- arch/arm64/mm/cache.S | 16 +++++++--------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h index 695f88864784..3255878d6f30 100644 --- a/arch/arm64/include/asm/cacheflush.h +++ b/arch/arm64/include/asm/cacheflush.h @@ -60,7 +60,7 @@ extern void __flush_icache_range(unsigned long start, unsigned long end); extern void invalidate_icache_range(unsigned long start, unsigned long end); extern void __flush_dcache_area(unsigned long start, unsigned long end); extern void __inval_dcache_area(unsigned long start, unsigned long end); -extern void __clean_dcache_area_poc(void *addr, size_t len); +extern void __clean_dcache_area_poc(unsigned long start, unsigned long end); extern void __clean_dcache_area_pop(void *addr, size_t len); extern void __clean_dcache_area_pou(void *addr, size_t len); extern long __flush_cache_user_range(unsigned long start, unsigned long end); diff --git a/arch/arm64/kernel/efi-entry.S b/arch/arm64/kernel/efi-entry.S index 0073b24b5d25..72e6a580290a 100644 --- a/arch/arm64/kernel/efi-entry.S +++ b/arch/arm64/kernel/efi-entry.S @@ -28,6 +28,7 @@ SYM_CODE_START(efi_enter_kernel) * stale icache entries from before relocation. */ ldr w1, =kernel_size + add x1, x0, x1 bl __clean_dcache_area_poc ic ialluis @@ -36,7 +37,7 @@ SYM_CODE_START(efi_enter_kernel) * so that we can safely disable the MMU and caches. */ adr x0, 0f - ldr w1, 3f + adr x1, 3f bl __clean_dcache_area_poc 0: /* Turn off Dcache and MMU */ @@ -65,4 +66,4 @@ SYM_CODE_START(efi_enter_kernel) mov x3, xzr br x19 SYM_CODE_END(efi_enter_kernel) -3: .long . - 0b +3: diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S index 72a80d19e2d1..7ddf6ff65b15 100644 --- a/arch/arm64/mm/cache.S +++ b/arch/arm64/mm/cache.S @@ -186,24 +186,23 @@ SYM_FUNC_END_PI(__inval_dcache_area) SYM_FUNC_END(__dma_inv_area) /* - * __clean_dcache_area_poc(kaddr, size) + * __clean_dcache_area_poc(start, end) * - * Ensure that any D-cache lines for the interval [kaddr, kaddr+size) + * Ensure that any D-cache lines for the interval [start, end) * are cleaned to the PoC. * - * - kaddr - kernel address - * - size - size in question + * - start - virtual start address of region + * - end - virtual end address of region */ SYM_FUNC_START_LOCAL(__dma_clean_area) SYM_FUNC_START_PI(__clean_dcache_area_poc) /* FALLTHROUGH */ /* - * __dma_clean_area(start, size) + * __dma_clean_area(start, end) * - start - virtual start address of region - * - size - size in question + * - end - virtual end address of region */ - add x1, x0, x1 dcache_by_line_op cvac, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__clean_dcache_area_poc) @@ -219,10 +218,10 @@ SYM_FUNC_END(__dma_clean_area) * - size - size in question */ SYM_FUNC_START_PI(__clean_dcache_area_pop) + add x1, x0, x1 alternative_if_not ARM64_HAS_DCPOP b __clean_dcache_area_poc alternative_else_nop_endif - add x1, x0, x1 dcache_by_line_op cvap, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__clean_dcache_area_pop) @@ -251,7 +250,6 @@ SYM_FUNC_START_PI(__dma_map_area) add x1, x0, x1 cmp w2, #DMA_FROM_DEVICE b.eq __dma_inv_area - sub x1, x1, x0 b __dma_clean_area SYM_FUNC_END_PI(__dma_map_area) -- 2.31.1.607.g51e8a6a459-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel