From cf636ad2527070d3d7da277e03ba2b394ed77a29 Mon Sep 17 00:00:00 2001 From: Prem Shanker Jha Date: Tue, 13 Jun 2017 02:40:04 -0500 Subject: 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 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41825 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/import/chips/p9/procedures/utils') diff --git a/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C b/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C index f745a1738..6fb8d679f 100755 --- a/src/import/chips/p9/procedures/utils/stopreg/p9_stop_util.C +++ b/src/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) ); -- cgit v1.2.1