X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fboot%2FMakefile;h=ec9c400c7f82d171ba9ccf6e52cdb055bf1a50cb;hb=refs%2Fheads%2Fvserver;hp=602b8a68e9c0bf4e9f6a39cd108846e6a5e6bbd6;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 602b8a68e..ec9c400c7 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -1,6 +1,9 @@ # # arch/arm/boot/Makefile # +# This file is included by the global makefile so that you can add your own +# architecture-specific flags and dependencies. +# # This file is subject to the terms and conditions of the GNU General Public # License. See the file "COPYING" in the main directory of this archive # for more details. @@ -10,109 +13,70 @@ MKIMAGE := $(srctree)/scripts/mkuboot.sh -# Note: the following conditions must always be true: -# ZRELADDR == virt_to_phys(TEXTADDR) -# PARAMS_PHYS must be with 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 +ifneq ($(MACHINE),) +include $(srctree)/$(MACHINE)/Makefile.boot 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 +# Note: the following conditions must always be true: +# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) +# PARAMS_PHYS must be within 4MB of ZRELADDR +# INITRD_PHYS must be in RAM 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 + +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 -targets := Image zImage bootpImage +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 +84,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