]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: mark reserved memblock regions explicitly in iomem
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Mon, 22 Aug 2016 06:55:24 +0000 (15:55 +0900)
committerWill Deacon <will.deacon@arm.com>
Thu, 25 Aug 2016 17:00:31 +0000 (18:00 +0100)
commit734eff7ce2471927e9e7b7dcc9f87c12f39aca2b
treee37c2a1592816f77a65078fb260aff10b07c7c40
parenta5d47e552ffbaf0e425cf1e16801fa36bc832199
arm64: mark reserved memblock regions explicitly in iomem

Kdump(kexec-tools) parses /proc/iomem to identify all the memory regions
on the system. Since the current kernel names "nomap" regions, like UEFI
runtime services code/data, as "System RAM," kexec-tools sets up elf core
header to include them in a crash dump file (/proc/vmcore).

Then crash dump kernel parses UEFI memory map again, re-marks those regions
as "nomap" and does not create a memory mapping for them unlike the other
areas of System RAM. In this case, copying /proc/vmcore through
copy_oldmem_page() on crash dump kernel will end up with a kernel abort,
as reported in [1].

This patch names all the "nomap" regions explicitly as "reserved" so that
we can exclude them from a crash dump file. acpi_os_ioremap() must also
be modified because those regions have WB attributes [2].

Apart from kdump, this change also matches x86's use of acpi (and
/proc/iomem).

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/448186.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/450089.html

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: James Morse <james.morse@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/acpi.h
arch/arm64/kernel/setup.c