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 0F5E0C433ED for ; Mon, 17 May 2021 07:58:40 +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 81F726105A for ; Mon, 17 May 2021 07:58:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 81F726105A 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=RyORI1oTa+87FpzkbUB7NG5knHIqGcv2+Mqm+2O5//o=; b=ZRHR75gC5Yn2dL 5w0ks8KQcu+aTSafYCOUfNRMoh9SotLgR60hJJdWnf3lIaKHjx8HLUO7kp+hrwEnliw/Xg8m5opSN UMh9p4G21fzF0xH0lHgjF2Mf6Ex6kqTtcAZBdCXCKbSVJY10AXuseCwl5oE5OMiQyG8ULbo4auQdl nDe/Egq63Rv3CVd6AIej/lHE1hTlF1c/XGlacF8xa590UbocLt5efJs3Mfhw8NmBYxXudtlSfmBnc X9VTOVqFwvs9e/L37RS99hAmmgqYgGOf3O6q8AlGsw7gW2lQWRLbklHBxX3AQUNrYfkrXw3pCRgkd Ii30m3hRjZ90BKoX527Q==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1liY7E-00E7eN-CS; Mon, 17 May 2021 07:56:44 +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 1liY2N-00E6X2-SO for linux-arm-kernel@desiato.infradead.org; Mon, 17 May 2021 07:51:40 +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=SbbNH0PC72XgGxWwdZdmmhNjeb6bnuUCdjTicxW0r8w=; b=wEMMk40+XDew4u0xxw5vMTLvdz tyWnYxz/wg8XFRSklmDuuRgRypw/XF8QLTg6TuqJsyXBG7EiIth7NQfKhUIgHTcvrJ0snwu9zwD82 8tC2CIQZ3Dx269rhm0YS92mpm+fKGVnR2cSTCggBsZSYf6PI7si+fjiHonzoZWhwvA2qfgX6BCdgt hNky0SWiXpKdkOxv0dnlEMr1wI2JL7J8IF9tMNY19WITk3uAAfWmNzqbJ8PkcDOL+ZW0lnVIKFFjK tFx952JqWpbPaH0CH04xnapR9oXzyH0ZHDiStPvprS2LNvWxI2cHamrqjlFLpB5IYHlKlCufhp9uW nhmLM8Yg==; Received: from mail-wr1-x44a.google.com ([2a00:1450:4864:20::44a]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liY2L-00DYwH-6w for linux-arm-kernel@lists.infradead.org; Mon, 17 May 2021 07:51:38 +0000 Received: by mail-wr1-x44a.google.com with SMTP id d12-20020adfc3cc0000b029011166e2f1a7so2503451wrg.19 for ; Mon, 17 May 2021 00:51:35 -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=SbbNH0PC72XgGxWwdZdmmhNjeb6bnuUCdjTicxW0r8w=; b=ST1rZrDERwxml4qWbn2rkPSMUcW+hYtwJZoWnpyhvlHOj+DGMCRWQFN1/QoH1cOjzs n/IYQez6vNQwiBjsaOVkAYurgO+w8y3BJwUco9JutPeqVhskMqWJyepbhoiG0bqr7RLn YbOmxnkrMbrregWqvCVeDQo2PD2hjRDoJw5N/MbGMCcbdWUToZbHCyv3F1J0dG1lUrxT eFUa+mUT44cpQ0LLPZ2xunjjZhPCfmaQaf9tVi1cMBtYTKbUV1WZOi0EPXg6jtfVQSw7 3/CbVxK0AOnEo1NH8ZkawvFbHWrzRk4E3tMlwX7SEwKCGwQaILeVx+Osz5VwDjef+Ihq EpMA== 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=SbbNH0PC72XgGxWwdZdmmhNjeb6bnuUCdjTicxW0r8w=; b=ODr1EWyIsU6BVDo5UIKjNeli6ry9aR7MkZuiyVK6UUvdobzqjAJJgALKKCo5w3sDsd nO8Zai0oT89//ipkwbAXEomxZ83pklodvp03uPsWR/Vv1tRxWFSVDT8TZkEBgTPKL7hE sfbNKcjzN7gxq4lTnmX23bOtwcjq5lzTdDjIv6UbmQpD+UmxPuIGsubOGoEDEAoiOqkJ rR/FZ6VNiX6mbrm0gEN3qnk16w86AQvmvuD+znVAsiMb/yHjNSvFdxPrcjkGrR4/sbYx aDeNIpo/tG+SNA58wYo/EtTtqgN6dsxq8pA6Wqxm/u46ym+taa97p8+GC4hkVNARAdVW AMSA== X-Gm-Message-State: AOAM532GtQ3UUnQgubH5sr1oOasVARNiwNU79FpYURyZCTsN7HycIVop GyQAmrpG3t7Tb5hJyWPNgUJaQVfdp5XYMYpnHfDLJscRRxmlqbnK2+0XKZMp1BsYx+cVE8AIa65 CrGhtw8WnosGtdH5IWta1KxB2LmjDQsdbdu2KexUv3DuOz82fisryqYFZJNnCW8SuKJKXoX2ULt fkgw== X-Google-Smtp-Source: ABdhPJy5MhLyqSEgOxXilo6PJ+9dOwVIPC1FZwiNvr8UBQ5r4MUEoOaZBV8IQVVWRHv/SCc+Ro/dB65fGg== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a05:6000:2c2:: with SMTP id o2mr39716332wry.398.1621237894771; Mon, 17 May 2021 00:51:34 -0700 (PDT) Date: Mon, 17 May 2021 08:51:12 +0100 In-Reply-To: <20210517075124.152151-1-tabba@google.com> Message-Id: <20210517075124.152151-5-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 04/16] 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-20210517_005137_271934_CEB414EF X-CRM114-Status: GOOD ( 11.99 ) 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/ 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..ecd8915e02e1 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 and I-cache on, 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.751.gd2f1c929bd-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel