diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2019-08-02 12:28:20 +0200 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2019-08-21 12:41:43 +0200 |
commit | 59793c5ab93fed9661deaf6d8ba054af681c0a6a (patch) | |
tree | 732f6ea401fca87cab2a995d8a32140157c8c2af /arch/s390/boot/ipl_parm.c | |
parent | f62f7dcbf023160ca47eb4bc7228ece8207f8a8e (diff) | |
download | blackbird-op-linux-59793c5ab93fed9661deaf6d8ba054af681c0a6a.tar.gz blackbird-op-linux-59793c5ab93fed9661deaf6d8ba054af681c0a6a.zip |
s390: move vmalloc option parsing to startup code
Few other crucial memory setup options are already handled in
the startup code. Those values are needed by kaslr and kasan
implementations. "vmalloc" is the last piece required for future
improvements such as early decision on kernel page levels depth required
for actual memory setup, as well as vmalloc memory area access monitoring
in kasan.
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/boot/ipl_parm.c')
-rw-r--r-- | arch/s390/boot/ipl_parm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/boot/ipl_parm.c b/arch/s390/boot/ipl_parm.c index 3c49bde8aa5e..449d26a42f3f 100644 --- a/arch/s390/boot/ipl_parm.c +++ b/arch/s390/boot/ipl_parm.c @@ -7,6 +7,7 @@ #include <asm/sections.h> #include <asm/boot_data.h> #include <asm/facility.h> +#include <asm/pgtable.h> #include <asm/uv.h> #include "boot.h" @@ -14,6 +15,7 @@ char __bootdata(early_command_line)[COMMAND_LINE_SIZE]; struct ipl_parameter_block __bootdata_preserved(ipl_block); int __bootdata_preserved(ipl_block_valid); +unsigned long __bootdata(vmalloc_size) = VMALLOC_DEFAULT_SIZE; unsigned long __bootdata(memory_end); int __bootdata(memory_end_set); int __bootdata(noexec_disabled); @@ -226,6 +228,9 @@ void parse_boot_command_line(void) memory_end_set = 1; } + if (!strcmp(param, "vmalloc")) + vmalloc_size = round_up(memparse(val, NULL), PAGE_SIZE); + if (!strcmp(param, "noexec")) { rc = kstrtobool(val, &enabled); if (!rc && !enabled) |