summaryrefslogtreecommitdiffstats
path: root/sbe/image/Makefile
diff options
context:
space:
mode:
authorDerk Rembold <rembold@de.ibm.com>2015-07-15 13:54:54 +0200
committerDerk Rembold <rembold@de.ibm.com>2015-07-22 06:17:20 -0500
commite5a8904be8fc95f8ca9dea795a0b97705b5452e3 (patch)
tree2e61a0839e89505b5afe1ef61e3955a2465a3d1a /sbe/image/Makefile
parent90b3e1f28a5786d1befafb50fccb2b865ca0081b (diff)
downloadtalos-sbe-e5a8904be8fc95f8ca9dea795a0b97705b5452e3.tar.gz
talos-sbe-e5a8904be8fc95f8ca9dea795a0b97705b5452e3.zip
add the sections to image with right name
added intX handling added baseloader creation. Loader added into loader_text section removed main in base loader Change-Id: Ic0a8a1999d49502907d638b7b73852bc5ce9bc39 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19098 Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Derk Rembold <rembold@de.ibm.com> Tested-by: Derk Rembold <rembold@de.ibm.com>
Diffstat (limited to 'sbe/image/Makefile')
-rw-r--r--sbe/image/Makefile34
1 files changed, 31 insertions, 3 deletions
diff --git a/sbe/image/Makefile b/sbe/image/Makefile
index 6fcea4af..80efb5eb 100644
--- a/sbe/image/Makefile
+++ b/sbe/image/Makefile
@@ -85,6 +85,7 @@ LINK_OBJS += $(OBJS) $(GCCLIBS)
LINK_SCRIPT_SEEPROM = $(addprefix $(OBJDIR)/, linkscriptseeprom)
LINK_SCRIPT_SBE = $(addprefix $(OBJDIR)/, linkscriptsbe)
+LINK_SCRIPT_LOADER = $(addprefix $(OBJDIR)/, linkscriptloader)
#default target is to make a binary application image
@@ -117,7 +118,25 @@ $(OBJDIR)/$(IMAGE_SBE_NAME).out: $(OBJDIR)/base_sbe_fixed.o $(LINK_OBJS) $(LINK_
$(LINK_SCRIPT_SBE): linksbe.cmd
$(CPP) -E -x c++ -P $(DEFS) linksbe.cmd -o $(LINK_SCRIPT_SBE)
-all: $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin $(OBJDIR)/$(IMAGE_SBE_NAME).bin $(SBE_TOOLS) normalize defaultset $(OBJDIR)/fixed.bin
+
+
+
+$(OBJDIR)/$(IMAGE_LOADER_NAME).bin $(OBJDIR)/$(IMAGE_LOADER_NAME).dis: $(OBJDIR)/$(IMAGE_LOADER_NAME).out
+ $(OBJCOPY) -O binary $< $(OBJDIR)/$(IMAGE_LOADER_NAME).bin --pad-to 0x`/usr/bin/nm $(OBJDIR)/$(IMAGE_LOADER_NAME).out | grep "A _loader_end" | cut -d " " -f 1`
+ $(OBJDUMP) -S $< > $(OBJDIR)/$(IMAGE_LOADER_NAME).dis
+
+#create a linked ELF executable
+$(OBJDIR)/$(IMAGE_LOADER_NAME).out: $(OBJDIR)/base_loader.o $(LINK_OBJS) $(LINK_SCRIPT_LOADER)
+ $(LD) -e base_loader -T$(LINK_SCRIPT_LOADER) -Map $(OBJDIR)/$(IMAGE_LOADER_NAME).map -Bstatic -o $(OBJDIR)/$(IMAGE_LOADER_NAME).out $(LIB_DIRS) $(OBJDIR)/base_loader.o --start-group $(SBEFWLIB) $(LLIBS) --end-group
+
+#pass the link command file through the C preprocessor to evaluate macros and remove comments
+$(LINK_SCRIPT_LOADER): linkloader.cmd
+ $(CPP) -E -x c++ -P $(DEFS) linkloader.cmd -o $(LINK_SCRIPT_LOADER)
+
+
+
+
+all: $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin $(OBJDIR)/$(IMAGE_SBE_NAME).bin $(OBJDIR)/$(IMAGE_LOADER_NAME).bin $(SBE_TOOLS) normalize defaultset $(OBJDIR)/fixed.bin appendbase appendloader
#Create an obj directory if needed
$(LINK_OBJS) $(OBJS) $(OBJS:.o=.d) $(OBJDIR)/base_sbe_fixed.o $(OBJDIR)/base_sbe_fixed.d: | $(OBJDIR)
@@ -210,6 +229,15 @@ defaultset: $(SBE_TOOLS) $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin normalize
$(OBJDIR)/fixed.bin: $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin
$(TOOLS_IMAGE_DIR)/sbe_xip_tool $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin extract .fixed $(BASE_OBJDIR)/fixed.bin
+
+appendbase: $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin $(OBJDIR)/$(IMAGE_SBE_NAME).bin
+ $(TOOLS_IMAGE_DIR)/sbe_xip_tool $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin append .base $(OBJDIR)/$(IMAGE_SBE_NAME).bin
+
+
+
+appendloader: $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin $(OBJDIR)/$(IMAGE_LOADER_NAME).bin
+ $(TOOLS_IMAGE_DIR)/sbe_xip_tool $(OBJDIR)/$(IMAGE_SEEPROM_NAME).bin append .baseloader $(OBJDIR)/$(IMAGE_LOADER_NAME).bin
+
#/afs/bb/proj/cte/tools/ppetools/prod/powerpc-eabi/bin/objcopy -O binary --only-section=.fixed $(OBJDIR)/$(IMAGE_SEEPROM_NAME).out $(OBJDIR)/fixed.bin
# collect all of the trace hash files for this image into a single trexStringFile
@@ -221,9 +249,9 @@ tracehash:
#clean the kernel directory first, then the application level clean
clean:
rm -fr $(OBJDIR)
- rm $(TOP-FIXED-HEADERS)
+ rm -f $(TOP-FIXED-HEADERS)
rm -fr $(TOOLS_IMAGE_DIR)/bin/*
- rm *.dump
+ rm -f *.dump
dump:
OpenPOWER on IntegriCloud