summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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