From: Chen Zhou <chenzhou10@huawei.com>
To: <tglx@linutronix.de>, <mingo@redhat.com>, <dyoung@redhat.com>,
<bhe@redhat.com>, <catalin.marinas@arm.com>, <will@kernel.org>,
<corbet@lwn.net>, <John.P.donnelly@oracle.com>,
<bhsharma@redhat.com>, <prabhakar.pkin@gmail.com>
Cc: <horms@verge.net.au>, <robh+dt@kernel.org>, <arnd@arndb.de>,
<nsaenzjulienne@suse.de>, <james.morse@arm.com>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<kexec@lists.infradead.org>, <linux-doc@vger.kernel.org>,
<chenzhou10@huawei.com>, <xiexiuqi@huawei.com>,
<guohanjun@huawei.com>, <huawei.libin@huawei.com>,
<wangkefeng.wang@huawei.com>,
John Donnelly <John.p.donnelly@oracle.com>
Subject: [PATCH v13 5/8] arm64: kdump: introduce some macroes for crash kernel reservation
Date: Sat, 31 Oct 2020 15:44:34 +0800 [thread overview]
Message-ID: <20201031074437.168008-6-chenzhou10@huawei.com> (raw)
In-Reply-To: <20201031074437.168008-1-chenzhou10@huawei.com>
Introduce macro CRASH_ALIGN for alignment, macro CRASH_ADDR_LOW_MAX
for upper bound of low crash memory, macro CRASH_ADDR_HIGH_MAX for
upper bound of high crash memory, use macroes instead.
Besides, keep consistent with x86, use CRASH_ALIGN as the lower bound
of crash kernel reservation.
Signed-off-by: Chen Zhou <chenzhou10@huawei.com>
Tested-by: John Donnelly <John.p.donnelly@oracle.com>
---
arch/arm64/include/asm/kexec.h | 6 ++++++
arch/arm64/include/asm/processor.h | 1 +
arch/arm64/mm/init.c | 8 ++++----
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h
index d24b527e8c00..402d208265a3 100644
--- a/arch/arm64/include/asm/kexec.h
+++ b/arch/arm64/include/asm/kexec.h
@@ -25,6 +25,12 @@
#define KEXEC_ARCH KEXEC_ARCH_AARCH64
+/* 2M alignment for crash kernel regions */
+#define CRASH_ALIGN SZ_2M
+
+#define CRASH_ADDR_LOW_MAX arm64_dma32_phys_limit
+#define CRASH_ADDR_HIGH_MAX MEMBLOCK_ALLOC_ACCESSIBLE
+
#ifndef __ASSEMBLY__
/**
diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h
index fce8cbecd6bc..12131655cab7 100644
--- a/arch/arm64/include/asm/processor.h
+++ b/arch/arm64/include/asm/processor.h
@@ -96,6 +96,7 @@
#endif /* CONFIG_ARM64_FORCE_52BIT */
extern phys_addr_t arm64_dma_phys_limit;
+extern phys_addr_t arm64_dma32_phys_limit;
#define ARCH_LOW_ADDRESS_LIMIT (arm64_dma_phys_limit - 1)
struct debug_info {
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index 095540667f0f..a07fd8e1f926 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -60,7 +60,7 @@ EXPORT_SYMBOL(memstart_addr);
* bit addressable memory area.
*/
phys_addr_t arm64_dma_phys_limit __ro_after_init;
-static phys_addr_t arm64_dma32_phys_limit __ro_after_init;
+phys_addr_t arm64_dma32_phys_limit __ro_after_init;
#ifdef CONFIG_KEXEC_CORE
/*
@@ -85,8 +85,8 @@ static void __init reserve_crashkernel(void)
if (crash_base == 0) {
/* Current arm64 boot protocol requires 2MB alignment */
- crash_base = memblock_find_in_range(0, arm64_dma32_phys_limit,
- crash_size, SZ_2M);
+ crash_base = memblock_find_in_range(CRASH_ALIGN, CRASH_ADDR_LOW_MAX,
+ crash_size, CRASH_ALIGN);
if (crash_base == 0) {
pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
crash_size);
@@ -104,7 +104,7 @@ static void __init reserve_crashkernel(void)
return;
}
- if (!IS_ALIGNED(crash_base, SZ_2M)) {
+ if (!IS_ALIGNED(crash_base, CRASH_ALIGN)) {
pr_warn("cannot reserve crashkernel: base address is not 2MB aligned\n");
return;
}
--
2.20.1
next prev parent reply other threads:[~2020-10-31 7:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-31 7:44 [PATCH v13 0/8] support reserving crashkernel above 4G on arm64 kdump Chen Zhou
2020-10-31 7:44 ` [PATCH v13 1/8] x86: kdump: replace the hard-coded alignment with macro CRASH_ALIGN Chen Zhou
2020-11-11 1:38 ` Baoquan He
2020-11-11 13:26 ` chenzhou
2020-11-12 7:58 ` Mike Rapoport
2020-11-12 8:12 ` chenzhou
2020-10-31 7:44 ` [PATCH v13 2/8] x86: kdump: make the lower bound of crash kernel reservation consistent Chen Zhou
2020-10-31 7:44 ` [PATCH v13 3/8] x86: kdump: use macro CRASH_ADDR_LOW_MAX in functions reserve_crashkernel() Chen Zhou
2020-10-31 7:44 ` [PATCH v13 4/8] x86: kdump: move reserve_crashkernel[_low]() into crash_core.c Chen Zhou
2020-11-12 8:11 ` Mike Rapoport
2020-11-12 13:01 ` chenzhou
2020-10-31 7:44 ` Chen Zhou [this message]
2020-10-31 7:44 ` [PATCH v13 6/8] arm64: kdump: reimplement crashkernel=X Chen Zhou
2020-11-11 1:59 ` Baoquan He
2020-11-11 13:27 ` chenzhou
2020-11-11 13:54 ` Baoquan He
2020-11-12 8:25 ` Mike Rapoport
2020-11-12 8:36 ` Baoquan He
2020-11-12 13:11 ` chenzhou
2020-10-31 7:44 ` [PATCH v13 7/8] arm64: kdump: add memory for devices by DT property linux,usable-memory-range Chen Zhou
2020-10-31 7:44 ` [PATCH v13 8/8] kdump: update Documentation about crashkernel Chen Zhou
2020-11-09 12:34 ` [PATCH v13 0/8] support reserving crashkernel above 4G on arm64 kdump chenzhou
2020-11-11 3:01 ` Baoquan He
2020-11-11 13:29 ` chenzhou
2020-11-11 19:41 ` Bhupesh SHARMA
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201031074437.168008-6-chenzhou10@huawei.com \
--to=chenzhou10@huawei.com \
--cc=John.P.donnelly@oracle.com \
--cc=arnd@arndb.de \
--cc=bhe@redhat.com \
--cc=bhsharma@redhat.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=dyoung@redhat.com \
--cc=guohanjun@huawei.com \
--cc=horms@verge.net.au \
--cc=huawei.libin@huawei.com \
--cc=james.morse@arm.com \
--cc=kexec@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nsaenzjulienne@suse.de \
--cc=prabhakar.pkin@gmail.com \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=xiexiuqi@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).