[PATCH v6 0/2] Fix acpi alignment fault with 'mem='
Dennis Chen
dennis.chen at arm.com
Wed Jul 13 22:43:54 PDT 2016
An ACPI alignment access fault has been observed on ARM platforms if one
boots an ACPI enabled kernel with 'mem=' specificed. This was due to
memblock_enforce_memory_limit(.) throwing away NOMAP regions thus causing
acpi_os_ioremap(.) to map them as device memory (rather than normal memory).
This patch series fixes this issue by:
1) Introducing memblock_mem_limit_remove_map(.), which retains the NOMAP
regions.
2) Calling this function in arm64.
ChangeLog:
v5->v6:
- Truncate the reserved regions above the limit as suggested by
Steve Capper.
- Drop the memblock debug fs related patch from this series since
it's independent logically.
- CC more relevant persons.
v4->v5:
Fix a build warning.
v3->v4:
Address some review comments from Mark Rutland.
v2->v3:
Only keep the NOMAP regions above the limit while removing all other
memblocks as suggested by Ard Biesheuvel.
v1->v2:
Flag all regions above the limit as NOMAP as suggested by Mark Rutland.
Dennis Chen (2):
mm:memblock Add new infrastructure to address the mem limit issue
arm64:acpi Fix the acpi alignment exeception when 'mem=' specified
arch/arm64/mm/init.c | 2 +-
include/linux/memblock.h | 1 +
mm/memblock.c | 57 +++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 54 insertions(+), 6 deletions(-)
--
2.7.4
More information about the linux-arm-kernel
mailing list