Hi, Xuerui
On 02/22/2023 05:05 PM, WANG Xuerui wrote:
On 2023/2/22 14:53, Youling Tang wrote:OK.
This feature depends on the relocation function, so the relocation
configuration
CONFIG_RELOCATABLE will be enabled.
In general try to describe things briefly: "This depends on the kernel
being relocatable" would be enough in this case.
Add the same set of binary implementations for kdump, and then no
longer need to
compile two kernels (the production kernel and the capture kernel
share the same
binary).
Sorry but what do you mean by "same set of binary implementation",
where's the "first set of binary implementation"?
kdump requires two kernels, the production kernel and the capture
kernel, which made the final link address different through different
configuration options in the previous implementation. Now it is
possible to share a kernel, and after entering the capture kernel, it
can be corrected by relocation.
Judging from the patch content, I guess it's kinda wrong translation,
and what you actually mean is something like "enable using the same
image for crashkernel"?
Or "LoongArch: kdump: Add support for using a single image" ?
CONFIG_CRASH_DUMP is enabled by default (CONFIG_RELOCATABLE is also
enabled).
No it's not: you didn't add "default y" anywhere. What you actually did
is to enable it *in the defconfig*. And the latter part about
CONFIG_RELOCATABLE shouldn't be necessary, it's implementation detail
after all, and the users likely don't have to be aware of it.
Better reword a little bit, like "Also enable CONFIG_CRASH_DUMP in
loongson3_defconfig".
Thanks, I'll rewrite the commit message.
Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxxx>
---
arch/loongarch/Kconfig | 12 +-----------
arch/loongarch/Makefile | 4 ----
arch/loongarch/configs/loongson3_defconfig | 1 +
arch/loongarch/include/asm/addrspace.h | 2 ++
arch/loongarch/kernel/head.S | 2 +-
5 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index ab4c2ab146ab..84f220273296 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -502,6 +502,7 @@ config KEXEC
config CRASH_DUMP
bool "Build kdump crash kernel"
+ select RELOCATABLE
help
Generate crash dump after being started by kexec. This should
be normally only set in special crash dump kernels which are
@@ -511,17 +512,6 @@ config CRASH_DUMP
For more details see Documentation/admin-guide/kdump/kdump.rst
-config PHYSICAL_START
- hex "Physical address where the kernel is loaded"
- default "0x90000000a0000000"
- depends on CRASH_DUMP
- help
- This gives the XKPRANGE address where the kernel is loaded.
- If you plan to use kernel for capturing the crash dump change
- this value to start of the reserved region (the "X" value as
- specified in the "crashkernel=YM@XM" command line boot parameter
- passed to the panic-ed kernel).
-
config RELOCATABLE
bool "Relocatable kernel"
help
diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile
index 2aba6ff30436..8304fed7aa42 100644
--- a/arch/loongarch/Makefile
+++ b/arch/loongarch/Makefile
@@ -79,11 +79,7 @@ endif
cflags-y += -ffreestanding
cflags-y += $(call cc-option, -mno-check-zero-division)
-ifndef CONFIG_PHYSICAL_START
load-y = 0x9000000000200000
-else
-load-y = $(CONFIG_PHYSICAL_START)
-endif
bootvars-y = VMLINUX_LOAD_ADDRESS=$(load-y)
Both load-y and VMLINUX_LOAD_ADDRESS are kinda LoongArch-ism (stemming
from similar usage in arch/mips apparently), so why not just drop load-y
and fold the constant into the bootvars-y definition? So we have one
piece of "special" definition instead of two.
This series of patches will not modify it, perhaps it can be submitted
and discussed separately later.