From: Geoff Levand <geoff@infradead.org>
To: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
AKASHI@infradead.org, marc.zyngier@arm.com,
kexec@lists.infradead.org, Takahiro <takahiro.akashi@linaro.org>,
linux-arm-kernel@lists.infradead.org,
christoffer.dall@linaro.org
Subject: [PATCH 00/16] arm64 kexec kernel patches v10
Date: Mon, 19 Oct 2015 23:38:53 +0000 [thread overview]
Message-ID: <cover.1445297709.git.geoff@infradead.org> (raw)
Hi All,
This series adds the core support for kexec re-boot and kdump on ARM64. This
v10 of the series combines Takahiro's kdump patches with my kexec patches.
To load a second stage kernel and execute a kexec re-boot or to work with kdump
on ARM64 systems a series of patches to kexec-tools [2], which have not yet been
merged upstream, are needed.
I have tested kexec with the ARM Foundation model, and Takahiro has reported
that kdump is working on the 96boards HiKey developer board. Kexec on EFI
systems works correctly. More ACPI + kexec testing is needed.
Patch 1 here moves the macros from proc-macros.S to asm/assembler.h so that the
dcache_line_size macro it defines can be uesd by kexec's relocate kernel
routine.
Patches 2 & 3 rework the ARM64 hcall mechanism to give the CPU reset routines
the ability to switch exception levels from EL1 to EL2 for kernels that were
entered in EL2.
Patch 4 allows KVM to handle a CPU reset.
Patches 5-7 add back the ARM64 CPU reset support that was recently removed from
the kernel.
Patches 8-10 add the actual kexec support.
Patches 11-16 add kdump support.
Please consider all patches for inclusion.
[1] https://git.kernel.org/cgit/linux/kernel/git/geoff/linux-kexec.git
[2] https://git.kernel.org/cgit/linux/kernel/git/geoff/kexec-tools.git
-Geoff
The following changes since commit 7379047d5585187d1288486d4627873170d0005a:
Linux 4.3-rc6 (2015-10-18 16:08:42 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/geoff/linux-kexec.git kexec-v10
for you to fetch changes up to 4cf0c03d6cd1cb4826bb5df679fbcdaf80be0b1c:
arm64: kdump: relax BUG_ON() if more than one cpus are still active (2015-10-19 15:51:52 -0700)
----------------------------------------------------------------
AKASHI Takahiro (7):
arm64: kvm: allows kvm cpu hotplug
arm64: kdump: reserve memory for crash dump kernel
arm64: kdump: implement machine_crash_shutdown()
arm64: kdump: add kdump support
arm64: kdump: update a kernel doc
arm64: kdump: enable kdump in the arm64 defconfig
arm64: kdump: relax BUG_ON() if more than one cpus are still active
Geoff Levand (9):
arm64: Fold proc-macros.S into assembler.h
arm64: Convert hcalls to use HVC immediate value
arm64: Add new hcall HVC_CALL_FUNC
arm64: Add back cpu_reset routines
arm64: Add EL2 switch to cpu_reset
Revert "arm64: remove dead code"
arm64/kexec: Add core kexec support
arm64/kexec: Add pr_devel output
arm64/kexec: Enable kexec in the arm64 defconfig
Documentation/kdump/kdump.txt | 29 ++++-
arch/arm/include/asm/kvm_host.h | 10 +-
arch/arm/include/asm/kvm_mmu.h | 1 +
arch/arm/kvm/arm.c | 58 +++------
arch/arm/kvm/mmu.c | 5 +
arch/arm64/Kconfig | 22 ++++
arch/arm64/configs/defconfig | 2 +
arch/arm64/include/asm/assembler.h | 48 +++++++-
arch/arm64/include/asm/kexec.h | 80 ++++++++++++
arch/arm64/include/asm/kvm_host.h | 16 ++-
arch/arm64/include/asm/kvm_mmu.h | 1 +
arch/arm64/include/asm/mmu.h | 1 +
arch/arm64/include/asm/virt.h | 49 ++++++++
arch/arm64/kernel/Makefile | 3 +
arch/arm64/kernel/cpu-reset.S | 76 ++++++++++++
arch/arm64/kernel/cpu-reset.h | 20 +++
arch/arm64/kernel/crash_dump.c | 71 +++++++++++
arch/arm64/kernel/head.S | 1 -
arch/arm64/kernel/hyp-stub.S | 43 +++++--
arch/arm64/kernel/machine_kexec.c | 237 ++++++++++++++++++++++++++++++++++++
arch/arm64/kernel/relocate_kernel.S | 163 +++++++++++++++++++++++++
arch/arm64/kernel/setup.c | 7 +-
arch/arm64/kernel/smp.c | 16 ++-
arch/arm64/kvm/hyp-init.S | 34 +++++-
arch/arm64/kvm/hyp.S | 44 +++++--
arch/arm64/mm/cache.S | 2 -
arch/arm64/mm/init.c | 83 +++++++++++++
arch/arm64/mm/mmu.c | 11 ++
arch/arm64/mm/proc-macros.S | 64 ----------
arch/arm64/mm/proc.S | 3 -
include/uapi/linux/kexec.h | 1 +
31 files changed, 1063 insertions(+), 138 deletions(-)
create mode 100644 arch/arm64/include/asm/kexec.h
create mode 100644 arch/arm64/kernel/cpu-reset.S
create mode 100644 arch/arm64/kernel/cpu-reset.h
create mode 100644 arch/arm64/kernel/crash_dump.c
create mode 100644 arch/arm64/kernel/machine_kexec.c
create mode 100644 arch/arm64/kernel/relocate_kernel.S
delete mode 100644 arch/arm64/mm/proc-macros.S
--
2.5.0
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: geoff@infradead.org (Geoff Levand)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/16] arm64 kexec kernel patches v10
Date: Mon, 19 Oct 2015 23:38:53 +0000 [thread overview]
Message-ID: <cover.1445297709.git.geoff@infradead.org> (raw)
Hi All,
This series adds the core support for kexec re-boot and kdump on ARM64. This
v10 of the series combines Takahiro's kdump patches with my kexec patches.
To load a second stage kernel and execute a kexec re-boot or to work with kdump
on ARM64 systems a series of patches to kexec-tools [2], which have not yet been
merged upstream, are needed.
I have tested kexec with the ARM Foundation model, and Takahiro has reported
that kdump is working on the 96boards HiKey developer board. Kexec on EFI
systems works correctly. More ACPI + kexec testing is needed.
Patch 1 here moves the macros from proc-macros.S to asm/assembler.h so that the
dcache_line_size macro it defines can be uesd by kexec's relocate kernel
routine.
Patches 2 & 3 rework the ARM64 hcall mechanism to give the CPU reset routines
the ability to switch exception levels from EL1 to EL2 for kernels that were
entered in EL2.
Patch 4 allows KVM to handle a CPU reset.
Patches 5-7 add back the ARM64 CPU reset support that was recently removed from
the kernel.
Patches 8-10 add the actual kexec support.
Patches 11-16 add kdump support.
Please consider all patches for inclusion.
[1] https://git.kernel.org/cgit/linux/kernel/git/geoff/linux-kexec.git
[2] https://git.kernel.org/cgit/linux/kernel/git/geoff/kexec-tools.git
-Geoff
The following changes since commit 7379047d5585187d1288486d4627873170d0005a:
Linux 4.3-rc6 (2015-10-18 16:08:42 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/geoff/linux-kexec.git kexec-v10
for you to fetch changes up to 4cf0c03d6cd1cb4826bb5df679fbcdaf80be0b1c:
arm64: kdump: relax BUG_ON() if more than one cpus are still active (2015-10-19 15:51:52 -0700)
----------------------------------------------------------------
AKASHI Takahiro (7):
arm64: kvm: allows kvm cpu hotplug
arm64: kdump: reserve memory for crash dump kernel
arm64: kdump: implement machine_crash_shutdown()
arm64: kdump: add kdump support
arm64: kdump: update a kernel doc
arm64: kdump: enable kdump in the arm64 defconfig
arm64: kdump: relax BUG_ON() if more than one cpus are still active
Geoff Levand (9):
arm64: Fold proc-macros.S into assembler.h
arm64: Convert hcalls to use HVC immediate value
arm64: Add new hcall HVC_CALL_FUNC
arm64: Add back cpu_reset routines
arm64: Add EL2 switch to cpu_reset
Revert "arm64: remove dead code"
arm64/kexec: Add core kexec support
arm64/kexec: Add pr_devel output
arm64/kexec: Enable kexec in the arm64 defconfig
Documentation/kdump/kdump.txt | 29 ++++-
arch/arm/include/asm/kvm_host.h | 10 +-
arch/arm/include/asm/kvm_mmu.h | 1 +
arch/arm/kvm/arm.c | 58 +++------
arch/arm/kvm/mmu.c | 5 +
arch/arm64/Kconfig | 22 ++++
arch/arm64/configs/defconfig | 2 +
arch/arm64/include/asm/assembler.h | 48 +++++++-
arch/arm64/include/asm/kexec.h | 80 ++++++++++++
arch/arm64/include/asm/kvm_host.h | 16 ++-
arch/arm64/include/asm/kvm_mmu.h | 1 +
arch/arm64/include/asm/mmu.h | 1 +
arch/arm64/include/asm/virt.h | 49 ++++++++
arch/arm64/kernel/Makefile | 3 +
arch/arm64/kernel/cpu-reset.S | 76 ++++++++++++
arch/arm64/kernel/cpu-reset.h | 20 +++
arch/arm64/kernel/crash_dump.c | 71 +++++++++++
arch/arm64/kernel/head.S | 1 -
arch/arm64/kernel/hyp-stub.S | 43 +++++--
arch/arm64/kernel/machine_kexec.c | 237 ++++++++++++++++++++++++++++++++++++
arch/arm64/kernel/relocate_kernel.S | 163 +++++++++++++++++++++++++
arch/arm64/kernel/setup.c | 7 +-
arch/arm64/kernel/smp.c | 16 ++-
arch/arm64/kvm/hyp-init.S | 34 +++++-
arch/arm64/kvm/hyp.S | 44 +++++--
arch/arm64/mm/cache.S | 2 -
arch/arm64/mm/init.c | 83 +++++++++++++
arch/arm64/mm/mmu.c | 11 ++
arch/arm64/mm/proc-macros.S | 64 ----------
arch/arm64/mm/proc.S | 3 -
include/uapi/linux/kexec.h | 1 +
31 files changed, 1063 insertions(+), 138 deletions(-)
create mode 100644 arch/arm64/include/asm/kexec.h
create mode 100644 arch/arm64/kernel/cpu-reset.S
create mode 100644 arch/arm64/kernel/cpu-reset.h
create mode 100644 arch/arm64/kernel/crash_dump.c
create mode 100644 arch/arm64/kernel/machine_kexec.c
create mode 100644 arch/arm64/kernel/relocate_kernel.S
delete mode 100644 arch/arm64/mm/proc-macros.S
--
2.5.0
next reply other threads:[~2015-10-19 23:38 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 23:38 Geoff Levand [this message]
2015-10-19 23:38 ` [PATCH 00/16] arm64 kexec kernel patches v10 Geoff Levand
2015-10-19 23:38 ` [PATCH 02/16] arm64: Convert hcalls to use HVC immediate value Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 06/16] arm64: Add EL2 switch to cpu_reset Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 05/16] arm64: Add back cpu_reset routines Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 07/16] Revert "arm64: remove dead code" Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 08/16] arm64/kexec: Add core kexec support Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-20 8:56 ` Pratyush Anand
2015-10-20 8:56 ` Pratyush Anand
2015-10-20 17:19 ` Geoff Levand
2015-10-20 17:19 ` Geoff Levand
2015-10-23 7:29 ` Pratyush Anand
2015-10-23 7:29 ` Pratyush Anand
2015-10-21 18:30 ` [PATCH v10.2 " Geoff Levand
2015-10-21 18:30 ` Geoff Levand
2015-10-30 16:29 ` [PATCH " James Morse
2015-10-30 16:29 ` James Morse
2015-10-30 16:54 ` Mark Rutland
2015-10-30 16:54 ` Mark Rutland
2015-11-02 9:26 ` Pratyush Anand
2015-11-02 9:26 ` Pratyush Anand
2015-11-03 0:30 ` Geoff Levand
2015-11-03 0:30 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 03/16] arm64: Add new hcall HVC_CALL_FUNC Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 04/16] arm64: kvm: allows kvm cpu hotplug Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-20 18:57 ` [PATCH v10.1 " Geoff Levand
2015-10-20 18:57 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 01/16] arm64: Fold proc-macros.S into assembler.h Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 11/16] arm64: kdump: reserve memory for crash dump kernel Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 12/16] arm64: kdump: implement machine_crash_shutdown() Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-20 18:54 ` [PATCH v10.1 " Geoff Levand
2015-10-20 18:54 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 13/16] arm64: kdump: add kdump support Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-22 3:25 ` Dave Young
2015-10-22 3:25 ` Dave Young
2015-10-22 4:29 ` AKASHI Takahiro
2015-10-22 4:29 ` AKASHI Takahiro
2015-10-22 5:15 ` Dave Young
2015-10-22 5:15 ` Dave Young
2015-10-22 9:57 ` AKASHI Takahiro
2015-10-22 9:57 ` AKASHI Takahiro
2015-10-23 9:50 ` Dave Young
2015-10-23 9:50 ` Dave Young
2015-10-29 5:55 ` AKASHI Takahiro
2015-10-29 5:55 ` AKASHI Takahiro
2015-10-29 6:40 ` Dave Young
2015-10-29 6:40 ` Dave Young
2015-10-29 6:53 ` AKASHI Takahiro
2015-10-29 6:53 ` AKASHI Takahiro
2015-10-29 7:01 ` Dave Young
2015-10-29 7:01 ` Dave Young
2015-10-19 23:38 ` [PATCH 16/16] arm64: kdump: relax BUG_ON() if more than one cpus are still active Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 14/16] arm64: kdump: update a kernel doc Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 09/16] arm64/kexec: Add pr_devel output Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 15/16] arm64: kdump: enable kdump in the arm64 defconfig Geoff Levand
2015-10-19 23:38 ` Geoff Levand
2015-10-19 23:38 ` [PATCH 10/16] arm64/kexec: Enable kexec " Geoff Levand
2015-10-19 23:38 ` Geoff Levand
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=cover.1445297709.git.geoff@infradead.org \
--to=geoff@infradead.org \
--cc=AKASHI@infradead.org \
--cc=catalin.marinas@arm.com \
--cc=christoffer.dall@linaro.org \
--cc=kexec@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=takahiro.akashi@linaro.org \
--cc=will.deacon@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.