summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2017-06-23 10:42:53 -0500
committerDean Sanner <dsanner@us.ibm.com>2017-07-09 20:20:08 -0400
commit09611ce4c4d419f9202cea67c0ccb544d9c9da12 (patch)
treefadbc55473e6446b511080225deac10d82a5dc67 /src/import/chips/p9
parent388eb4c3457c744ff6af95f000377dabb2c2f388 (diff)
downloadtalos-hostboot-09611ce4c4d419f9202cea67c0ccb544d9c9da12.tar.gz
talos-hostboot-09611ce4c4d419f9202cea67c0ccb544d9c9da12.zip
PM: HOMER Header Magic word change.
Commit restores the magic words of CPMR, QPMR and PPMR region to CPMR_1.0, QPMR_1.0 and PPMR_1.0 respectively. It dissociates it with EC level. Change-Id: I4a5a40f0d766eb80eaba09fb216b93ae54d0219e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42366 Reviewed-by: Gregory S. Still <stillgs@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: RAHUL BATRA <rbatra@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42368 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9')
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
index 472aad68d..d709f5ae9 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
@@ -134,6 +134,7 @@ enum
L3_EPS_DIVIDER = 1,
L2_EPS_DIVIDER = 1,
MAX_HOMER_HEADER = 6,
+ MAX_PM_REGION_HEADER = 3,
};
/**
@@ -3825,34 +3826,29 @@ void customizeMagicWord( Homerlayout_t* i_pHomer, uint8_t i_ecLevel )
uint64_t magicWordCustom[MAX_HOMER_HEADER];
uint64_t * pMagicWord[MAX_HOMER_HEADER];
pMagicWord[0] = &pQpmrHdr->magic_number;
- pMagicWord[1] = &pSgpeImgHdr->g_sgpe_magic_number;
- pMagicWord[2] = &pCpmrHdr->magic_number;
- pMagicWord[3] = &pCmeHdr->g_cme_magic_number;
- pMagicWord[4] = &pPpmrHdr->g_ppmr_magic_number;
+ pMagicWord[1] = &pCpmrHdr->magic_number;
+ pMagicWord[2] = &pPpmrHdr->g_ppmr_magic_number;
+ pMagicWord[3] = &pSgpeImgHdr->g_sgpe_magic_number;
+ pMagicWord[4] = &pCmeHdr->g_cme_magic_number;
pMagicWord[5] = &pPgpeHdr->g_pgpe_magic_number;
- magicWordCustom[0] = QPMR_MAGIC_NUMBER_BASE;
- magicWordCustom[1] = SGPE_MAGIC_NUMBER_BASE;
- magicWordCustom[2] = CPMR_MAGIC_NUMBER_BASE;
- magicWordCustom[3] = CME_MAGIC_NUMBER_BASE;
- magicWordCustom[4] = PPMR_MAGIC_NUMBER_BASE;
- magicWordCustom[5] = PGPE_MAGIC_NUMBER_BASE;
+ magicWordCustom[0] = QPMR_MAGIC_NUMBER;
+ magicWordCustom[1] = CPMR_MAGIC_NUMBER;
+ magicWordCustom[2] = PPMR_MAGIC_NUMBER;
+ magicWordCustom[3] = SGPE_MAGIC_NUMBER;
+ magicWordCustom[4] = CME_MAGIC_NUMBER;
+ magicWordCustom[5] = PGPE_MAGIC_NUMBER;
- uint32_t ecMajor = (i_ecLevel & 0xf0 );
- ecMajor = ecMajor << 12;
- uint8_t ecMinor = (i_ecLevel & 0x0f);
FAPI_INF("=========== Header Magic Words Info ===========");
for( uint32_t i = 0; i < MAX_HOMER_HEADER; i++ )
{
- char magicWord[MAX_HOMER_HEADER][20] = { "QPMR Magic Word ", "SGPE Magic Word ", "CPMR Magic Word ",
- "CME Magic Word ", "PPMR Magic Word ", "PGPE Magic Word " };
+ char magicWord[MAX_HOMER_HEADER][20] = { "QPMR Magic Word ", "CPMR Magic Word ", "PPMR Magic Word ",
+ "SGPE Magic Word ", "CME Magic Word ", "PGPE Magic Word " };
char tempBuf[10] ;
memset( tempBuf, 0x00, 10 );
- magicWordCustom[i] += ecMinor;
- magicWordCustom[i] += ecMajor;
- *pMagicWord[i] = SWIZZLE_8_BYTE( magicWordCustom[i]);
+ *pMagicWord[i] = SWIZZLE_8_BYTE( magicWordCustom[i] );
memcpy( tempBuf, pMagicWord[i], sizeof(uint64_t) );
FAPI_INF("%s\t\t:\t\t %s ( 0x%016lx ) ", &magicWord[i], tempBuf, SWIZZLE_8_BYTE(*pMagicWord[i]) );
}
OpenPOWER on IntegriCloud