[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1661747823-23745-1-git-send-email-tangyouling@loongson.cn>
Date: Mon, 29 Aug 2022 12:37:00 +0800
From: Youling Tang <tangyouling@...ngson.cn>
To: Huacai Chen <chenhuacai@...nel.org>, Baoquan He <bhe@...hat.com>,
Eric Biederman <ebiederm@...ssion.com>
Cc: WANG Xuerui <kernel@...0n.name>, Vivek Goyal <vgoyal@...hat.com>,
Dave Young <dyoung@...hat.com>, Guo Ren <guoren@...nel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
kexec@...ts.infradead.org, loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/3] LoongArch: Add kexec/kdump support
This patch series to support kexec/kdump (only 64bit).
Kexec is a system call that enables you to load and boot into another kernel
from the currently running kernel. This is useful for kernel developers or
other people who need to reboot very quickly without waiting for the whole
BIOS boot process to finish.
Kdump uses kexec to quickly boot to a dump-capture kernel whenever a
dump of the system kernel's memory needs to be taken (for example, when
the system panics). The system kernel's memory image is preserved across
the reboot and is accessible to the dump-capture kernel.
For details, see Documentation/admin-guide/kdump/kdump.rst.
User tools kexec-tools see link [1].
TODO:
Currently kdump does not support the same binary image, the production kernel
and the capture kernel will be generated with different configurations. I will
support kernel relocation support in the near future. Then will go to implement
the same binary support based on kernel relocation support.
[1] Link: https://github.com/tangyouling/kexec-tools
Youling Tang (3):
LoongArch: Add kexec support
LoongArch: Add kdump support
LoongArch: Enable CONFIG_KEXEC
arch/loongarch/Kconfig | 33 ++++
arch/loongarch/Makefile | 4 +
arch/loongarch/configs/loongson3_defconfig | 1 +
arch/loongarch/include/asm/kexec.h | 58 +++++++
arch/loongarch/kernel/Makefile | 3 +
arch/loongarch/kernel/crash.c | 100 ++++++++++++
arch/loongarch/kernel/crash_dump.c | 19 +++
arch/loongarch/kernel/head.S | 7 +-
arch/loongarch/kernel/machine_kexec.c | 176 +++++++++++++++++++++
arch/loongarch/kernel/mem.c | 6 +
arch/loongarch/kernel/relocate_kernel.S | 131 +++++++++++++++
arch/loongarch/kernel/setup.c | 49 ++++++
arch/loongarch/kernel/traps.c | 4 +
13 files changed, 590 insertions(+), 1 deletion(-)
create mode 100644 arch/loongarch/include/asm/kexec.h
create mode 100644 arch/loongarch/kernel/crash.c
create mode 100644 arch/loongarch/kernel/crash_dump.c
create mode 100644 arch/loongarch/kernel/machine_kexec.c
create mode 100644 arch/loongarch/kernel/relocate_kernel.S
--
2.36.0
Powered by blists - more mailing lists