![James Hogan](/assets/img/avatar_default.png)
The vmlinux load address and entry address is calculated in multiple places: - arch/mips/Makefile defines load-y from CONFIG_PHYSICAL_START (or defined by the platform) and passes it to arch/mips/boot/compressed/Makefile. - arch/mips/boot/compressed/Makefile calculates kernel entry using nm. - arch/mips/lasat/image/Makefile calculates both load and entry address using nm. Lets combine these in the main Makefile and then pass them as Make parameters to each of the three boot image Makefiles (in boot/, boot/compressed, lasat/image/). The boot/ Makefile doesn't currently use them, but will soon need to for U-Boot image targets. The existing load-y definition is used in preference to calculating the load address using nm. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/5794/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
53 lines
1.1 KiB
Makefile
53 lines
1.1 KiB
Makefile
#
|
|
# MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
|
|
#
|
|
# i-data Networks
|
|
#
|
|
# Author: Thomas Horsten <thh@i-data.com>
|
|
#
|
|
|
|
ifndef Version
|
|
Version = "$(USER)-test"
|
|
endif
|
|
|
|
MKLASATIMG = mklasatimg
|
|
MKLASATIMG_ARCH = mq2,mqpro,sp100,sp200
|
|
KERNEL_IMAGE = vmlinux
|
|
|
|
LDSCRIPT= -L$(srctree)/$(src) -Tromscript.normal
|
|
|
|
HEAD_DEFINES := -D_kernel_start=$(VMLINUX_LOAD_ADDRESS) \
|
|
-D_kernel_entry=$(VMLINUX_ENTRY_ADDRESS) \
|
|
-D VERSION="\"$(Version)\"" \
|
|
-D TIMESTAMP=$(shell date +%s)
|
|
|
|
$(obj)/head.o: $(obj)/head.S $(KERNEL_IMAGE)
|
|
$(CC) -fno-pic $(HEAD_DEFINES) $(LINUXINCLUDE) -c -o $@ $<
|
|
|
|
OBJECTS = head.o kImage.o
|
|
|
|
rom.sw: $(obj)/rom.sw
|
|
rom.bin: $(obj)/rom.bin
|
|
|
|
$(obj)/rom.sw: $(obj)/rom.bin
|
|
$(MKLASATIMG) -o $@ -k $^ -m $(MKLASATIMG_ARCH)
|
|
|
|
$(obj)/rom.bin: $(obj)/rom
|
|
$(OBJCOPY) -O binary -S $^ $@
|
|
|
|
# Rule to make the bootloader
|
|
$(obj)/rom: $(addprefix $(obj)/,$(OBJECTS))
|
|
$(LD) $(LDFLAGS) $(LDSCRIPT) -o $@ $^
|
|
|
|
$(obj)/%.o: $(obj)/%.gz
|
|
$(LD) -r -o $@ -b binary $<
|
|
|
|
$(obj)/%.gz: $(obj)/%.bin
|
|
gzip -cf -9 $< > $@
|
|
|
|
$(obj)/kImage.bin: $(KERNEL_IMAGE)
|
|
$(OBJCOPY) -O binary -S $^ $@
|
|
|
|
clean:
|
|
rm -f rom rom.bin rom.sw kImage.bin kImage.o
|