ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / arch / arm / boot / Makefile
1 #
2 # arch/arm/boot/Makefile
3 #
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
6 # for more details.
7 #
8 # Copyright (C) 1995-2002 Russell King
9 #
10
11 MKIMAGE         := $(srctree)/scripts/mkuboot.sh
12
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
17
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
46 endif
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
65
66 ZRELADDR    := $(zreladdr-y)
67 ZTEXTADDR   := $(ztextaddr-y)
68 PARAMS_PHYS := $(params_phys-y)
69 INITRD_PHYS := $(initrd_phys-y)
70 #
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)
78 else
79 ZTEXTADDR       := 0
80 ZBSSADDR        := ALIGN(4)
81 endif
82
83 export  ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS
84
85 targets := Image zImage bootpImage
86
87 $(obj)/Image: vmlinux FORCE
88         $(call if_changed,objcopy)
89         @echo '  Kernel: $@ is ready'
90
91 $(obj)/zImage:  $(obj)/compressed/vmlinux FORCE
92         $(call if_changed,objcopy)
93         @echo '  Kernel: $@ is ready'
94
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 $< $@
99
100 targets += uImage
101 $(obj)/uImage:  $(obj)/zImage
102         $(call if_changed,uimage)
103         @echo '  Image $@ is ready'
104
105 $(obj)/bootpImage: $(obj)/bootp/bootp FORCE
106         $(call if_changed,objcopy)
107         @echo '  Kernel: $@ is ready'
108
109 $(obj)/compressed/vmlinux: vmlinux FORCE
110         $(Q)$(MAKE) $(build)=$(obj)/compressed $@
111
112 $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE
113         $(Q)$(MAKE) $(build)=$(obj)/bootp $@
114
115 .PHONY: initrd
116 initrd:
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)
121
122 install: $(obj)/Image
123         $(CONFIG_SHELL) $(obj)/install.sh \
124         $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
125         $(obj)/Image System.map "$(INSTALL_PATH)"
126
127 zinstall: $(obj)/zImage
128         $(CONFIG_SHELL) $(obj)/install.sh \
129         $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) \
130         $(obj)/zImage System.map "$(INSTALL_PATH)"
131
132 subdir-     := bootp compressed