[S390] support XZ compressed kernel
Add support for XZ compressed kernel. Same as on x86 and sh. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
3041b6ab5f
Коммит
d7b081ac0b
|
@ -85,6 +85,7 @@ config S390
|
||||||
select HAVE_KERNEL_BZIP2
|
select HAVE_KERNEL_BZIP2
|
||||||
select HAVE_KERNEL_LZMA
|
select HAVE_KERNEL_LZMA
|
||||||
select HAVE_KERNEL_LZO
|
select HAVE_KERNEL_LZO
|
||||||
|
select HAVE_KERNEL_XZ
|
||||||
select HAVE_GET_USER_PAGES_FAST
|
select HAVE_GET_USER_PAGES_FAST
|
||||||
select HAVE_ARCH_MUTEX_CPU_RELAX
|
select HAVE_ARCH_MUTEX_CPU_RELAX
|
||||||
select ARCH_INLINE_SPIN_TRYLOCK
|
select ARCH_INLINE_SPIN_TRYLOCK
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
BITS := $(if $(CONFIG_64BIT),64,31)
|
BITS := $(if $(CONFIG_64BIT),64,31)
|
||||||
|
|
||||||
targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \
|
targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \
|
||||||
vmlinux.bin.lzma vmlinux.bin.lzo misc.o piggy.o sizes.h head$(BITS).o
|
vmlinux.bin.xz vmlinux.bin.lzma vmlinux.bin.lzo misc.o piggy.o \
|
||||||
|
sizes.h head$(BITS).o
|
||||||
|
|
||||||
KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
|
KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
|
||||||
KBUILD_CFLAGS += $(cflags-y)
|
KBUILD_CFLAGS += $(cflags-y)
|
||||||
|
@ -48,6 +49,7 @@ suffix-$(CONFIG_KERNEL_GZIP) := gz
|
||||||
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
|
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
|
||||||
suffix-$(CONFIG_KERNEL_LZMA) := lzma
|
suffix-$(CONFIG_KERNEL_LZMA) := lzma
|
||||||
suffix-$(CONFIG_KERNEL_LZO) := lzo
|
suffix-$(CONFIG_KERNEL_LZO) := lzo
|
||||||
|
suffix-$(CONFIG_KERNEL_XZ) := xz
|
||||||
|
|
||||||
$(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y)
|
$(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y)
|
||||||
$(call if_changed,gzip)
|
$(call if_changed,gzip)
|
||||||
|
@ -57,6 +59,8 @@ $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y)
|
||||||
$(call if_changed,lzma)
|
$(call if_changed,lzma)
|
||||||
$(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y)
|
$(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y)
|
||||||
$(call if_changed,lzo)
|
$(call if_changed,lzo)
|
||||||
|
$(obj)/vmlinux.bin.xz: $(vmlinux.bin.all-y)
|
||||||
|
$(call if_changed,xzkern)
|
||||||
|
|
||||||
LDFLAGS_piggy.o := -r --format binary --oformat $(LD_BFD) -T
|
LDFLAGS_piggy.o := -r --format binary --oformat $(LD_BFD) -T
|
||||||
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y)
|
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y)
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#undef memset
|
#undef memset
|
||||||
#undef memcpy
|
#undef memcpy
|
||||||
#undef memmove
|
#undef memmove
|
||||||
|
#define memmove memmove
|
||||||
#define memzero(s, n) memset((s), 0, (n))
|
#define memzero(s, n) memset((s), 0, (n))
|
||||||
|
|
||||||
/* Symbols defined by linker scripts */
|
/* Symbols defined by linker scripts */
|
||||||
|
@ -54,6 +55,10 @@ static unsigned long free_mem_end_ptr;
|
||||||
#include "../../../../lib/decompress_unlzo.c"
|
#include "../../../../lib/decompress_unlzo.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_KERNEL_XZ
|
||||||
|
#include "../../../../lib/decompress_unxz.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
extern _sclp_print_early(const char *);
|
extern _sclp_print_early(const char *);
|
||||||
|
|
||||||
int puts(const char *s)
|
int puts(const char *s)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче