s390/decompressor: clean up and rename compressed/misc.c
authorVasily Gorbik <gor@linux.ibm.com>
Wed, 25 Jul 2018 13:01:11 +0000 (15:01 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2018 09:21:05 +0000 (11:21 +0200)
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>
arch/s390/boot/compressed/Makefile
arch/s390/boot/compressed/decompressor.c [moved from arch/s390/boot/compressed/misc.c with 83% similarity]
arch/s390/boot/compressed/decompressor.h
arch/s390/boot/startup.c

index a69746cd83be542ae72f5370b570ad088de96791..fd7cfc7b93a541afa9f0219e8a7e737796648aa1 100644 (file)
@@ -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)
similarity index 83%
rename from arch/s390/boot/compressed/misc.c
rename to arch/s390/boot/compressed/decompressor.c
index b773f81f5bffe035dba71d7ef74402ee4f912485..45046630c56acf06a4cf01a6c24e190af5557bec 100644 (file)
@@ -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)
index 90d382d501d75a6a5a30b7c3c1aedb88e4ebc33e..b774425dcb5f879feabef631786f5b418cc39260 100644 (file)
@@ -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;
index 5aeac7564e679c384e388cf9fe9ecb7877e7b160..81199ca4a51332936d5a6c0a80f98e0a9bff269d 100644 (file)
@@ -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)
 {