2 # arch/arm/boot/Makefile
4 # This file is subject to the terms and conditions of the GNU General Public
5 # License. See the file "COPYING" in the main directory of this archive
8 # Copyright (C) 1995-2002 Russell King
11 MKIMAGE := $(srctree)/scripts/mkuboot.sh
13 # Note: the following conditions must always be true:
14 # ZRELADDR == virt_to_phys(TEXTADDR)
15 # PARAMS_PHYS must be with 4MB of ZRELADDR
16 # INITRD_PHYS must be in RAM
18 zreladdr-$(CONFIG_ARCH_RPC) := 0x10008000
19 params_phys-$(CONFIG_ARCH_RPC) := 0x10000100
20 initrd_phys-$(CONFIG_ARCH_RPC) := 0x18000000
21 zreladdr-$(CONFIG_ARCH_CLPS7500) := 0x10008000
22 zreladdr-$(CONFIG_ARCH_CLPS7500) := 0x10008000
23 zreladdr-$(CONFIG_ARCH_EBSA110) := 0x00008000
24 params_phys-$(CONFIG_ARCH_EBSA110) := 0x00000400
25 initrd_phys-$(CONFIG_ARCH_EBSA110) := 0x00800000
26 ztextaddr-$(CONFIG_ARCH_SHARK) := 0x08508000
27 zreladdr-$(CONFIG_ARCH_SHARK) := 0x08008000
28 zreladdr-$(CONFIG_FOOTBRIDGE) := 0x00008000
29 params_phys-$(CONFIG_FOOTBRIDGE) := 0x00000100
30 initrd_phys-$(CONFIG_FOOTBRIDGE) := 0x00800000
31 zreladdr-$(CONFIG_ARCH_INTEGRATOR) := 0x00008000
32 params_phys-$(CONFIG_ARCH_INTEGRATOR) := 0x00000100
33 initrd_phys-$(CONFIG_ARCH_INTEGRATOR) := 0x00800000
34 zreladdr-$(CONFIG_ARCH_CAMELOT) := 0x00008000
35 zreladdr-$(CONFIG_ARCH_NEXUSPCI) := 0x40008000
36 zreladdr-$(CONFIG_ARCH_L7200) := 0xf0008000
37 # The standard locations for stuff on CLPS711x type processors
38 zreladdr-$(CONFIG_ARCH_CLPS711X) := 0xc0028000
39 params_phys-$(CONFIG_ARCH_CLPS711X) := 0xc0000100
40 # Should probably have some agreement on these...
41 initrd_phys-$(CONFIG_ARCH_P720T) := 0xc0400000
42 initrd_phys-$(CONFIG_ARCH_CDB89712) := 0x00700000
43 zreladdr-$(CONFIG_ARCH_SA1100) := 0xc0008000
44 ifeq ($(CONFIG_ARCH_SA1100),y)
45 zreladdr-$(CONFIG_SA1111) := 0xc0208000
47 params_phys-$(CONFIG_ARCH_SA1100) := 0xc0000100
48 initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000
49 zreladdr-$(CONFIG_ARCH_PXA) := 0xa0008000
50 zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000
51 params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100
52 zreladdr-$(CONFIG_ARCH_ADIFCC) := 0xc0008000
53 params_phys-$(CONFIG_ARCH_ADIFCC) := 0xc0000100
54 zreladdr-$(CONFIG_ARCH_IXP4XX) := 0x00008000
55 params-phys-$(CONFIG_ARCH_IXP4XX) := 0x00000100
56 zreladdr-$(CONFIG_ARCH_OMAP) := 0x10008000
57 params_phys-$(CONFIG_ARCH_OMAP) := 0x10000100
58 initrd_phys-$(CONFIG_ARCH_OMAP) := 0x10800000
59 zreladdr-$(CONFIG_ARCH_LH7A40X) := 0xc0008000
60 params_phys-$(CONFIG_ARCH_LH7A40X) := 0xc0000100
61 initrd_phys-$(CONFIG_ARCH_LH7A40X) := 0xc4000000
62 zreladdr-$(CONFIG_ARCH_S3C2410) := 0x30008000
63 params_phys-$(CONFIG_ARCH_S3C2410) := 0x30000100
64 zreladdr-$(CONFIG_ARCH_VERSATILE_PB) := 0x00008000
65 params_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00000100
66 initrd_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00800000
68 ZRELADDR := $(zreladdr-y)
69 ZTEXTADDR := $(ztextaddr-y)
70 PARAMS_PHYS := $(params_phys-y)
71 INITRD_PHYS := $(initrd_phys-y)
73 # We now have a PIC decompressor implementation. Decompressors running
74 # from RAM should not define ZTEXTADDR. Decompressors running directly
75 # from ROM or Flash must define ZTEXTADDR (preferably via the config)
76 # FIXME: Previous assignment to ztextaddr-y is lost here. See SHARK
77 ifeq ($(CONFIG_ZBOOT_ROM),y)
78 ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT)
79 ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS)
85 export ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS
87 targets := Image zImage bootpImage
89 $(obj)/Image: vmlinux FORCE
90 $(call if_changed,objcopy)
91 @echo ' Kernel: $@ is ready'
93 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
94 $(call if_changed,objcopy)
95 @echo ' Kernel: $@ is ready'
97 quiet_cmd_uimage = UIMAGE $@
98 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
99 -C none -a $(ZRELADDR) -e $(ZRELADDR) \
100 -n 'Linux-$(KERNELRELEASE)' -d $< $@
103 $(obj)/uImage: $(obj)/zImage
104 $(call if_changed,uimage)
105 @echo ' Image $@ is ready'
107 $(obj)/bootpImage: $(obj)/bootp/bootp FORCE
108 $(call if_changed,objcopy)
109 @echo ' Kernel: $@ is ready'
111 $(obj)/compressed/vmlinux: vmlinux FORCE
112 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
114 $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE
115 $(Q)$(MAKE) $(build)=$(obj)/bootp $@
119 @test "$(INITRD_PHYS)" != "" || \
120 (echo This machine does not support INITRD; exit -1)
121 @test "$(INITRD)" != "" || \
122 (echo You must specify INITRD; exit -1)
124 install: $(obj)/Image
125 $(CONFIG_SHELL) $(obj)/install.sh \
126 $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
127 $(obj)/Image System.map "$(INSTALL_PATH)"
129 zinstall: $(obj)/zImage
130 $(CONFIG_SHELL) $(obj)/install.sh \
131 $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
132 $(obj)/zImage System.map "$(INSTALL_PATH)"
134 subdir- := bootp compressed