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, 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 1A618C04FF3 for ; Mon, 24 May 2021 19:19:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 C9103610FA for ; Mon, 24 May 2021 19:19:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C9103610FA 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=bombadil.20210309; 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=Lnj6fv+KUPOWqvQXDt2OoqAMm3BYX8l1O+MrAJJ+Efc=; b=cO9fhaKpTQ0gpYVP+hiiOxQMdZ 2kk8BqPEDp3RhrGTCFR35ADoBmqHQVB3nxEwvXdzB38AuP57nwl7BoOdSlG5wGwAizLhsSmVRUwCF vqTsq6MWAWnS4Unu/6NxW3WcC70m6ETHaKu+cQqAwZwC/7764usTtkSol6nU5hdLzVrmvXxzALiIn LygcOvoruKW7OJ8g76dMr/ltYu6gpmDX24AP3BkVRpOCn3qUToTXIC04jwwqsziXMaou+/2nHBJXE XkC/Mt/C6U9Kfy7XG4cZYBQxedDqFOj0Ss80ckiKoeLrmOjo9Qcw61OSdkbq04xDZsyDifUmD5C4d r8oEKbGg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1llG4R-001dKH-WA; Mon, 24 May 2021 19:17:02 +0000 Received: from mail-ed1-x549.google.com ([2a00:1450:4864:20::549]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ll5yd-000lqY-Ep for linux-arm-kernel@lists.infradead.org; Mon, 24 May 2021 08:30:20 +0000 Received: by mail-ed1-x549.google.com with SMTP id q18-20020a0564025192b02903888712212fso15174205edd.19 for ; Mon, 24 May 2021 01:30:17 -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=sxIqC+Bgt7ix9ifKEzcWzK/fsKAMYfGl6MPufjOvHTU=; b=g3yn8ydEbXrayjIyu3oGitwQFK53KaumR/c6r9enkeJKEow3IW2BZreBb0zbP8swtB 9n6BLUayVHOnBt/EFtNS2WLI5nQelO7bQNMQSHvkAZIVhn/EKV+6HRiZlqiL2CIEGwMX yB64jTnwbd390xKY3TrGnRjDa5njjED5cXZJgJZ+PngGfyC0MdcP/a74iCo3K5q5q8QP Sy3YaWamd3k81j5dCXJmlFbIw+mO8HT/XH7YSMkcNYAXk8svAAhzR4KmFooAkp7MvriG 4YrDdpFvQxyTAW+VdhmuTYM0QN6V7JMFI6gbaGziyPAj+srYrDszQzshckggv60rd5YM elug== 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=sxIqC+Bgt7ix9ifKEzcWzK/fsKAMYfGl6MPufjOvHTU=; b=mHdops794C6z8Dh4S0XBkEbcq+DSt8f9akOQ70VZmb+yvBfWQPge04wDItdr5iH0SD Md0F1QLhIbTtiI3BK746yiuIrFLFANLVqNu71iQdxxrfU1mUlMJLXKzWSPalKqAxO9Ft wN8Tj/ugges6EVXglY2oHoaxIowZhmOc40DiEEP+pdpSViNxLylHz+Hn46BCA0QrlrVh zcQijcWpcXTMjccPsaMYIQCG7Qu/oFdpmh6tZde+GveqEXl8DteimtZl/sZuvg77P0zH ksS/ZFiJIbJ+Y7VGLnuCpnKq23VBCK/H2ooVW6elpeNB+AiqY4H69mELP/mmrq4gsq4b ISEA== X-Gm-Message-State: AOAM531VsXLp1Ev7H30J/Hvm7Kd6V7/X+FJdpkQm244Mn4lzwmpQgcyb 8zeGs7PLvKQUNNp3/ayIJZJovwZwgtLawoxXbZ7gVHVmf6QNQJJgup/MlxZuyazA3pnzJezmn7d ZRklIijCY659bgirs1MSeDR3o2CJwkd+FFIY/DVY8YrHgf+izq5vWFQXSBHg0bEQ2dzXeqbJt2+ b0VQ== X-Google-Smtp-Source: ABdhPJwObaHjF4surEbYc0CmgBq+TzWPJKJHV3dkjT5HSLRAI5otl5nWH6RNTHaY8G1LTiRUPLj8lybvTw== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a17:906:e98:: with SMTP id p24mr22030150ejf.478.1621845016330; Mon, 24 May 2021 01:30:16 -0700 (PDT) Date: Mon, 24 May 2021 09:29:49 +0100 In-Reply-To: <20210524083001.2586635-1-tabba@google.com> Message-Id: <20210524083001.2586635-7-tabba@google.com> Mime-Version: 1.0 References: <20210524083001.2586635-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog Subject: [PATCH v4 06/18] arm64: Downgrade flush_icache_range to invalidate 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-20210524_013019_516114_E6A0692A X-CRM114-Status: GOOD ( 12.26 ) 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 Since __flush_dcache_area is called right before, invalidate_icache_range is sufficient in this case. Rewrite the comment to better explain the rationale behind the cache maintenance operations used here. No functional change intended. Possible performance impact due to invalidating only the icache rather than invalidating and cleaning both caches. Reported-by: Catalin Marinas Reported-by: Will Deacon Link: https://lore.kernel.org/linux-arch/20200511110014.lb9PEahJ4hVOYrbwIb_qUHXyNy9KQzNFdb_I3YlzY6A@z/ Acked-by: Mark Rutland Signed-off-by: Fuad Tabba --- arch/arm64/kernel/machine_kexec.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c index 90a335c74442..a03944fd0cd4 100644 --- a/arch/arm64/kernel/machine_kexec.c +++ b/arch/arm64/kernel/machine_kexec.c @@ -68,10 +68,14 @@ int machine_kexec_post_load(struct kimage *kimage) kimage->arch.kern_reloc = __pa(reloc_code); kexec_image_info(kimage); - /* Flush the reloc_code in preparation for its execution. */ + /* + * For execution with the MMU off, reloc_code needs to be cleaned to the + * PoC and invalidated from the I-cache. + */ __flush_dcache_area(reloc_code, arm64_relocate_new_kernel_size); - flush_icache_range((uintptr_t)reloc_code, (uintptr_t)reloc_code + - arm64_relocate_new_kernel_size); + invalidate_icache_range((uintptr_t)reloc_code, + (uintptr_t)reloc_code + + arm64_relocate_new_kernel_size); return 0; } -- 2.31.1.818.g46aad6cb9e-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel