s390/sclp: introduce sclp_early_get_hsa_size
authorVasily Gorbik <gor@linux.ibm.com>
Fri, 13 Apr 2018 15:37:28 +0000 (17:37 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2018 09:21:13 +0000 (11:21 +0200)
Introduce sclp_early_get_hsa_size function to be used during early
memory detection. This function allows to find a memory limit imposed
during zfcpdump.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/sclp.h
drivers/s390/char/sclp_early_core.c

index 32b683f..0cd4bda 100644 (file)
@@ -115,6 +115,7 @@ void sclp_early_printk_force(const char *s);
 void __sclp_early_printk(const char *s, unsigned int len, unsigned int force);
 
 int sclp_early_get_memsize(unsigned long *mem);
+int sclp_early_get_hsa_size(unsigned long *hsa_size);
 int _sclp_get_core_info(struct sclp_core_info *info);
 int sclp_core_configure(u8 core);
 int sclp_core_deconfigure(u8 core);
index acfe093..387c114 100644 (file)
@@ -288,6 +288,17 @@ int __init sclp_early_get_memsize(unsigned long *mem)
        return 0;
 }
 
+int __init sclp_early_get_hsa_size(unsigned long *hsa_size)
+{
+       if (!sclp_info_sccb_valid)
+               return -EIO;
+
+       *hsa_size = 0;
+       if (sclp_info_sccb.hsa_size)
+               *hsa_size = (sclp_info_sccb.hsa_size - 1) * PAGE_SIZE;
+       return 0;
+}
+
 #define SCLP_STORAGE_INFO_FACILITY     0x0000400000000000UL
 
 void __weak __init add_mem_detect_block(u64 start, u64 end) {}