xref: /openbmc/linux/arch/s390/boot/startup.c (revision 8f75582a)
18f75582aSVasily Gorbik // SPDX-License-Identifier: GPL-2.0
28f75582aSVasily Gorbik #include <linux/string.h>
38f75582aSVasily Gorbik #include "compressed/decompressor.h"
48f75582aSVasily Gorbik #include "boot.h"
58f75582aSVasily Gorbik 
68f75582aSVasily Gorbik void startup_kernel(void)
78f75582aSVasily Gorbik {
88f75582aSVasily Gorbik 	void (*startup_continue)(void) = (void *)0x100000;
98f75582aSVasily Gorbik 	unsigned long uncompressed_size;
108f75582aSVasily Gorbik 	void *uncompressed_img;
118f75582aSVasily Gorbik 
128f75582aSVasily Gorbik 	if (!IS_ENABLED(CONFIG_KERNEL_UNCOMPRESSED)) {
138f75582aSVasily Gorbik 		uncompressed_img = decompress_kernel(&uncompressed_size);
148f75582aSVasily Gorbik 		memmove(startup_continue, uncompressed_img, uncompressed_size);
158f75582aSVasily Gorbik 	}
168f75582aSVasily Gorbik 	startup_continue();
178f75582aSVasily Gorbik }
18