Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / s390 / boot / Makefile
index c844eaf24ed739dc2b818daef401b523fc788643..c51496bbac1906c721485be0b2abac71106f6631 100644 (file)
@@ -12,25 +12,35 @@ KBUILD_AFLAGS := $(KBUILD_AFLAGS_DECOMPRESSOR)
 KBUILD_CFLAGS := $(KBUILD_CFLAGS_DECOMPRESSOR)
 
 #
-# Use -march=z900 for als.c to be able to print an error
+# Use minimum architecture for als.c to be able to print an error
 # message if the kernel is started on a machine which is too old
 #
-ifneq ($(CC_FLAGS_MARCH),-march=z900)
+ifndef CONFIG_CC_IS_CLANG
+CC_FLAGS_MARCH_MINIMUM := -march=z900
+else
+CC_FLAGS_MARCH_MINIMUM := -march=z10
+endif
+
+ifneq ($(CC_FLAGS_MARCH),$(CC_FLAGS_MARCH_MINIMUM))
 AFLAGS_REMOVE_head.o           += $(CC_FLAGS_MARCH)
-AFLAGS_head.o                  += -march=z900
+AFLAGS_head.o                  += $(CC_FLAGS_MARCH_MINIMUM)
 AFLAGS_REMOVE_mem.o            += $(CC_FLAGS_MARCH)
-AFLAGS_mem.o                   += -march=z900
+AFLAGS_mem.o                   += $(CC_FLAGS_MARCH_MINIMUM)
 CFLAGS_REMOVE_als.o            += $(CC_FLAGS_MARCH)
-CFLAGS_als.o                   += -march=z900
+CFLAGS_als.o                   += $(CC_FLAGS_MARCH_MINIMUM)
 CFLAGS_REMOVE_sclp_early_core.o        += $(CC_FLAGS_MARCH)
-CFLAGS_sclp_early_core.o       += -march=z900
+CFLAGS_sclp_early_core.o       += $(CC_FLAGS_MARCH_MINIMUM)
 endif
 
 CFLAGS_sclp_early_core.o += -I$(srctree)/drivers/s390/char
 
-obj-y  := head.o als.o startup.o mem_detect.o ipl_parm.o string.o ebcdic.o
-obj-y  += sclp_early_core.o mem.o ipl_vmparm.o cmdline.o ctype.o
-targets        := bzImage startup.a section_cmp.boot.data $(obj-y)
+obj-y  := head.o als.o startup.o mem_detect.o ipl_parm.o ipl_report.o
+obj-y  += string.o ebcdic.o sclp_early_core.o mem.o ipl_vmparm.o cmdline.o
+obj-y  += ctype.o text_dma.o
+obj-$(CONFIG_PROTECTED_VIRTUALIZATION_GUEST)   += uv.o
+obj-$(CONFIG_RELOCATABLE)      += machine_kexec_reloc.o
+obj-$(CONFIG_RANDOMIZE_BASE)   += kaslr.o
+targets        := bzImage startup.a section_cmp.boot.data section_cmp.boot.preserved.data $(obj-y)
 subdir-        := compressed
 
 OBJECTS := $(addprefix $(obj)/,$(obj-y))
@@ -48,7 +58,8 @@ define cmd_section_cmp
        touch $@
 endef
 
-$(obj)/bzImage: $(obj)/compressed/vmlinux $(obj)/section_cmp.boot.data FORCE
+OBJCOPYFLAGS_bzImage := --pad-to $$(readelf -s $(obj)/compressed/vmlinux | awk '/\<_end\>/ {print or(strtonum("0x"$$2),4095)+1}')
+$(obj)/bzImage: $(obj)/compressed/vmlinux $(obj)/section_cmp.boot.data $(obj)/section_cmp.boot.preserved.data FORCE
        $(call if_changed,objcopy)
 
 $(obj)/section_cmp%: vmlinux $(obj)/compressed/vmlinux FORCE