summaryrefslogtreecommitdiffstats
path: root/src/include/bootloader
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2017-06-22 16:50:25 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-07-20 15:54:41 -0400
commit22d6e4636c815eecdcf778c417ef217e32878fba (patch)
tree0e709eee941452f3d5b1b7b43b6257587d97d90d /src/include/bootloader
parent6744879ceba92b2b2a060cff929bfaaf5d26d762 (diff)
downloadtalos-hostboot-22d6e4636c815eecdcf778c417ef217e32878fba.tar.gz
talos-hostboot-22d6e4636c815eecdcf778c417ef217e32878fba.zip
Handle Compatability issues for new BltoHbData location
Change-Id: I9ec35ca8dd513a5e31f69cd899fa5d1e00d41c63 RTC: 175114 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42442 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/bootloader')
-rw-r--r--src/include/bootloader/bootloader.H8
-rw-r--r--src/include/bootloader/bootloaderif.H14
2 files changed, 13 insertions, 9 deletions
diff --git a/src/include/bootloader/bootloader.H b/src/include/bootloader/bootloader.H
index afe2acc71..f00927530 100644
--- a/src/include/bootloader/bootloader.H
+++ b/src/include/bootloader/bootloader.H
@@ -226,10 +226,10 @@ namespace Bootloader{
#define HW_KEYS_HASH_ADDR (getHRMOR() + HBBL_EXCEPTION_VECTOR_SIZE \
+ MAX_HBBL_SIZE - 64)
/** Location of working copy of HBB with ECC */
-#define HBB_ECC_WORKING_ADDR (getHRMOR() + ( 1*MEGABYTE))
+#define HBB_ECC_WORKING_ADDR (getHRMOR() - ( 1*MEGABYTE))
/** Location of working copy of HBB without ECC */
-#define HBB_WORKING_ADDR (getHRMOR() - ( 1*MEGABYTE))
+#define HBB_WORKING_ADDR (getHRMOR() + ( 1*MEGABYTE))
/** Location of HBBL data */
#define HBBL_DATA_ADDR (getHRMOR() + HBBL_EXCEPTION_VECTOR_SIZE \
@@ -238,10 +238,6 @@ namespace Bootloader{
/** Location of HBBL scratch space */
#define HBBL_SCRATCH_SPACE_ADDR (getHRMOR() + (64*KILOBYTE))
- /** Location of running copy of HBB */
-#define HBB_HRMOR (getHRMOR() - ( 2*MEGABYTE))
-#define HBB_RUNNING_ADDR (getHRMOR() - ( 2*MEGABYTE))
-
/** Location of SBE HB communication area
Defined in SBE code and bootloader.ld */
#define SBE_HB_COMM_ADDR (getHRMOR() + 0x4)
diff --git a/src/include/bootloader/bootloaderif.H b/src/include/bootloader/bootloaderif.H
index fc810dc4b..a418d047b 100644
--- a/src/include/bootloader/bootloaderif.H
+++ b/src/include/bootloader/bootloaderif.H
@@ -42,13 +42,21 @@ namespace Bootloader{
#define MAX_HBB_SIZE (512 * KILOBYTE)
-// The Bootloader to Hostboot communication area exists after the working HBB
+// Location of running copy of HBB
#ifdef BOOTLOADER
-#define BLTOHB_COMM_DATA_ADDR (getHRMOR() - ( 2*MEGABYTE) + MAX_HBB_SIZE)
+#define HBB_HRMOR (getHRMOR() - ( 2*MEGABYTE))
+#define HBB_RUNNING_ADDR (getHRMOR() - ( 2*MEGABYTE))
#else
-#define BLTOHB_COMM_DATA_ADDR (getHRMOR() + MAX_HBB_SIZE)
+#define HBB_HRMOR (getHRMOR())
+#define HBB_RUNNING_ADDR (getHRMOR())
#endif
+// Different Locations of BlToHBData struct over time.
+// New values make "_LATEST" and switch current "_LATEST" to "V<N>"
+// NOTE: Done this way to limit code space.
+#define BLTOHB_COMM_DATA_ADDR_V1 (HBB_HRMOR + 512*KILOBYTE)
+#define BLTOHB_COMM_DATA_ADDR_LATEST (HBB_HRMOR + MAX_HBB_SIZE)
+
// Expected BlToHbData eye catch
const uint64_t BLTOHB_EYECATCHER = 0x23626C746F686200; // #BLTOHB\0
OpenPOWER on IntegriCloud