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.1 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,SPF_PASS, 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 1B51BC433ED for ; Mon, 17 May 2021 08:02:32 +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 A05A361042 for ; Mon, 17 May 2021 08:02:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A05A361042 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=FYKT845bRw4NtJ4B5RHWpSerfL4nBEFaJOj9+/YXobE=; b=pYG6xbRc60iVpR 5ayICrhgf90FP7/0J/6pid3B3p1xmiYDYs9K5aeIKhmKFSvPSRazgudyoKVZcQsHk32nQ/QUspZp0 wJkhp8QcPXJW1Gkqi1Qx4OecLDgRBOAUZLgVg6ImDKUhtd2ZsMbtgtwN8CBj3s+C790Zr23x4dhim NcwQipjte1/vytHqeD7fozYlf9l/uZ7H5XpCMfpJQdoOlmG00nseb4cfOALITHnVG5cl5GMfhMHD3 WFhEhPWlmNdSjgSUd9ya5Tqa4IZKYPGwUxTDP7VgFsPQkOCmNhDbw0kUl3exCGmpldNB72OOBqW1x CiSeK3G2Zt8az2vR3k4g==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1liYAZ-00E8YY-3X; Mon, 17 May 2021 08:00:07 +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 1liY2Y-00E6cK-E5 for linux-arm-kernel@desiato.infradead.org; Mon, 17 May 2021 07:51:50 +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=MnU53tpHz5any654e99iA4zDaSVL5BGmFnuo1gKdrgc=; b=mFtnvr26zdpqost163MIwCvD+8 oduvmvPswcuPoM12lDvAGrvn/3/aK03EK2c/30A2UUdY5ieOSD6naHBsNK4XaFBTfKVYx/lMzUSYy 1vjaVuci1zoLYKrflTQBEC41Vli5fKiMwax83APIHcJ4OqqhdF5+0USNLaqUstvU6BzzX8fnxPi/Y yBmsWoZS8EA5hciifNt9wa/dXHutKMkB+SGMK3n6p97lCcfqpA/kC2b0GG0ZKu1r+dgh5CRfHeLsd pNikFjJqbrRYqCuglNYJzhQbbM9BKRo+sYR8+uJZaTD/Ia0hqem72BVKsSRl1GfCZS1wTs9xTVWpC WAuAv+7Q==; Received: from mail-yb1-xb4a.google.com ([2607:f8b0:4864:20::b4a]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liY2V-00DYyB-Mx for linux-arm-kernel@lists.infradead.org; Mon, 17 May 2021 07:51:49 +0000 Received: by mail-yb1-xb4a.google.com with SMTP id p140-20020a25d8920000b0290508c3296a35so6542682ybg.8 for ; Mon, 17 May 2021 00:51:45 -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=MnU53tpHz5any654e99iA4zDaSVL5BGmFnuo1gKdrgc=; b=AWapNUzNktWmnDkzLZNf56WPDBXF0U+LD8fq8gXnhyTFrrc3Y1vh40Rx2/sTbbU0AK ugYdfxa1ripe0Z8ZuQuWPaGcaZ1Dwf2H/6tfRMOo8cglip8OWjvLq9vmZg+2IwJLAq/q s9NdV/9kg4wrlRZMl9SjZKPqpAHYJHXzbkky4UKtLvc+nIE47LoGjkejAacbkymvrJ2n jvgpaVDdjGxet9ypL1TC5JvbRu97VMm1DaI/ihLiNE4xzwk4ysbrVRvwjW3v/CB/wap1 NANaEUsDi3RoeDLe/eO9q3N+jCmXTRvSLpPkCMNHaSKWLK5Adb3RPuSh8lt4I6yqSxLH MdlQ== 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=MnU53tpHz5any654e99iA4zDaSVL5BGmFnuo1gKdrgc=; b=oJzPN8/4k1QG50YeCknLbV7Gf6hIrRifsxcRcUAeNiRe+FI9Sc0SQv98LC451Zk6wu TCB2fqXVmA4uVS7GH7jTaabUNWBjyN4bIgerou3asXc1TGVkE1Z0SZWZrl7qPTetWaBt Jp+4twJr2S9ec/lpmcoNJiC8xAF+XrGixWIFuj+c5Z1Xp6TNZm/Lq5iF/2XWtyTUvZJe bMndYem+H+YAM3Zr4eCf9aroq1CCUfvDek8EyHHC5k69r7J+T4tE9HbPBO0Xn0Z7tmg9 18R/WEGN5eXLujfEV4WADOr80YrOL9kPupa1szZJfBExlwPL+COVI53rjR5KYXIZifOS 3tGw== X-Gm-Message-State: AOAM530u4kl2R8DOvJ7MG5eIzZj8fI+egH/vOQe2pQu7itb5twDGJNvB KkdTvBhzzkLDsSJiOx4ez+1Brk6yp54OUxWVfmpDoTct5KXAZbnBFt95uzZXocgEB8G9uNt0KVY 46Mpczb/TWIMkeCkMt6wd4ToXgldTdrdqXKmifNjf4NdMLeoj7Ve9pl4hfTu6/hYbdd3KEZdS05 EQog== X-Google-Smtp-Source: ABdhPJxBl5uE3ZwFv7h6YR/emNSaCp+kiG1eVvuS0COIoT+UtIv9roUAWTqyTjXmw/CqouvRrY/aYhLsgQ== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a25:84d1:: with SMTP id x17mr41782079ybm.127.1621237905106; Mon, 17 May 2021 00:51:45 -0700 (PDT) Date: Mon, 17 May 2021 08:51:17 +0100 In-Reply-To: <20210517075124.152151-1-tabba@google.com> Message-Id: <20210517075124.152151-10-tabba@google.com> Mime-Version: 1.0 References: <20210517075124.152151-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.751.gd2f1c929bd-goog Subject: [PATCH v2 09/16] arm64: dcache_by_line_op 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, robin.murphy@arm.com, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210517_005147_771023_D092904D X-CRM114-Status: GOOD ( 12.51 ) 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. No functional change intended. Reported-by: Will Deacon Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/assembler.h | 27 +++++++++++++-------------- arch/arm64/kvm/hyp/nvhe/cache.S | 1 + arch/arm64/mm/cache.S | 5 +++++ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h index 2bcfc5fdfafd..3f75a600e6c0 100644 --- a/arch/arm64/include/asm/assembler.h +++ b/arch/arm64/include/asm/assembler.h @@ -385,39 +385,38 @@ alternative_endif /* * Macro to perform a data cache maintenance for the interval - * [kaddr, kaddr + size) + * [start, end) * * op: operation passed to dc instruction * domain: domain used in dsb instruciton - * kaddr: starting virtual address of the region - * size: size of the region - * Corrupts: kaddr, size, tmp1, tmp2 + * start: starting virtual address of the region + * end: end virtual address of the region + * Corrupts: start, end, tmp1, tmp2 */ - .macro dcache_by_line_op op, domain, kaddr, size, tmp1, tmp2 + .macro dcache_by_line_op op, domain, start, end, tmp1, tmp2 dcache_line_size \tmp1, \tmp2 - add \size, \kaddr, \size sub \tmp2, \tmp1, #1 - bic \kaddr, \kaddr, \tmp2 + bic \start, \start, \tmp2 9998: .ifc \op, cvau - __dcache_op_workaround_clean_cache \op, \kaddr + __dcache_op_workaround_clean_cache \op, \start .else .ifc \op, cvac - __dcache_op_workaround_clean_cache \op, \kaddr + __dcache_op_workaround_clean_cache \op, \start .else .ifc \op, cvap - sys 3, c7, c12, 1, \kaddr // dc cvap + sys 3, c7, c12, 1, \start // dc cvap .else .ifc \op, cvadp - sys 3, c7, c13, 1, \kaddr // dc cvadp + sys 3, c7, c13, 1, \start // dc cvadp .else - dc \op, \kaddr + dc \op, \start .endif .endif .endif .endif - add \kaddr, \kaddr, \tmp1 - cmp \kaddr, \size + add \start, \start, \tmp1 + cmp \start, \end b.lo 9998b dsb \domain .endm diff --git a/arch/arm64/kvm/hyp/nvhe/cache.S b/arch/arm64/kvm/hyp/nvhe/cache.S index 36cef6915428..3bcfa3cac46f 100644 --- a/arch/arm64/kvm/hyp/nvhe/cache.S +++ b/arch/arm64/kvm/hyp/nvhe/cache.S @@ -8,6 +8,7 @@ #include SYM_FUNC_START_PI(__flush_dcache_area) + add x1, x0, x1 dcache_by_line_op civac, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__flush_dcache_area) diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S index 16660cbc45bf..b599c334a2e8 100644 --- a/arch/arm64/mm/cache.S +++ b/arch/arm64/mm/cache.S @@ -119,6 +119,7 @@ SYM_FUNC_END(invalidate_icache_range) * - size - size in question */ SYM_FUNC_START_PI(__flush_dcache_area) + add x1, x0, x1 dcache_by_line_op civac, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__flush_dcache_area) @@ -137,6 +138,7 @@ alternative_if ARM64_HAS_CACHE_IDC dsb ishst ret alternative_else_nop_endif + add x1, x0, x1 dcache_by_line_op cvau, ish, x0, x1, x2, x3 ret SYM_FUNC_END(__clean_dcache_area_pou) @@ -198,6 +200,7 @@ SYM_FUNC_START_PI(__clean_dcache_area_poc) * - start - virtual start address of region * - size - size in question */ + add x1, x0, x1 dcache_by_line_op cvac, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__clean_dcache_area_poc) @@ -216,6 +219,7 @@ SYM_FUNC_START_PI(__clean_dcache_area_pop) 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) @@ -229,6 +233,7 @@ SYM_FUNC_END_PI(__clean_dcache_area_pop) * - size - size in question */ SYM_FUNC_START_PI(__dma_flush_area) + add x1, x0, x1 dcache_by_line_op civac, sy, x0, x1, x2, x3 ret SYM_FUNC_END_PI(__dma_flush_area) -- 2.31.1.751.gd2f1c929bd-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel