All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v34 00/14] arm64: add kdump support
@ 2017-03-28  6:48 ` AKASHI Takahiro
  0 siblings, 0 replies; 95+ messages in thread
From: AKASHI Takahiro @ 2017-03-28  6:48 UTC (permalink / raw)
  To: linux-arm-kernel

This patch series adds kdump support on arm64.

To load a crash-dump kernel to the systems, a series of patches to
kexec-tools[1] are also needed. Please use the latest one, v6 [2].
For your convinience, you can pick them up from:
   https://git.linaro.org/people/takahiro.akashi/linux-aarch64.git arm64/kdump
   https://git.linaro.org/people/takahiro.akashi/kexec-tools.git arm64/kdump

To examine vmcore (/proc/vmcore) on a crash-dump kernel, you can use
  - crash utility (v7.1.8 or later) [3]

I tested this patchset on fast model and hikey.

The previous versions were also:
Tested-by: Pratyush Anand <panand@redhat.com> (v33, mustang and seattle)
Tested-by: James Morse <james.morse@arm.com> (v27/v32?, Juno)
Tested-by: Sameer Goel (v33, QDT2400)

Changes for v34 (Mar 28, 2017)
  o add and use set_memory_valid() instead of create_pgd_mapping()
    (patch #5,6)
  o rename functions from kexec_* to crash_* (patch #7)
  o supress WARN_ON() message if successfully shutting down secondary cpus
    (patch #8)

Changes for v33 (Mar 15, 2017)
  o rebased to v4.11-rc2+
  o arch_kexec_(un)protect_crashkres() now protects loaded data segments
    only along with moving copying of control_code_page back to machine_kexec()
    (patch #6)
  o reduce the size of hibernation image when kdump and hibernation are
    comfigured at the same time (patch #7)
  o clearify that "linux,usable-memory-range" and "linux,elfcorehdr"
    have values of the size of root node's "#address-cells" and "#size-cells"
    (patch #13)
  o add "efi/libstub/arm*: Set default address and size cells values for
    an empty dtb" from Sameer Goel (patch #14)
    (I didn't test the case though.)

Changes for v32 (Feb 7, 2017)
  o isolate crash dump kernel memory as well as kernel text/data by using
    MEMBLOCK_MAP attribute to and then specifically map them in map_mem()
    (patch #1,6)
  o delete remove_pgd_mapping() and instead modify create_pgd_mapping() to
    allowing for unmapping a kernel mapping (patch #5)
  o correct a commit message as well as a comment in the source (patch#10)
  o other trivial changes after Mark's comments (patch#3,4)

Changes for v31 (Feb 1, 2017)
  o add/use remove_pgd_mapping() instead of modifying (__)create_pgd_mapping()
    to protect crash dump kernel memory (patch #4,5)
  o fix an issue at the isolation of crash dump kernel memory in
    map_mem()/__map_memblock(), adding map_crashkernel() (patch#5)
  o preserve the contents of crash dump kernel memory around hibernation
    (patch#6)

Changes for v30 (Jan 24, 2017)
  o rebased to Linux-v4.10-rc5
  o remove "linux,crashkernel-base/size" from exported device tree
  o protect memory region for crash-dump kernel (adding patch#4,5)
  o remove "in_crash_kexec" variable
  o and other trivial changes

Changes for v29 (Dec 28, 2016)
  o rebased to Linux-v4.10-rc1
  o change asm constraints in crash_setup_regs() per Catalin

Changes for v28 (Nov 22, 2016)
  o rebased to Linux-v4.9-rc6
  o revamp patch #1 and merge memblock_cap_memory_range() with
    memblock_mem_limit_remove_map()

Changes for v27 (Nov 1, 2016)
  o rebased to Linux-v4.9-rc3
  o revert v26 change, i.e. revive "linux,usable-memory-range" property
    (patch #2/#3, updating patch #9)
  o minor fixes per review comments (patch #3/#4/#6/#8)
  o re-order patches and improve commit messages for readability

Changes for v26 (Sep 7, 2016):
  o Use /reserved-memory instead of "linux,usable-memory-range" property
    (dropping v25's patch#2 and #3, updating ex-patch#9.)

Changes for v25 (Aug 29, 2016):
  o Rebase to Linux-4.8-rc4
  o Use memremap() instead of ioremap_cache() [patch#5]

Changes for v24 (Aug 9, 2016):
  o Rebase to Linux-4.8-rc1
  o Update descriptions about newly added DT proerties

Changes for v23 (July 26, 2016):

  o Move memblock_reserve() to a single place in reserve_crashkernel()
  o Use  cpu_park_loop() in ipi_cpu_crash_stop()
  o Always enforce ARCH_LOW_ADDRESS_LIMIT to the memory range of crash kernel
  o Re-implement fdt_enforce_memory_region() to remove non-reserve regions
    (for ACPI) from usable memory at crash kernel

Changes for v22 (July 12, 2016):

  o Export "crashkernel-base" and "crashkernel-size" via device-tree,
    and add some descriptions about them in chosen.txt
  o Rename "usable-memory" to "usable-memory-range" to avoid inconsistency
    with powerpc's "usable-memory"
  o Make cosmetic changes regarding "ifdef" usage
  o Correct some wordings in kdump.txt

Changes for v21 (July 6, 2016):

  o Remove kexec patches.
  o Rebase to arm64's for-next/core (Linux-4.7-rc4 based).
  o Clarify the description about kvm in kdump.txt.

See the link [4] for older changes.


[1] https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
[2] http://lists.infradead.org/pipermail/kexec/2017-March/018356.html
[3] https://github.com/crash-utility/crash.git
[4] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-June/438780.html

AKASHI Takahiro (12):
  memblock: add memblock_clear_nomap()
  memblock: add memblock_cap_memory_range()
  arm64: limit memory regions based on DT property, usable-memory-range
  arm64: kdump: reserve memory for crash dump kernel
  arm64: mm: add set_memory_valid()
  arm64: kdump: protect crash dump kernel memory
  arm64: hibernate: preserve kdump image around hibernation
  arm64: kdump: implement machine_crash_shutdown()
  arm64: kdump: add VMCOREINFO's for user-space tools
  arm64: kdump: provide /proc/vmcore file
  arm64: kdump: enable kdump in defconfig
  Documentation: kdump: describe arm64 port

James Morse (1):
  Documentation: dt: chosen properties for arm64 kdump

Sameer Goel (1):
  efi/libstub/arm*: Set default address and size cells values for an
    empty dtb

 Documentation/devicetree/bindings/chosen.txt |  45 +++++++
 Documentation/kdump/kdump.txt                |  16 ++-
 arch/arm64/Kconfig                           |  11 ++
 arch/arm64/configs/defconfig                 |   1 +
 arch/arm64/include/asm/cacheflush.h          |   1 +
 arch/arm64/include/asm/hardirq.h             |   2 +-
 arch/arm64/include/asm/kexec.h               |  52 +++++++-
 arch/arm64/include/asm/smp.h                 |   3 +
 arch/arm64/kernel/Makefile                   |   1 +
 arch/arm64/kernel/crash_dump.c               |  71 +++++++++++
 arch/arm64/kernel/hibernate.c                |  10 +-
 arch/arm64/kernel/machine_kexec.c            | 170 +++++++++++++++++++++++--
 arch/arm64/kernel/setup.c                    |   7 +-
 arch/arm64/kernel/smp.c                      |  68 ++++++++++
 arch/arm64/mm/init.c                         | 181 +++++++++++++++++++++++++++
 arch/arm64/mm/mmu.c                          |  90 ++++++-------
 arch/arm64/mm/pageattr.c                     |  15 ++-
 drivers/firmware/efi/libstub/fdt.c           |  28 ++++-
 include/linux/memblock.h                     |   2 +
 mm/memblock.c                                |  56 ++++++---
 20 files changed, 749 insertions(+), 81 deletions(-)
 create mode 100644 arch/arm64/kernel/crash_dump.c

-- 
2.11.1

^ permalink raw reply	[flat|nested] 95+ messages in thread

end of thread, other threads:[~2017-04-19 14:30 UTC | newest]

Thread overview: 95+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-28  6:48 [PATCH v34 00/14] arm64: add kdump support AKASHI Takahiro
2017-03-28  6:48 ` AKASHI Takahiro
2017-03-28  6:50 ` [PATCH v34 01/14] memblock: add memblock_clear_nomap() AKASHI Takahiro
2017-03-28  6:50   ` AKASHI Takahiro
2017-03-28  6:50   ` AKASHI Takahiro
2017-03-28  9:47   ` Ard Biesheuvel
2017-03-28  9:47     ` Ard Biesheuvel
2017-03-28  9:47     ` Ard Biesheuvel
2017-03-28  6:50 ` [PATCH v34 02/14] memblock: add memblock_cap_memory_range() AKASHI Takahiro
2017-03-28  6:50   ` AKASHI Takahiro
2017-03-28  6:50   ` AKASHI Takahiro
2017-03-28  9:48   ` Ard Biesheuvel
2017-03-28  9:48     ` Ard Biesheuvel
2017-03-28  9:48     ` Ard Biesheuvel
2017-03-28  6:51 ` [PATCH v34 03/14] arm64: limit memory regions based on DT property, usable-memory-range AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  9:50   ` Ard Biesheuvel
2017-03-28  9:50     ` Ard Biesheuvel
2017-03-28  6:51 ` [PATCH v34 04/14] arm64: kdump: reserve memory for crash dump kernel AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  9:52   ` Ard Biesheuvel
2017-03-28  9:52     ` Ard Biesheuvel
2017-04-03  8:18   ` David Woodhouse
2017-04-03  8:18     ` David Woodhouse
2017-04-04  5:41     ` AKASHI Takahiro
2017-04-04  5:41       ` AKASHI Takahiro
2017-04-04  6:14       ` David Woodhouse
2017-04-04  6:14         ` David Woodhouse
2017-04-04  7:35         ` AKASHI Takahiro
2017-04-04  7:35           ` AKASHI Takahiro
2017-04-04  7:39           ` Ard Biesheuvel
2017-04-04  7:39             ` Ard Biesheuvel
2017-04-04  7:44           ` David Woodhouse
2017-04-04  7:44             ` David Woodhouse
2017-04-04  9:26             ` Will Deacon
2017-04-04  9:26               ` Will Deacon
2017-04-13 12:15               ` David Woodhouse
2017-04-13 12:15                 ` David Woodhouse
2017-04-13 12:17               ` [PATCH 1/2] arm64: Fix power-of-ten vs. power-of-two prefixes in user-visible messages David Woodhouse
2017-04-13 12:17                 ` David Woodhouse
2017-04-19  9:29                 ` Geert Uytterhoeven
2017-04-19  9:29                   ` Geert Uytterhoeven
2017-04-13 12:18               ` [PATCH 2/2] arm64: Fix power-of-ten vs. power-of-two prefixes in comments etc David Woodhouse
2017-04-13 12:18                 ` David Woodhouse
2017-04-16 23:12                 ` Simon Horman
2017-04-16 23:12                   ` Simon Horman
2017-04-16 23:12                   ` Simon Horman
2017-04-17 11:54                   ` Geert Uytterhoeven
2017-04-17 11:54                     ` Geert Uytterhoeven
2017-04-17 11:54                     ` Geert Uytterhoeven
2017-04-18 14:13                     ` Catalin Marinas
2017-04-18 14:13                       ` Catalin Marinas
2017-04-18 14:13                       ` Catalin Marinas
2017-04-19 14:25                       ` Olof Johansson
2017-04-19 14:25                         ` Olof Johansson
2017-04-19 14:25                         ` Olof Johansson
2017-03-28  6:51 ` [PATCH v34 05/14] arm64: mm: add set_memory_valid() AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  9:54   ` Ard Biesheuvel
2017-03-28  9:54     ` Ard Biesheuvel
2017-03-28  6:51 ` [PATCH v34 06/14] arm64: kdump: protect crash dump kernel memory AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28 10:07   ` Ard Biesheuvel
2017-03-28 10:07     ` Ard Biesheuvel
2017-03-28 11:07     ` AKASHI Takahiro
2017-03-28 11:07       ` AKASHI Takahiro
2017-03-28 14:05       ` Ard Biesheuvel
2017-03-28 14:05         ` Ard Biesheuvel
2017-03-30  9:56         ` AKASHI Takahiro
2017-03-30  9:56           ` AKASHI Takahiro
2017-03-30 13:58           ` Ard Biesheuvel
2017-03-30 13:58             ` Ard Biesheuvel
2017-04-03  2:28             ` AKASHI Takahiro
2017-04-03  2:28               ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 07/14] arm64: hibernate: preserve kdump image around hibernation AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 08/14] arm64: kdump: implement machine_crash_shutdown() AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 09/14] arm64: kdump: add VMCOREINFO's for user-space tools AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 10/14] arm64: kdump: provide /proc/vmcore file AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 11/14] arm64: kdump: enable kdump in defconfig AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
2017-03-28  6:51 ` [PATCH v34 12/14] Documentation: kdump: describe arm64 port AKASHI Takahiro
2017-03-28  6:51   ` AKASHI Takahiro
     [not found] ` <20170328064831.15894-1-takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-03-28  6:52   ` [PATCH v34 13/14] Documentation: dt: chosen properties for arm64 kdump AKASHI Takahiro
2017-03-28  6:52     ` AKASHI Takahiro
2017-03-28  6:52     ` AKASHI Takahiro
2017-03-28  6:53   ` [PATCH v34 14/14] efi/libstub/arm*: Set default address and size cells values for an empty dtb AKASHI Takahiro
2017-03-28  6:53     ` AKASHI Takahiro
2017-03-28  6:53     ` AKASHI Takahiro
2017-03-28 10:08     ` Ard Biesheuvel
2017-03-28 10:08       ` Ard Biesheuvel
2017-03-28 10:08       ` Ard Biesheuvel

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.