From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org,
catalin.marinas@arm.com, will.deacon@arm.com,
leif.lindholm@linaro.org, mark.rutland@arm.com,
msalter@redhat.com, akpm@linux-foundation.org
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH 0/3] arm64: remove UEFI reserved regions from linear mapping
Date: Mon, 14 Sep 2015 17:55:26 +0200 [thread overview]
Message-ID: <1442246129-13930-1-git-send-email-ard.biesheuvel@linaro.org> (raw)
This is an alternative approach to the series I posted in November 2014:
thread.gmane.org/gmane.linux.kernel.efi/5133
For arm64, we need to keep track of which parts of the physical memory space
are backed by normal memory, since device mappings and memory mappings are
mutually incompatible (device mappings don't allow unaligned accesses which
may occur when parsing ACPI tables, for instance, and mapping devices as
memory is also not allowed)
Instead of adding a physmem memblock table that contains all of memory,
including the memory that should not be covered by the linear mapping,
this series introduces a MEMBLOCK_NOMAP attribute that allows us to
carry the same information in the ordinary 'memory' memblock table.
Patch #1 introduces the attribute and the associated plumbing to interpret
the attribute and to ensure MEMBLOCK_NOMAP regions are not considered for
allocations.
Patch #2 makes the arm64 core mapping code aware of MEMBLOCK_NOMAP, by
honoring it when setting up the linear mapping, and by making pfn_valid()
aware of it.
Patch #3 updates the UEFI memory map handling logic to mark reserved regions
as MEMBLOCK_NOMAP.
Notable about this series is that it does not require any changes to the
iomem resource table handling or the definition of page_is_ram(), since
the nomap regions are still registered as 'System RAM'.
Ard Biesheuvel (3):
mm/memblock: add MEMBLOCK_NOMAP attribute to memblock memory table
arm64: only consider memblocks with NOMAP cleared for linear mapping
arm64/efi: mark UEFI reserved regions as MEMBLOCK_NOMAP
arch/arm64/kernel/efi.c | 5 ++--
arch/arm64/mm/init.c | 2 +-
arch/arm64/mm/mmu.c | 2 ++
include/linux/memblock.h | 8 ++++++
mm/memblock.c | 28 ++++++++++++++++++++
5 files changed, 41 insertions(+), 4 deletions(-)
--
1.9.1
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2015-09-14 15:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-14 15:55 Ard Biesheuvel [this message]
2015-09-14 15:55 ` [PATCH 1/3] mm/memblock: add MEMBLOCK_NOMAP attribute to memblock memory table Ard Biesheuvel
2015-09-14 15:55 ` [PATCH 2/3] arm64: only consider memblocks with NOMAP cleared for linear mapping Ard Biesheuvel
2015-09-14 15:55 ` [PATCH 3/3] arm64/efi: mark UEFI reserved regions as MEMBLOCK_NOMAP Ard Biesheuvel
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=1442246129-13930-1-git-send-email-ard.biesheuvel@linaro.org \
--to=ard.biesheuvel@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=catalin.marinas@arm.com \
--cc=leif.lindholm@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mm@kvack.org \
--cc=mark.rutland@arm.com \
--cc=msalter@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox