summaryrefslogtreecommitdiffstats
path: root/arch/s390/boot/boot.h
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2020-10-19 11:01:33 +0200
committerHeiko Carstens <hca@linux.ibm.com>2020-11-20 19:19:10 +0100
commit73045a08cf5549cc7dee14463431fbeb2134dd67 (patch)
treee332a31ea39cbc7748b6b42349544d24db806203 /arch/s390/boot/boot.h
parent1e632eaa0f4b7f65a81301205ca122024991e1d3 (diff)
downloadlinux-73045a08cf5549cc7dee14463431fbeb2134dd67.tar.bz2
s390: unify identity mapping limits handling
Currently we have to consider too many different values which in the end only affect identity mapping size. These are: 1. max_physmem_end - end of physical memory online or standby. Always <= end of the last online memory block (get_mem_detect_end()). 2. CONFIG_MAX_PHYSMEM_BITS - the maximum size of physical memory the kernel is able to support. 3. "mem=" kernel command line option which limits physical memory usage. 4. OLDMEM_BASE which is a kdump memory limit when the kernel is executed as crash kernel. 5. "hsa" size which is a memory limit when the kernel is executed during zfcp/nvme dump. Through out kernel startup and run we juggle all those values at once but that does not bring any amusement, only confusion and complexity. Unify all those values to a single one we should really care, that is our identity mapping size. Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/boot/boot.h')
-rw-r--r--arch/s390/boot/boot.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/s390/boot/boot.h b/arch/s390/boot/boot.h
index 4d4536299789..d5cf2e8c5eb4 100644
--- a/arch/s390/boot/boot.h
+++ b/arch/s390/boot/boot.h
@@ -2,20 +2,23 @@
#ifndef BOOT_BOOT_H
#define BOOT_BOOT_H
+#include <linux/types.h>
+
void startup_kernel(void);
-void detect_memory(void);
+unsigned long detect_memory(void);
+bool is_ipl_block_dump(void);
void store_ipl_parmblock(void);
void setup_boot_command_line(void);
void parse_boot_command_line(void);
-void setup_memory_end(void);
void verify_facilities(void);
void print_missing_facilities(void);
void print_pgm_check_info(void);
unsigned long get_random_base(unsigned long safe_addr);
-extern int kaslr_enabled;
-extern int vmalloc_size_set;
extern const char kernel_version[];
+extern unsigned long memory_limit;
+extern int vmalloc_size_set;
+extern int kaslr_enabled;
unsigned long read_ipl_report(unsigned long safe_offset);