diff options
| author | Prem Shanker Jha <premjha2@in.ibm.com> | 2017-06-13 02:40:04 -0500 |
|---|---|---|
| committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 17:48:32 -0500 |
| commit | dc7ca34b20f669f09e5be34f9d50b33839903f45 (patch) | |
| tree | 85e483bbd5bad59c17ea1027088c67b7a7ac42e3 | |
| parent | 957f20fd3ce4f162abc4f574889021beb15fa365 (diff) | |
| download | talos-hcode-dc7ca34b20f669f09e5be34f9d50b33839903f45.tar.gz talos-hcode-dc7ca34b20f669f09e5be34f9d50b33839903f45.zip | |
PM: CPMR magic word correction.
Hcode image build temporarily adds dd level specific magic word
in HOMER. This broke STOP API and HOMER parser which check for
a DD1 specific magic word to validate CPMR region of HOMER. Commit
makes those check independent of DD level variation.
Change-Id: I2c59c5367c462506c05c1703865b9a4a7ec198c3
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41736
Dev-Ready: Joseph J. McGill <jmcgill@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
| -rw-r--r-- | import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H | 1 | ||||
| -rwxr-xr-x | import/chips/p9/procedures/utils/stopreg/p9_stop_util.C | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H b/import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H index aaee2801..89615417 100644 --- a/import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H +++ b/import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H @@ -60,6 +60,7 @@ HCD_CONST(SGPE_BUILD_VERSION, 0x001) // SGPE_1.0 HCD_CONST(PGPE_BUILD_VERSION, 0x001) // PGPE_1.0 HCD_CONST64(CPMR_MAGIC_NUMBER_BASE, ULL(0x43504d525f302e30)) // CPMR_0.0 +HCD_CONST(CPMR_REGION_CHECK_WORD, (0x43504d52)) // CPMR HCD_CONST64(CME_MAGIC_NUMBER_BASE , ULL(0x434d455f5f302e30)) // CME__0.0 HCD_CONST64(QPMR_MAGIC_NUMBER_BASE, ULL(0x51504d525f302e30)) // QPMR_0.0 HCD_CONST64(SGPE_MAGIC_NUMBER_BASE, ULL(0x534750455f302e30)) // SGPE_0.0 diff --git a/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C b/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C index 52bf6e4c..495c6ce0 100755 --- a/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C +++ b/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C @@ -66,7 +66,10 @@ static StopReturnCode_t isFusedMode( void* const i_pImage, bool* o_fusedMode ) } - if( SWIZZLE_8_BYTE(CPMR_MAGIC_NUMBER) != pHomer->cpmrMagicWord ) + uint64_t cpmrCheckWord = SWIZZLE_8_BYTE(pHomer->cpmrMagicWord); + cpmrCheckWord = cpmrCheckWord >> 32; + + if( CPMR_REGION_CHECK_WORD != cpmrCheckWord ) { MY_ERR("corrupt or invalid HOMER image location 0x%016llx", SWIZZLE_8_BYTE(pHomer->cpmrMagicWord) ); |

