diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2018-07-25 15:01:11 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-10-09 11:21:05 +0200 |
commit | 7516fc11e44e73f1fcf8a3808dd88f82142e6585 (patch) | |
tree | 61d2831bd787831b2bd91ed1c3f9e0b248b46e6d /arch/s390/boot | |
parent | s390: rescue initrd as early as possible (diff) | |
download | linux-7516fc11e44e73f1fcf8a3808dd88f82142e6585.tar.xz linux-7516fc11e44e73f1fcf8a3808dd88f82142e6585.zip |
s390/decompressor: clean up and rename compressed/misc.c
Since compressed/misc.c is conditionally compiled move error reporting
code to boot/main.c. With that being done compressed/misc.c has no
"miscellaneous" functions left and is all about plain decompression
now. Rename it accordingly.
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>
Diffstat (limited to 'arch/s390/boot')
-rw-r--r-- | arch/s390/boot/compressed/Makefile | 2 | ||||
-rw-r--r-- | arch/s390/boot/compressed/decompressor.c (renamed from arch/s390/boot/compressed/misc.c) | 25 | ||||
-rw-r--r-- | arch/s390/boot/compressed/decompressor.h | 1 | ||||
-rw-r--r-- | arch/s390/boot/startup.c | 10 |
4 files changed, 14 insertions, 24 deletions
diff --git a/arch/s390/boot/compressed/Makefile b/arch/s390/boot/compressed/Makefile index a69746cd83be..fd7cfc7b93a5 100644 --- a/arch/s390/boot/compressed/Makefile +++ b/arch/s390/boot/compressed/Makefile @@ -9,7 +9,7 @@ KCOV_INSTRUMENT := n GCOV_PROFILE := n UBSAN_SANITIZE := n -obj-y := $(if $(CONFIG_KERNEL_UNCOMPRESSED),,misc.o) piggy.o info.o +obj-y := $(if $(CONFIG_KERNEL_UNCOMPRESSED),,decompressor.o) piggy.o info.o targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 targets += vmlinux.bin.xz vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.lz4 targets += info.bin $(obj-y) diff --git a/arch/s390/boot/compressed/misc.c b/arch/s390/boot/compressed/decompressor.c index b773f81f5bff..45046630c56a 100644 --- a/arch/s390/boot/compressed/misc.c +++ b/arch/s390/boot/compressed/decompressor.c @@ -7,11 +7,9 @@ * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com> */ -#include <linux/uaccess.h> +#include <linux/kernel.h> +#include <linux/string.h> #include <asm/page.h> -#include <asm/sclp.h> -#include <asm/ipl.h> -#include <asm/sections.h> #include "decompressor.h" /* @@ -31,8 +29,6 @@ extern char _end[]; extern unsigned char _compressed_start[]; extern unsigned char _compressed_end[]; -static void error(char *m); - #ifdef CONFIG_HAVE_KERNEL_BZIP2 #define HEAP_SIZE 0x400000 #else @@ -66,23 +62,6 @@ static unsigned long free_mem_end_ptr = (unsigned long) _end + HEAP_SIZE; #include "../../../../lib/decompress_unxz.c" #endif -static int puts(const char *s) -{ - sclp_early_printk(s); - return 0; -} - -static void error(char *x) -{ - unsigned long long psw = 0x000a0000deadbeefULL; - - puts("\n\n"); - puts(x); - puts("\n\n -- System halted"); - - asm volatile("lpsw %0" : : "Q" (psw)); -} - #define decompress_offset ALIGN((unsigned long)_end + HEAP_SIZE, PAGE_SIZE) unsigned long mem_safe_offset(void) diff --git a/arch/s390/boot/compressed/decompressor.h b/arch/s390/boot/compressed/decompressor.h index 90d382d501d7..b774425dcb5f 100644 --- a/arch/s390/boot/compressed/decompressor.h +++ b/arch/s390/boot/compressed/decompressor.h @@ -8,6 +8,7 @@ static inline void *decompress_kernel(void) {} void *decompress_kernel(void); #endif unsigned long mem_safe_offset(void); +void error(char *m); struct vmlinux_info { unsigned long default_lma; diff --git a/arch/s390/boot/startup.c b/arch/s390/boot/startup.c index 5aeac7564e67..81199ca4a513 100644 --- a/arch/s390/boot/startup.c +++ b/arch/s390/boot/startup.c @@ -1,9 +1,19 @@ // SPDX-License-Identifier: GPL-2.0 #include <linux/string.h> #include <asm/setup.h> +#include <asm/sclp.h> #include "compressed/decompressor.h" #include "boot.h" +void error(char *x) +{ + sclp_early_printk("\n\n"); + sclp_early_printk(x); + sclp_early_printk("\n\n -- System halted"); + + disabled_wait(0xdeadbeef); +} + #ifdef CONFIG_KERNEL_UNCOMPRESSED unsigned long mem_safe_offset(void) { |