X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fboot%2FMakefile;h=937a353bc37ce070656023aac3d7edf66d0a2f2c;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=602b8a68e9c0bf4e9f6a39cd108846e6a5e6bbd6;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 602b8a68e..937a353bc 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -10,109 +10,70 @@ MKIMAGE := $(srctree)/scripts/mkuboot.sh +ifneq ($(MACHINE),) +include $(srctree)/$(MACHINE)/Makefile.boot +endif + # Note: the following conditions must always be true: # ZRELADDR == virt_to_phys(TEXTADDR) -# PARAMS_PHYS must be with 4MB of ZRELADDR +# PARAMS_PHYS must be within 4MB of ZRELADDR # INITRD_PHYS must be in RAM - - zreladdr-$(CONFIG_ARCH_RPC) := 0x10008000 -params_phys-$(CONFIG_ARCH_RPC) := 0x10000100 -initrd_phys-$(CONFIG_ARCH_RPC) := 0x18000000 - zreladdr-$(CONFIG_ARCH_CLPS7500) := 0x10008000 - zreladdr-$(CONFIG_ARCH_CLPS7500) := 0x10008000 - zreladdr-$(CONFIG_ARCH_EBSA110) := 0x00008000 -params_phys-$(CONFIG_ARCH_EBSA110) := 0x00000400 -initrd_phys-$(CONFIG_ARCH_EBSA110) := 0x00800000 - ztextaddr-$(CONFIG_ARCH_SHARK) := 0x08508000 - zreladdr-$(CONFIG_ARCH_SHARK) := 0x08008000 - zreladdr-$(CONFIG_FOOTBRIDGE) := 0x00008000 -params_phys-$(CONFIG_FOOTBRIDGE) := 0x00000100 -initrd_phys-$(CONFIG_FOOTBRIDGE) := 0x00800000 - zreladdr-$(CONFIG_ARCH_INTEGRATOR) := 0x00008000 -params_phys-$(CONFIG_ARCH_INTEGRATOR) := 0x00000100 -initrd_phys-$(CONFIG_ARCH_INTEGRATOR) := 0x00800000 - zreladdr-$(CONFIG_ARCH_CAMELOT) := 0x00008000 - zreladdr-$(CONFIG_ARCH_NEXUSPCI) := 0x40008000 - zreladdr-$(CONFIG_ARCH_L7200) := 0xf0008000 -# The standard locations for stuff on CLPS711x type processors - zreladdr-$(CONFIG_ARCH_CLPS711X) := 0xc0028000 -params_phys-$(CONFIG_ARCH_CLPS711X) := 0xc0000100 -# Should probably have some agreement on these... -initrd_phys-$(CONFIG_ARCH_P720T) := 0xc0400000 -initrd_phys-$(CONFIG_ARCH_CDB89712) := 0x00700000 - zreladdr-$(CONFIG_ARCH_SA1100) := 0xc0008000 -ifeq ($(CONFIG_ARCH_SA1100),y) - zreladdr-$(CONFIG_SA1111) := 0xc0208000 -endif -params_phys-$(CONFIG_ARCH_SA1100) := 0xc0000100 -initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000 - zreladdr-$(CONFIG_ARCH_PXA) := 0xa0008000 - zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000 -params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100 - zreladdr-$(CONFIG_ARCH_ADIFCC) := 0xc0008000 -params_phys-$(CONFIG_ARCH_ADIFCC) := 0xc0000100 - zreladdr-$(CONFIG_ARCH_OMAP) := 0x10008000 -params_phys-$(CONFIG_ARCH_OMAP) := 0x10000100 -initrd_phys-$(CONFIG_ARCH_OMAP) := 0x10800000 - zreladdr-$(CONFIG_ARCH_LH7A40X) := 0xc0008000 -params_phys-$(CONFIG_ARCH_LH7A40X) := 0xc0000100 -initrd_phys-$(CONFIG_ARCH_LH7A40X) := 0xc4000000 - zreladdr-$(CONFIG_ARCH_S3C2410) := 0x30008000 -params_phys-$(CONFIG_ARCH_S3C2410) := 0x30000100 - zreladdr-$(CONFIG_ARCH_VERSATILE_PB) := 0x00008000 -params_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00000100 -initrd_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00800000 - ZRELADDR := $(zreladdr-y) -ZTEXTADDR := $(ztextaddr-y) PARAMS_PHYS := $(params_phys-y) INITRD_PHYS := $(initrd_phys-y) -# -# We now have a PIC decompressor implementation. Decompressors running -# from RAM should not define ZTEXTADDR. Decompressors running directly -# from ROM or Flash must define ZTEXTADDR (preferably via the config) -# FIXME: Previous assignment to ztextaddr-y is lost here. See SHARK -ifeq ($(CONFIG_ZBOOT_ROM),y) -ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT) -ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS) -else -ZTEXTADDR := 0 -ZBSSADDR := ALIGN(4) -endif -export ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS +export ZRELADDR INITRD_PHYS PARAMS_PHYS + +targets := Image zImage xipImage bootpImage uImage -targets := Image zImage bootpImage +ifeq ($(CONFIG_XIP_KERNEL),y) + +$(obj)/xipImage: vmlinux FORCE + $(call if_changed,objcopy) + @echo ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' + +$(obj)/Image $(obj)/zImage: FORCE + @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' + @echo 'Only the xipImage target is available in this case' + @false + +else + +$(obj)/xipImage: FORCE + @echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)' + @false $(obj)/Image: vmlinux FORCE $(call if_changed,objcopy) @echo ' Kernel: $@ is ready' +$(obj)/compressed/vmlinux: $(obj)/Image FORCE + $(Q)$(MAKE) $(build)=$(obj)/compressed $@ + $(obj)/zImage: $(obj)/compressed/vmlinux FORCE $(call if_changed,objcopy) @echo ' Kernel: $@ is ready' +endif + quiet_cmd_uimage = UIMAGE $@ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ -C none -a $(ZRELADDR) -e $(ZRELADDR) \ -n 'Linux-$(KERNELRELEASE)' -d $< $@ -targets += uImage -$(obj)/uImage: $(obj)/zImage +$(obj)/uImage: $(obj)/zImage FORCE $(call if_changed,uimage) @echo ' Image $@ is ready' +$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE + $(Q)$(MAKE) $(build)=$(obj)/bootp $@ + @: + $(obj)/bootpImage: $(obj)/bootp/bootp FORCE $(call if_changed,objcopy) @echo ' Kernel: $@ is ready' -$(obj)/compressed/vmlinux: vmlinux FORCE - $(Q)$(MAKE) $(build)=$(obj)/compressed $@ - -$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE - $(Q)$(MAKE) $(build)=$(obj)/bootp $@ - -.PHONY: initrd +.PHONY: initrd FORCE initrd: @test "$(INITRD_PHYS)" != "" || \ (echo This machine does not support INITRD; exit -1) @@ -120,13 +81,11 @@ initrd: (echo You must specify INITRD; exit -1) install: $(obj)/Image - $(CONFIG_SHELL) $(obj)/install.sh \ - $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \ + $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ $(obj)/Image System.map "$(INSTALL_PATH)" zinstall: $(obj)/zImage - $(CONFIG_SHELL) $(obj)/install.sh \ - $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \ + $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ $(obj)/zImage System.map "$(INSTALL_PATH)" subdir- := bootp compressed