X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Fs390%2Fkernel%2Fearly.c;h=1b3af7dab8161bf08ec6fd3d5110170b2c89f914;hb=5f3b28781cbc030351e2fa0712602afbea592aae;hp=8bf4ae1150be6775b2c348af2ee56a2786dd320c;hpb=46015977e70f672ae6b20a1b5fb1e361208365ba;p=linux-2.6 diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 8bf4ae1150..540a67f979 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c @@ -21,6 +21,7 @@ #include #include #include +#include "entry.h" /* * Create a Kernel NSS if the SAVESYS= parameter is defined @@ -88,13 +89,17 @@ static noinline __init void create_kernel_nss(void) __cpcmd(defsys_cmd, NULL, 0, &response); - if (response != 0) + if (response != 0) { + kernel_nss_name[0] = '\0'; return; + } __cpcmd(savesys_cmd, NULL, 0, &response); - if (response != strlen(savesys_cmd)) + if (response != strlen(savesys_cmd)) { + kernel_nss_name[0] = '\0'; return; + } ipl_flags = IPL_NSS_VALID; } @@ -200,7 +205,7 @@ static noinline __init void find_memory_chunks(unsigned long memsize) cc = __tprot(addr); while (cc == old_cc) { addr += CHUNK_INCR; - if (addr >= memsize) + if (memsize && addr >= memsize) break; #ifndef CONFIG_64BIT if (addr == ADDR2G) @@ -276,7 +281,7 @@ void __init startup_init(void) create_kernel_nss(); sort_main_extable(); setup_lowcore_early(); - sclp_readinfo_early(); + sclp_read_info_early(); sclp_facilities_detect(); memsize = sclp_memory_detect(); #ifndef CONFIG_64BIT