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
11SYSTEM	=$(TOPDIR)/vmlinux
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
18ifeq ($(CONFIG_CPU_26),y)
19ZRELADDR	 = 0x02080000
20PARAMS_PHYS	 = 0x0207c000
21INITRD_PHYS	 = 0x02180000
22endif
23
24ifeq ($(CONFIG_ARCH_RPC),y)
25ZRELADDR	 = 0x10008000
26PARAMS_PHYS	 = 0x10000100
27INITRD_PHYS	 = 0x18000000
28endif
29
30ifeq ($(CONFIG_ARCH_RISCSTATION),y)
31ZRELADDR	 = 0x10008000
32PARAMS_PHYS	 = 0x10000100
33INITRD_PHYS	 = 0x18000000
34endif
35
36ifeq ($(CONFIG_ARCH_CLPS7500),y)
37ZRELADDR	 = 0x10008000
38endif
39
40ifeq ($(CONFIG_ARCH_EBSA110),y)
41ZRELADDR	 = 0x00008000
42PARAMS_PHYS	 = 0x00000400
43INITRD_PHYS	 = 0x00800000
44endif
45
46ifeq ($(CONFIG_ARCH_SHARK),y)
47ZTEXTADDR	 = 0x08508000
48ZRELADDR	 = 0x08008000
49endif
50
51ifeq ($(CONFIG_FOOTBRIDGE),y)
52ZRELADDR	 = 0x00008000
53PARAMS_PHYS	 = 0x00000100
54INITRD_PHYS	 = 0x00800000
55endif
56
57ifeq ($(CONFIG_ARCH_INTEGRATOR),y)
58ZRELADDR	 = 0x00008000
59PARAMS_PHYS	 = 0x00000100
60INITRD_PHYS	 = 0x00800000
61endif
62
63ifeq ($(CONFIG_ARCH_AT91RM9200),y)
64ZRELADDR	 = 0x20008000
65endif
66
67ifeq ($(CONFIG_ARCH_MX1ADS),y)
68ZRELADDR	 = 0x08008000
69endif
70
71ifeq ($(CONFIG_ARCH_CAMELOT),y)
72ZRELADDR	 = 0x00008000
73endif
74
75ifeq ($(CONFIG_ARCH_NEXUSPCI),y)
76ZRELADDR	 = 0x40008000
77endif
78
79ifeq ($(CONFIG_ARCH_L7200),y)
80ZRELADDR	 = 0xf0008000
81endif
82
83# The standard locations for stuff on CLPS711x type processors
84ifeq ($(CONFIG_ARCH_CLPS711X),y)
85ZRELADDR	 = 0xc0028000
86PARAMS_PHYS	 = 0xc0000100
87endif
88
89# Should probably have some agreement on these...
90ifeq ($(CONFIG_ARCH_P720T),y)
91INITRD_PHYS	 = 0xc0400000
92endif
93ifeq ($(CONFIG_ARCH_CDB89712),y)
94INITRD_PHYS	 = 0x00700000
95endif
96
97ifeq ($(CONFIG_ARCH_OMAHA),y)
98ZTEXTADDR	 = 0x0c008000
99PARAMS_PHYS	 = 0x0C000100
100INITRD_PHYS	 = 0x0C800000
101INITRD_VIRT	 = 0x0C800000
102endif
103
104ifeq ($(CONFIG_ARCH_SA1100),y)
105ZRELADDR	 = 0xc0008000
106# No defconfig file to move this into...
107#ifeq ($(CONFIG_SA1100_YOPY),y)
108#  ZTEXTADDR      = 0x00080000
109#  ZBSSADDR       = 0xc0200000
110#endif
111ifeq ($(CONFIG_SA1111),y)
112  ZRELADDR	 = 0xc0208000
113endif
114endif
115
116ifeq ($(CONFIG_ARCH_ANAKIN),y)
117ZRELADDR	 = 0x20008000
118endif
119
120#
121# We now have a PIC decompressor implementation.  Decompressors running
122# from RAM should not define ZTEXTADDR.  Decompressors running directly
123# from ROM or Flash must define ZTEXTADDR (preferably via the config)
124#
125ifeq ($(CONFIG_ZBOOT_ROM),y)
126ZTEXTADDR	=0x$(CONFIG_ZBOOT_ROM_TEXT)
127ZBSSADDR	=0x$(CONFIG_ZBOOT_ROM_BSS)
128else
129ZTEXTADDR	=0
130ZBSSADDR	=ALIGN(4)
131endif
132
133export	SYSTEM ZTEXTADDR ZBSSADDR ZRELADDR INITRD_PHYS PARAMS_PHYS
134
135Image:	$(SYSTEM)
136	$(OBJCOPY) $(OBJCOPYFLAGS) $< $@
137
138bzImage: zImage
139
140zImage:	compressed/vmlinux
141	$(OBJCOPY) $(OBJCOPYFLAGS) $< $@
142
143bootpImage: bootp/bootp
144	$(OBJCOPY) $(OBJCOPYFLAGS) $< $@
145
146compressed/vmlinux: $(TOPDIR)/vmlinux FORCE
147	@$(MAKE) -C compressed vmlinux
148
149bootp/bootp: zImage initrd FORCE
150	@$(MAKE) -C bootp bootp
151
152initrd:
153	@test "$(INITRD_PHYS)" != "" || (echo This machine does not support INITRD; exit -1)
154	@test "$(INITRD)" != "" || (echo You must specify INITRD; exit -1)
155
156install: Image
157	sh ./install.sh $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Image $(TOPDIR)/System.map "$(INSTALL_PATH)"
158
159zinstall: zImage
160	sh ./install.sh $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)"
161
162clean:
163	$(RM) Image zImage bootpImage
164	@$(MAKE) -C compressed clean
165	@$(MAKE) -C bootp clean
166
167dep:
168
169FORCE:
170