s390: remove decompressor's head.S
Decompressor's head.S provided "data mover" sole purpose of which has been to safely move uncompressed kernel at 0x100000 and jump to it. With current bzImage layout entire decompressor's code guaranteed to be in a safe location under 0x100000, and hence could not be overwritten during kernel move. For that reason head.S could be replaced with simple memmove function. To do so introduce early boot code phase which is executed from arch/s390/boot/head.S after "verify_facilities" and takes care of optional kernel image decompression and transition to it. 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>
This commit is contained in:

committed by
Martin Schwidefsky

parent
32ce55a659
commit
8f75582a2f
11
arch/s390/boot/compressed/decompressor.h
Normal file
11
arch/s390/boot/compressed/decompressor.h
Normal file
@@ -0,0 +1,11 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef BOOT_COMPRESSED_DECOMPRESSOR_H
|
||||
#define BOOT_COMPRESSED_DECOMPRESSOR_H
|
||||
|
||||
#ifdef CONFIG_KERNEL_UNCOMPRESSED
|
||||
static inline void *decompress_kernel(unsigned long *uncompressed_size) {}
|
||||
#else
|
||||
void *decompress_kernel(unsigned long *uncompressed_size);
|
||||
#endif
|
||||
|
||||
#endif /* BOOT_COMPRESSED_DECOMPRESSOR_H */
|
Reference in New Issue
Block a user