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_OMAP) := 0x10008000
55 params_phys-$(CONFIG_ARCH_OMAP) := 0x10000100
56 initrd_phys-$(CONFIG_ARCH_OMAP) := 0x10800000
57 zreladdr-$(CONFIG_ARCH_LH7A40X) := 0xc0008000
58 params_phys-$(CONFIG_ARCH_LH7A40X) := 0xc0000100
59 initrd_phys-$(CONFIG_ARCH_LH7A40X) := 0xc4000000
60 zreladdr-$(CONFIG_ARCH_S3C2410) := 0x30008000
61 params_phys-$(CONFIG_ARCH_S3C2410) := 0x30000100
62 zreladdr-$(CONFIG_ARCH_VERSATILE_PB) := 0x00008000
63 params_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00000100
64 initrd_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00800000
66 ZRELADDR := $(zreladdr-y)
67 ZTEXTADDR := $(ztextaddr-y)
68 PARAMS_PHYS := $(params_phys-y)
69 INITRD_PHYS := $(initrd_phys-y)
71 # We now have a PIC decompressor implementation. Decompressors running
72 # from RAM should not define ZTEXTADDR. Decompressors running directly
73 # from ROM or Flash must define ZTEXTADDR (preferably via the config)
74 # FIXME: Previous assignment to ztextaddr-y is lost here. See SHARK
75 ifeq ($(CONFIG_ZBOOT_ROM),y)
76 ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT)
77 ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS)
83 export ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS
85 targets := Image zImage bootpImage
87 $(obj)/Image: vmlinux FORCE
88 $(call if_changed,objcopy)
89 @echo ' Kernel: $@ is ready'
91 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
92 $(call if_changed,objcopy)
93 @echo ' Kernel: $@ is ready'
95 quiet_cmd_uimage = UIMAGE $@
96 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
97 -C none -a $(ZRELADDR) -e $(ZRELADDR) \
98 -n 'Linux-$(KERNELRELEASE)' -d $< $@
101 $(obj)/uImage: $(obj)/zImage
102 $(call if_changed,uimage)
103 @echo ' Image $@ is ready'
105 $(obj)/bootpImage: $(obj)/bootp/bootp FORCE
106 $(call if_changed,objcopy)
107 @echo ' Kernel: $@ is ready'
109 $(obj)/compressed/vmlinux: vmlinux FORCE
110 $(Q)$(MAKE) $(build)=$(obj)/compressed $@
112 $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE
113 $(Q)$(MAKE) $(build)=$(obj)/bootp $@
117 @test "$(INITRD_PHYS)" != "" || \
118 (echo This machine does not support INITRD; exit -1)
119 @test "$(INITRD)" != "" || \
120 (echo You must specify INITRD; exit -1)
122 install: $(obj)/Image
123 $(CONFIG_SHELL) $(obj)/install.sh \
124 $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
125 $(obj)/Image System.map "$(INSTALL_PATH)"
127 zinstall: $(obj)/zImage
128 $(CONFIG_SHELL) $(obj)/install.sh \
129 $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
130 $(obj)/zImage System.map "$(INSTALL_PATH)"
132 subdir- := bootp compressed