summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorClaus Michael Olsen <cmolsen@us.ibm.com>2016-09-30 10:22:44 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-05 10:44:13 -0400
commitd377e0dd67892a4a68376484af34050c4bffd8e5 (patch)
tree9981d3a9aac94d7547803b5c36f8ce80a32cecf0 /src
parentee23e39b030fb095cf16287286214ff54a99647d (diff)
downloadtalos-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.C32
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_xip_customize_errors.xml11
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>
OpenPOWER on IntegriCloud