From: ard.biesheuvel@linaro.org (Ard Biesheuvel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] arm64: set MAX_MEMBLOCK_ADDR according to linear region size
Date: Tue, 18 Aug 2015 11:34:42 +0200 [thread overview]
Message-ID: <1439890482-20798-3-git-send-email-ard.biesheuvel@linaro.org> (raw)
In-Reply-To: <1439890482-20798-1-git-send-email-ard.biesheuvel@linaro.org>
The linear region size of a 39-bit VA kernel is only 256 GB, which
may be insufficient to cover all of system RAM, even on platforms
that have much less than 256 GB of memory but which is laid out
very sparsely.
So make sure we clip the memory we will not be able to map before
installing it into the memblock memory table, by setting
MAX_MEMBLOCK_ADDR accordingly.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
arch/arm64/include/asm/memory.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index f800d45ea226..44a59c20e773 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -114,6 +114,14 @@ extern phys_addr_t memstart_addr;
#define PHYS_OFFSET ({ memstart_addr; })
/*
+ * The maximum physical address that the linear direct mapping
+ * of system RAM can cover. (PAGE_OFFSET can be interpreted as
+ * a 2's complement signed quantity and negated to derive the
+ * maximum size of the linear mapping.)
+ */
+#define MAX_MEMBLOCK_ADDR ({ memstart_addr - PAGE_OFFSET - 1; })
+
+/*
* PFNs are used to describe any physical page; this means
* PFN 0 == physical address 0.
*
--
1.9.1
next prev parent reply other threads:[~2015-08-18 9:34 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-18 9:34 [PATCH 0/2] arm64: ignore memory outside of the linear range Ard Biesheuvel
2015-08-18 9:34 ` [PATCH 1/2] of/fdt: make memblock maximum physical address arch configurable Ard Biesheuvel
2015-08-20 9:18 ` Catalin Marinas
2015-08-23 22:01 ` Rob Herring
2015-08-18 9:34 ` Ard Biesheuvel [this message]
2015-08-18 10:00 ` [PATCH 2/2] arm64: set MAX_MEMBLOCK_ADDR according to linear region size Will Deacon
2015-08-18 10:04 ` Ard Biesheuvel
2015-08-18 17:39 ` Catalin Marinas
2015-08-18 17:44 ` Ard Biesheuvel
2015-08-19 9:15 ` Catalin Marinas
2015-08-20 5:09 ` Ard Biesheuvel
2015-08-20 9:17 ` Catalin Marinas
2015-08-18 14:24 ` Catalin Marinas
2015-08-18 14:31 ` Ard Biesheuvel
2015-08-18 14:38 ` Ard Biesheuvel
2015-08-18 14:51 ` Russell King - ARM Linux
2015-08-18 16:16 ` Catalin Marinas
2015-08-20 9:19 ` Catalin Marinas
2015-08-20 11:54 ` Ard Biesheuvel
2015-08-20 12:50 ` Catalin Marinas
2015-08-18 14:18 ` [PATCH 0/2] arm64: ignore memory outside of the linear range Stuart Yoder
2015-08-24 8:00 ` Ard Biesheuvel
2015-08-24 9:22 ` Will Deacon
2015-08-24 13:58 ` Stuart Yoder
2015-08-24 14:08 ` Will Deacon
2015-08-24 22:34 ` Stuart Yoder
2015-08-25 9:45 ` Ard Biesheuvel
2015-08-25 9:54 ` Russell King - ARM Linux
2015-08-25 10:02 ` Will Deacon
2015-08-25 10:10 ` 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=1439890482-20798-3-git-send-email-ard.biesheuvel@linaro.org \
--to=ard.biesheuvel@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).