From patchwork Mon Jan 25 19:19:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 12044183 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.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, 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 70149C433E0 for ; Mon, 25 Jan 2021 19:28:55 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 1301E224DF for ; Mon, 25 Jan 2021 19:28:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1301E224DF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=soleen.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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe :List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:To:From: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=G401h2VXwk+/sz6hueRezidQ1PAYED3y2DCTf2Ohprs=; b=JxeLBJBJPp0d7sO+v3aFaRzpcz 8yvNfnG77OLlVrzcr7uVaoyiJbFYnlgH7sxdwf6ETulYpZvEYrjvfScQz0LgM0wIyVTvDMQvVMBHJ 7b0fY1xkxN0d/jqX/qgATMNeAdenAeqHXcLc+FKZd1E6xt3qHPQkkAPAn9U2Vl+gPfcHvh8LLFYD/ 6t/YxqlywV1GSTCtkbkBjSCTo+1xTPJEfW051Jmv5DaU70oD68vPUjmqIhbk+2kQEMIXQFq5TZ3Wy EpCXZOv/0QZD/9eXQAlo+bPzrC/tMf3HSAECMRPIAQyOYCdOJahAD1MltgySFdvBjd7C0fChR35LP 9k3MZMRw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l47VN-0001hU-Qx; Mon, 25 Jan 2021 19:26:30 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l47Q3-0007eZ-CB for linux-arm-kernel@merlin.infradead.org; Mon, 25 Jan 2021 19:20:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description; bh=5oItsXz80VGMkIK9n/+4yNTlc3wm3VkQinupbSJHsbU=; b=ZP33txIsk3qoNdFCoVtuAbOGck C9sgiPzLCR+spCygvCl1XOX5WcvveLSYDgHOc6/G+XjKG6cKA6nmOZt3o7PskZ1jSooCvPfWdAI8E YtqlfGLPCBsFf8ciqV8vUs8wJwrDSambaWqyleNyX1ybDfLujoCZgGlb2LDQeX/soWLkBRIOcZlGD 0fQTvuou0lrlrGl6cheDrs5jdlyxjaCPYHD4BMQzMCk8r3hnjjcV/4CwxJQHDBG7vlywl9IZQIGj+ l+B0YB3J5BW6NVCbpHxVILnLZ7IlrlVnpWhZvn5ZpPXmYSDc54pKfgvzoreftF4kgvac7tFIkQbCU DJwG3lgQ==; Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1l47Ow-004Z3m-AG for linux-arm-kernel@lists.infradead.org; Mon, 25 Jan 2021 19:20:29 +0000 Received: by mail-qt1-x82a.google.com with SMTP id t14so6905975qto.8 for ; Mon, 25 Jan 2021 11:19:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=5oItsXz80VGMkIK9n/+4yNTlc3wm3VkQinupbSJHsbU=; b=PZYpwfrFvSlaUCkpDD05HG1cJCDlDOf+CUaa46d/3Sf4IeCJvLQ226vo3BkaPzPeVK JZbb1ZDcCU7ye9jeVV1OG5khyvwWUIfNQO1CqaBvXmiHejT5L+rDVKo6Rm4kpcbugs9G ne9oGFKvOQsVFYgujx0RQze9i3AqNviHN45Bb0YFDIo741ZRjS1YRjfDGXn69eAi4PAV JIhvMTg3YI2g+4P9Vz7u/dSGxJd8MHa37mdnHAj1kcTor+MsBSmxNUee4ll41ONPNKp7 VCcG8A9NH9nt8ykRu91p3nz82wHjF6r3JWAGbffQLeTodD/nuGq7TYWmm9RrzYzoTo1a sSsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5oItsXz80VGMkIK9n/+4yNTlc3wm3VkQinupbSJHsbU=; b=Zte3uNaUEjdLu5nKX/s2uWKo9A8qpBDT1Ab5KrhzZhmHESByPK9goy35J0bXGQw3RB qCvfsD0lFi6Wb5PGGFyjNkzsKrzXzHHGKlYVEVEwiDgvpQmy5s8kRFoNkodXduS4Bec1 zSWBPeLHKKcMJm9Q4yqTqigXDQzj8TQxT6QsTrc/fLm9V+6TAgk+cD3CDzBgKqPzxJwR bqEu+Pd8P0fBLiUykC0O27lSrdb9I7uY7KV7r/Bdr3fpJev1Te1XtEkmgZyWpR2XNuq6 X4D8F12vwKoUiaC60f561lC64IUgV2T9UTvcEppmfLOrtYebkYGWOJGFzqblV9jnjKpS bm1g== X-Gm-Message-State: AOAM532sJorekFetRG7Y/0ydRiMpKWnJQWwIzwMfSUYtuQgE0O33YgwS BbdL4VIaepgOdNAeA+9R9FXts6kwMgYsmg== X-Google-Smtp-Source: ABdhPJydaAMyVai0d0oDbWxmrL/nu0WOLUZ8DiszpSfhSyLHotQkTYoRRSqhOnxoO+wBONtIKJSi8w== X-Received: by 2002:ac8:490e:: with SMTP id e14mr1966761qtq.99.1611602380917; Mon, 25 Jan 2021 11:19:40 -0800 (PST) Received: from localhost.localdomain (c-73-69-118-222.hsd1.nh.comcast.net. [73.69.118.222]) by smtp.gmail.com with ESMTPSA id s6sm9047638qtx.63.2021.01.25.11.19.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jan 2021 11:19:40 -0800 (PST) From: Pavel Tatashin To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, maz@kernel.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com, tyhicks@linux.microsoft.com Subject: [PATCH v10 10/18] arm64: kexec: call kexec_image_info only once Date: Mon, 25 Jan 2021 14:19:15 -0500 Message-Id: <20210125191923.1060122-11-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210125191923.1060122-1-pasha.tatashin@soleen.com> References: <20210125191923.1060122-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210125_192028_783879_FB3C07B5 X-CRM114-Status: GOOD ( 11.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Currently, kexec_image_info() is called during load time, and right before kernel is being kexec'ed. There is no need to do both. So, call it only once when segments are loaded and the physical location of page with copy of arm64_relocate_new_kernel is known. Signed-off-by: Pavel Tatashin Acked-by: James Morse --- arch/arm64/kernel/machine_kexec.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c index a8aaa6562429..90a335c74442 100644 --- a/arch/arm64/kernel/machine_kexec.c +++ b/arch/arm64/kernel/machine_kexec.c @@ -66,6 +66,7 @@ int machine_kexec_post_load(struct kimage *kimage) memcpy(reloc_code, arm64_relocate_new_kernel, arm64_relocate_new_kernel_size); kimage->arch.kern_reloc = __pa(reloc_code); + kexec_image_info(kimage); /* Flush the reloc_code in preparation for its execution. */ __flush_dcache_area(reloc_code, arm64_relocate_new_kernel_size); @@ -84,8 +85,6 @@ int machine_kexec_post_load(struct kimage *kimage) */ int machine_kexec_prepare(struct kimage *kimage) { - kexec_image_info(kimage); - if (kimage->type != KEXEC_TYPE_CRASH && cpus_are_stuck_in_kernel()) { pr_err("Can't kexec: CPUs are stuck in the kernel.\n"); return -EBUSY; @@ -170,8 +169,6 @@ void machine_kexec(struct kimage *kimage) WARN(in_kexec_crash && (stuck_cpus || smp_crash_stop_failed()), "Some CPUs may be stale, kdump will be unreliable.\n"); - kexec_image_info(kimage); - /* Flush the kimage list and its buffers. */ kexec_list_flush(kimage);