diff options
author | Claus Michael Olsen <cmolsen@us.ibm.com> | 2016-09-30 10:22:44 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-10-05 10:44:13 -0400 |
commit | d377e0dd67892a4a68376484af34050c4bffd8e5 (patch) | |
tree | 9981d3a9aac94d7547803b5c36f8ce80a32cecf0 /src | |
parent | ee23e39b030fb095cf16287286214ff54a99647d (diff) | |
download | talos-hostboot-d377e0dd67892a4a68376484af34050c4bffd8e5.tar.gz talos-hostboot-d377e0dd67892a4a68376484af34050c4bffd8e5.zip |
Support for EX VPD instance rings: scanSelect update for EX rings
Change-Id: I5f6d75cee8bff71d6f315eb948a7663f502663d1
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30542
Dev-Ready: Kahn C. Evans <kahnevan@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: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30560
Reviewed-by: Hostboot Team <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')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C | 32 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml | 11 |
2 files changed, 39 insertions, 4 deletions
diff --git a/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C b/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C index 97ba4c63b..8e8f99f04 100644 --- a/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C +++ b/src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C @@ -160,7 +160,7 @@ fapi2::ReturnCode _fetch_and_insert_vpd_rings( uint8_t l_instanceIdMax; uint8_t l_evenOdd; uint64_t l_evenOddMaskStart; - uint64_t l_evenOddMask; + uint64_t l_evenOddMask; // 0:even, 1:odd uint8_t bSkipRing = 0; @@ -178,11 +178,36 @@ fapi2::ReturnCode _fetch_and_insert_vpd_rings( // listed in ring_identification.C: One for each of the two EX, even and odd. // Each of these two rings have the same [EQ] chipletId encoded in their // iv_chipletId (current RS4 header) or iv_scanAddress (next gen RS4 header). - // They are distinguished by their even-odd bits 12-13 in iv_scanSelect. + // They are distinguished by their even-odd bits in iv_scanSelect as follows: if (i_ring.vpdRingClass == VPD_RING_CLASS_EX_INS) { l_ringsPerChipletId = 2; - l_evenOddMaskStart = ((uint64_t)0x00080000) << 32; + + switch (i_ring.ringId) + { + case ex_l3_refr_time: + case ex_l3_refr_repr: + l_evenOddMaskStart = ((uint64_t)0x00080000) << 32; + break; + + case ex_l2_repr: + l_evenOddMaskStart = ((uint64_t)0x00800000) << 32; + break; + + case ex_l3_repr: + l_evenOddMaskStart = ((uint64_t)0x02000000) << 32; + break; + + default: + FAPI_ASSERT( false, + fapi2::XIPC_MVPD_RING_ID_MESS(). + set_CHIP_TARGET(i_proc_target). + set_RING_ID(i_ring.ringId), + "Code bug: Wrong assumption about supported ringIds in this context. " + "ringId=%d(=0x%x)(=ringId.ringName) is not allowed here. ", + i_ring.ringId, i_ring.ringId, i_ring.ringName ); + break; + } } else { @@ -212,7 +237,6 @@ fapi2::ReturnCode _fetch_and_insert_vpd_rings( l_evenOddMask = l_evenOddMaskStart >> l_evenOdd; - FAPI_INF("_fetch_and_insert_vpd_rings: (ringId,chipletId) = (0x%02X,0x%02x)", i_ring.ringId, l_chipletId); diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml index 5dbfc17d2..58dad9a6f 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml @@ -90,6 +90,17 @@ </hwpError> <!-- ********************************************************************* --> <hwpError> + <rc>RC_XIPC_MVPD_RING_ID_MESS</rc> + <description>Code bug: Wrong assumption about ringId</description> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <ffdc>CHIP_TARGET</ffdc> + <ffdc>RING_ID</ffdc> + </hwpError> + <!-- ********************************************************************* --> + <hwpError> <rc>RC_XIPC_MVPD_CHIPLET_ID_MESS</rc> <description>VPD ring's chipletId doesn't match requested chipletId</description> <callout> |