diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2016-12-05 11:28:32 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-12-20 11:56:13 -0500 |
commit | efafd905a5ed1f09a2a18fb60ddb7af0e8ce6778 (patch) | |
tree | 5ebbe439e87cd621faa55dd9c6c8455af5a5e010 /src | |
parent | c2dd21c843eaa6b136388ec3ec910944e88ce681 (diff) | |
download | talos-hostboot-efafd905a5ed1f09a2a18fb60ddb7af0e8ce6778.tar.gz talos-hostboot-efafd905a5ed1f09a2a18fb60ddb7af0e8ce6778.zip |
Add gcc -Os optimization to the hostboot bootloader
Change-Id: Ibe443c8c937387ffa817d22fa72365b216f42151
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33414
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/bootloader.ld | 1 | ||||
-rw-r--r-- | src/bootloader/makefile | 2 | ||||
-rw-r--r-- | src/usr/sbe/sbe_update.C | 10 | ||||
-rw-r--r-- | src/usr/sbe/sbe_update.H | 1 |
4 files changed, 10 insertions, 4 deletions
diff --git a/src/bootloader.ld b/src/bootloader.ld index 685c67434..fd4abacd4 100644 --- a/src/bootloader.ld +++ b/src/bootloader.ld @@ -41,6 +41,7 @@ SECTIONS *(.text) *(.text._*) *(.text.*) + *(.sfpr) } .rodata ALIGN(0x8): { diff --git a/src/bootloader/makefile b/src/bootloader/makefile index 2513e7089..4ed5e444b 100644 --- a/src/bootloader/makefile +++ b/src/bootloader/makefile @@ -37,5 +37,7 @@ OBJS += bl_pnor_utils.o OBJS += bl_pnor_ecc.o OBJS += bl_builtins.o +OPT_LEVEL = -Os + include ${ROOTPATH}/config.mk diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index 06863889c..ca4128309 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -770,11 +770,13 @@ namespace SBE "pnor vaddr = 0x%.16X", pnorSectionId, pnorInfo.vaddr); - // Look for HBBL end data on 16-byte boundary start at offset 0x2C00 - // Note: Code takes up at least the first 0x2C00 bytes of the HBBL - // image, so start at that offset to search for this data. + // Look for HBBL end data on 16-byte boundary start at offset + // HBBL_FUZZY_END_ADDRESS + // Note: Code takes up at least the first HBBL_FUZZY_END_ADDRESS + // bytes of the HBBL image, so start at that offset to search + // for this data. uint64_t hbblAbsoluteEnd = pnorInfo.vaddr + pnorInfo.size; - uint64_t hbblAddr = pnorInfo.vaddr + 0x2C00; + uint64_t hbblAddr = pnorInfo.vaddr + HBBL_FUZZY_END_ADDRESS; while( hbblAddr < hbblAbsoluteEnd ) { hbblEndData = reinterpret_cast<hbblEndData_t*>(hbblAddr); diff --git a/src/usr/sbe/sbe_update.H b/src/usr/sbe/sbe_update.H index 8f2f27912..1f960a3b1 100644 --- a/src/usr/sbe/sbe_update.H +++ b/src/usr/sbe/sbe_update.H @@ -96,6 +96,7 @@ namespace SBE // PNOR HBBL Partition constants const uint64_t HBBL_START_ADDRESS = 0x0000000000003000; + const uint64_t HBBL_FUZZY_END_ADDRESS = 0x1400; const size_t HBBL_MAX_SIZE = 20*KILOBYTE; // 20KB const uint64_t HBBL_END_EYECATCHER = 0x4842424C656E6400; // 'HBBLend\0' |