diff options
-rw-r--r-- | src/boot/Makefile | 4 | ||||
-rw-r--r-- | src/boot/loader_l1.S | 11 | ||||
-rw-r--r-- | src/boot/loader_l2.c | 7 | ||||
-rw-r--r-- | src/boot/loader_l2_setup.S | 11 | ||||
-rw-r--r-- | src/boot/pibmem_repair.S | 3 | ||||
-rw-r--r-- | src/build/Makefile | 4 |
6 files changed, 22 insertions, 18 deletions
diff --git a/src/boot/Makefile b/src/boot/Makefile index dd347452..38cb449b 100644 --- a/src/boot/Makefile +++ b/src/boot/Makefile @@ -50,7 +50,7 @@ $(IMG_DIR)/$(IMAGE_OTPROM_NAME).bin $(OBJDIR)/$(IMAGE_OTPROM_NAME).dis: $(OBJDIR #create a linked ELF executable $(OBJDIR)/$(IMAGE_OTPROM_NAME).out: $(OTPROM_LOADER_OBJS) $(LINK_SCRIPT_OTPROM) - $(LD) -e base_loader -T$(LINK_SCRIPT_OTPROM) -Map $(OBJDIR)/$(IMAGE_OTPROM_NAME).map -Bstatic -o $(OBJDIR)/$(IMAGE_OTPROM_NAME).out $(OTPROM_LOADER_OBJS) + $(LD) -e l2_loader -T$(LINK_SCRIPT_OTPROM) -Map $(OBJDIR)/$(IMAGE_OTPROM_NAME).map -Bstatic -o $(OBJDIR)/$(IMAGE_OTPROM_NAME).out $(OTPROM_LOADER_OBJS) # pass the link command file through the C preprocessor to evaluate macros # and remove comments @@ -64,7 +64,7 @@ $(IMG_DIR)/$(IMAGE_LOADER_NAME).bin $(OBJDIR)/$(IMAGE_LOADER_NAME).dis: $(OBJDIR #create a linked ELF executable $(OBJDIR)/$(IMAGE_LOADER_NAME).out: $(LOADER_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 $(LOADER_OBJS) + $(LD) -e l2_loader -T$(LINK_SCRIPT_LOADER) -Map $(OBJDIR)/$(IMAGE_LOADER_NAME).map -Bstatic -o $(OBJDIR)/$(IMAGE_LOADER_NAME).out $(LOADER_OBJS) # pass the link command file through the C preprocessor to evaluate macros # and remove comments diff --git a/src/boot/loader_l1.S b/src/boot/loader_l1.S index 1699b239..020a2912 100644 --- a/src/boot/loader_l1.S +++ b/src/boot/loader_l1.S @@ -6,6 +6,7 @@ /* OpenPOWER sbe Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ /* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -28,7 +29,7 @@ .list ### **************************************************************************** -### .loader_text - This section contains pm loader code +### .loader_text - This section contains l1 loader code ### @TODO via RTC 136315 ### It also contains vector code. We can remove vector code ### once OTPROM support for simics is in. @@ -46,10 +47,10 @@ __vectors: .org __vectors + 0x0040 __system_reset: - b __pmLoader + b __l1Loader -__pmLoader: +__l1Loader: bl _pibmemRepair _liw %r3, SBE_LOADER_BASE_SECTION # Base Loader Section Location _liw %r4, SBE_LOADER_BASE_ORIGIN # dest @@ -58,7 +59,7 @@ __pmLoader: li r6, 3 srw r5, r5, r6 # Number of double word transfers mtctr r5 # set the counter for loop - lwz r8, 0(r3) # offset of baseloader section + lwz r8, 0(r3) # offset of l2loader section adde r8, r8, r9 # add base address to offset to get absolute address copy_loop: @@ -77,6 +78,6 @@ copy_loop: mtlr r6 blr - .epilogue __pmLoader + .epilogue __l1Loader #include "pibmem_repair.S" diff --git a/src/boot/loader_l2.c b/src/boot/loader_l2.c index 4f575bea..ec497c68 100644 --- a/src/boot/loader_l2.c +++ b/src/boot/loader_l2.c @@ -6,6 +6,7 @@ /* OpenPOWER sbe Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* [+] International Business Machines Corp. */ /* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -39,7 +40,7 @@ int32_t loadSection( P9XipSection * i_section, uint64_t *i_destAddr ) } // Function to load base image into PIBMEM -int32_t base_loader() +int32_t l2_loader() { int32_t rc = 0; P9XipHeader *hdr = getXipHdr(); @@ -61,8 +62,8 @@ int32_t base_loader() // initialising all PIBMEM. If performance become concern during initial // SBE load, we can optimise this. // We have three options here in optimisation - // 1. Put this logic in SEEPROM loader ( pmloader ). This was we can - // reclaim space taken by base loader as stack/bss can grow in base + // 1. Put this logic in SEEPROM loader ( l1loader ). This was we can + // reclaim space taken by l2 loader as stack/bss can grow in base // loader section after image load. // 2. Keep this code in PIBMEM. But do not initialise the memory taken // by base image. diff --git a/src/boot/loader_l2_setup.S b/src/boot/loader_l2_setup.S index 99da6d5c..6db24f25 100644 --- a/src/boot/loader_l2_setup.S +++ b/src/boot/loader_l2_setup.S @@ -6,6 +6,7 @@ /* OpenPOWER sbe Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* [+] International Business Machines Corp. */ /* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -26,11 +27,11 @@ .list ### **************************************************************************** -### Do the initial setup for base loader +### Do the initial setup for l2 loader ### ### **************************************************************************** -__base_loader_setup: +__l2_loader_setup: ## Set up PowerPC EABI constant registers. @@ -51,7 +52,7 @@ __base_loader_setup: li %r4, 0 stvd %r3, -8(%r1) - ## Call the base loader - bl base_loader + ## Call the l2 loader + bl l2_loader - .epilogue __base_loader_setup + .epilogue __l2_loader_setup diff --git a/src/boot/pibmem_repair.S b/src/boot/pibmem_repair.S index 98b1ecfa..2b376950 100644 --- a/src/boot/pibmem_repair.S +++ b/src/boot/pibmem_repair.S @@ -6,6 +6,7 @@ /* OpenPOWER sbe Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ /* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -58,5 +59,5 @@ _pibmemRepair: oris r0, r0, 0x8A00 # set the bit 0 to enable the debug blot-on stvd d0, 0(r5) # DBG_LCL_REG - blr # back to pm_loader + blr # back to l1_loader diff --git a/src/build/Makefile b/src/build/Makefile index 437548a9..fba611f8 100644 --- a/src/build/Makefile +++ b/src/build/Makefile @@ -202,8 +202,8 @@ buildinfo: $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set build_host `hostname` add_LoaderAddr: $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out - $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set L1_LoaderAddr 0x`nm $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out | grep __pmLoader | cut -f 1 -d " "` - $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set L2_LoaderAddr 0x`nm $(BOOT_OBJDIR)/$(IMAGE_LOADER_NAME).out | grep __base_loader_setup | cut -f 1 -d " "` + $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set L1_LoaderAddr 0x`nm $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out | grep __l1Loader | cut -f 1 -d " "` + $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set L2_LoaderAddr 0x`nm $(BOOT_OBJDIR)/$(IMAGE_LOADER_NAME).out | grep __l2_loader_setup | cut -f 1 -d " "` $(P9_XIP_TOOL) $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).bin set kernelAddr 0x`nm $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out | grep __pk_boot | cut -f 1 -d " "` symbols: $(IMG_DIR)/$(IMAGE_SEEPROM_NAME).out $(BOOT_OBJDIR)/$(IMAGE_LOADER_NAME).out $(IMG_DIR)/$(IMAGE_SBE_NAME).out |