From: Wang Xuerui <wangxuerui@qiniu.com>
To: linux-mips@vger.kernel.org
Cc: Wang Xuerui <wangxuerui@qiniu.com>,
Huacai Chen <chenhc@lemote.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
Alex Belits <alex.belits@cavium.com>,
James Hogan <james.hogan@mips.com>,
Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org
Subject: [PATCH 4/4] MIPS: support 47-bit userland VM space
Date: Sun, 24 Feb 2019 15:13:55 +0800 [thread overview]
Message-ID: <20190224071355.14488-5-wangxuerui@qiniu.com> (raw)
In-Reply-To: <20190224071355.14488-1-wangxuerui@qiniu.com>
The infrastructure is now ready, so just add the necessary Kconfig
logic. The equivalent logic has been tested on Loongson 3A2000 and
3A3000 for more than 2 years, no breakage so far.
Signed-off-by: Wang Xuerui <wangxuerui@qiniu.com>
Tested-by: Wang Xuerui <wangxuerui@qiniu.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Alex Belits <alex.belits@cavium.com>
Cc: James Hogan <james.hogan@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
---
arch/mips/Kconfig | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index a1ab9e7924a0..104de85ef6ed 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2171,6 +2171,31 @@ config MIPS_VA_BITS_DEFAULT
If unsure, say Y.
+config MIPS_VA_BITS_47
+ bool "47 bits virtual memory"
+ depends on 64BIT
+ select MIPS_LARGE_VA
+ help
+ This is a temporary option to support 47 bits of application virtual
+ memory, as is the case with x86_64.
+
+ Some applications and libraries assume the userland address space is
+ 47-bit or less, due to the prevalence of x86_64 platforms where this
+ restriction is present. Hence, turning on 48-bit userland addresses
+ may cause these applications to stop working. For example,
+ SpiderMonkey re-uses the higher 17 bits of pointers as tags, which
+ breaks GJS and thus whole GNOME if 48-bit is enabled. This option
+ retains compatibility with those (broken for now) apps, while
+ providing larger address space to userland.
+
+ However, the option is only here as a stop-gap measure; the
+ applications should be fixed to not depend on unused bits in
+ pointers, as those bits will eventually become unavailable. Also
+ note that the caveats of 48-bit virtual memory also apply, because
+ the implementation is shared.
+
+ If unsure, say N.
+
config MIPS_VA_BITS_48
bool "48 bits virtual memory"
depends on 64BIT
@@ -2193,6 +2218,7 @@ config MIPS_LARGE_VA
config MIPS_VA_BITS
int
+ default 47 if MIPS_VA_BITS_47
default 48 if MIPS_VA_BITS_48
default 40
--
2.16.1
prev parent reply other threads:[~2019-02-24 7:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-24 7:13 [PATCH 0/4] MIPS: support 47-bit userland VM space Wang Xuerui
2019-02-24 7:13 ` [PATCH 1/4] MIPS: simplify definition of TASK_SIZE64 Wang Xuerui
2019-02-24 7:13 ` [PATCH 2/4] MIPS: refactor virtual address size selection Wang Xuerui
2019-02-25 21:22 ` Paul Burton
2019-02-24 7:13 ` [PATCH 3/4] MIPS: define virtual address size in Kconfig Wang Xuerui
2019-02-24 7:13 ` Wang Xuerui [this message]
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=20190224071355.14488-5-wangxuerui@qiniu.com \
--to=wangxuerui@qiniu.com \
--cc=alex.belits@cavium.com \
--cc=chenhc@lemote.com \
--cc=james.hogan@mips.com \
--cc=jiaxun.yang@flygoat.com \
--cc=linux-mips@linux-mips.org \
--cc=linux-mips@vger.kernel.org \
--cc=ralf@linux-mips.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).