summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2016-12-05 11:28:32 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-12-20 11:56:13 -0500
commitefafd905a5ed1f09a2a18fb60ddb7af0e8ce6778 (patch)
tree5ebbe439e87cd621faa55dd9c6c8455af5a5e010 /src
parentc2dd21c843eaa6b136388ec3ec910944e88ce681 (diff)
downloadtalos-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.ld1
-rw-r--r--src/bootloader/makefile2
-rw-r--r--src/usr/sbe/sbe_update.C10
-rw-r--r--src/usr/sbe/sbe_update.H1
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'
OpenPOWER on IntegriCloud