Dean Sanner | 2840b1d | 2017-06-29 12:36:43 -0500 | [diff] [blame] | 1 | From 6707528059ba2b13b6ab78c1ed12d99ecd3fa69c Mon Sep 17 00:00:00 2001 |
| 2 | From: Prem Shanker Jha <premjha2@in.ibm.com> |
| 3 | Date: Fri, 23 Jun 2017 10:42:53 -0500 |
| 4 | Subject: [PATCH v1 1001/1002] PM: HOMER Header Magic word change. |
| 5 | |
| 6 | Commit restores the magic words of CPMR, QPMR and PPMR region to |
| 7 | CPMR_1.0, QPMR_1.0 and PPMR_1.0 respectively. It dissociates it |
| 8 | with EC level. |
| 9 | |
| 10 | Change-Id: I4a5a40f0d766eb80eaba09fb216b93ae54d0219e |
| 11 | Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42366 |
| 12 | Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> |
| 13 | Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> |
| 14 | Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> |
| 15 | Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com> |
| 16 | Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> |
| 17 | --- |
| 18 | .../p9/procedures/hwp/pm/p9_hcode_image_build.C | 32 ++++++++++------------ |
| 19 | 1 file changed, 14 insertions(+), 18 deletions(-) |
| 20 | |
| 21 | 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 |
| 22 | index 8957295..4ddb140 100644 |
| 23 | --- a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C |
| 24 | +++ b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C |
| 25 | @@ -134,6 +134,7 @@ enum |
| 26 | L3_EPS_DIVIDER = 1, |
| 27 | L2_EPS_DIVIDER = 1, |
| 28 | MAX_HOMER_HEADER = 6, |
| 29 | + MAX_PM_REGION_HEADER = 3, |
| 30 | }; |
| 31 | |
| 32 | /** |
| 33 | @@ -3789,34 +3790,29 @@ void customizeMagicWord( Homerlayout_t* i_pHomer, uint8_t i_ecLevel ) |
| 34 | uint64_t magicWordCustom[MAX_HOMER_HEADER]; |
| 35 | uint64_t * pMagicWord[MAX_HOMER_HEADER]; |
| 36 | pMagicWord[0] = &pQpmrHdr->magic_number; |
| 37 | - pMagicWord[1] = &pSgpeImgHdr->g_sgpe_magic_number; |
| 38 | - pMagicWord[2] = &pCpmrHdr->magic_number; |
| 39 | - pMagicWord[3] = &pCmeHdr->g_cme_magic_number; |
| 40 | - pMagicWord[4] = &pPpmrHdr->g_ppmr_magic_number; |
| 41 | + pMagicWord[1] = &pCpmrHdr->magic_number; |
| 42 | + pMagicWord[2] = &pPpmrHdr->g_ppmr_magic_number; |
| 43 | + pMagicWord[3] = &pSgpeImgHdr->g_sgpe_magic_number; |
| 44 | + pMagicWord[4] = &pCmeHdr->g_cme_magic_number; |
| 45 | pMagicWord[5] = &pPgpeHdr->g_pgpe_magic_number; |
| 46 | |
| 47 | - magicWordCustom[0] = QPMR_MAGIC_NUMBER_BASE; |
| 48 | - magicWordCustom[1] = SGPE_MAGIC_NUMBER_BASE; |
| 49 | - magicWordCustom[2] = CPMR_MAGIC_NUMBER_BASE; |
| 50 | - magicWordCustom[3] = CME_MAGIC_NUMBER_BASE; |
| 51 | - magicWordCustom[4] = PPMR_MAGIC_NUMBER_BASE; |
| 52 | - magicWordCustom[5] = PGPE_MAGIC_NUMBER_BASE; |
| 53 | + magicWordCustom[0] = QPMR_MAGIC_NUMBER; |
| 54 | + magicWordCustom[1] = CPMR_MAGIC_NUMBER; |
| 55 | + magicWordCustom[2] = PPMR_MAGIC_NUMBER; |
| 56 | + magicWordCustom[3] = SGPE_MAGIC_NUMBER; |
| 57 | + magicWordCustom[4] = CME_MAGIC_NUMBER; |
| 58 | + magicWordCustom[5] = PGPE_MAGIC_NUMBER; |
| 59 | |
| 60 | - uint32_t ecMajor = (i_ecLevel & 0xf0 ); |
| 61 | - ecMajor = ecMajor << 12; |
| 62 | - uint8_t ecMinor = (i_ecLevel & 0x0f); |
| 63 | |
| 64 | FAPI_INF("=========== Header Magic Words Info ==========="); |
| 65 | |
| 66 | for( uint32_t i = 0; i < MAX_HOMER_HEADER; i++ ) |
| 67 | { |
| 68 | - char magicWord[MAX_HOMER_HEADER][20] = { "QPMR Magic Word ", "SGPE Magic Word ", "CPMR Magic Word ", |
| 69 | - "CME Magic Word ", "PPMR Magic Word ", "PGPE Magic Word " }; |
| 70 | + char magicWord[MAX_HOMER_HEADER][20] = { "QPMR Magic Word ", "CPMR Magic Word ", "PPMR Magic Word ", |
| 71 | + "SGPE Magic Word ", "CME Magic Word ", "PGPE Magic Word " }; |
| 72 | char tempBuf[10] ; |
| 73 | memset( tempBuf, 0x00, 10 ); |
| 74 | - magicWordCustom[i] += ecMinor; |
| 75 | - magicWordCustom[i] += ecMajor; |
| 76 | - *pMagicWord[i] = SWIZZLE_8_BYTE( magicWordCustom[i]); |
| 77 | + *pMagicWord[i] = SWIZZLE_8_BYTE( magicWordCustom[i] ); |
| 78 | memcpy( tempBuf, pMagicWord[i], sizeof(uint64_t) ); |
| 79 | FAPI_INF("%s\t\t:\t\t %s ( 0x%016lx ) ", &magicWord[i], tempBuf, SWIZZLE_8_BYTE(*pMagicWord[i]) ); |
| 80 | } |
| 81 | -- |
| 82 | 1.8.2.2 |
| 83 | |