summaryrefslogtreecommitdiffstats
path: root/sbe
diff options
context:
space:
mode:
authorPrasad Bg Ranganath <prasadbgr@in.ibm.com>2016-06-12 22:46:44 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-06-29 00:25:40 -0400
commita17c71a65a9ff93d851231513cba938ebbb03dc7 (patch)
tree17719a586fce0aa364ca0ec5dc8fa07c05fc3b73 /sbe
parenta5f9e816d9b139708967c8433928498a95e0c536 (diff)
downloadtalos-sbe-a17c71a65a9ff93d851231513cba938ebbb03dc7.tar.gz
talos-sbe-a17c71a65a9ff93d851231513cba938ebbb03dc7.zip
New rings and obus0,1,2,3 support in ringId file
Modified p9_ringId.C and p9_ring_identification.H for accommudating new rings support Change-Id: I5a43ddf01c7377327b6d13c3bde5191458cf96d7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25695 Tested-by: Jenkins Server Tested-by: PPE CI Tested-by: Hostboot CI Reviewed-by: Claus M. Olsen <cmolsen@us.ibm.com> Reviewed-by: Joseph E. Dery <dery@us.ibm.com> Reviewed-by: Martin Peschke <mpeschke@de.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25913 Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'sbe')
-rw-r--r--sbe/hwpf/src/plat_ring_traverse.C51
1 files changed, 41 insertions, 10 deletions
diff --git a/sbe/hwpf/src/plat_ring_traverse.C b/sbe/hwpf/src/plat_ring_traverse.C
index cd5ff7e4..e6a70efa 100644
--- a/sbe/hwpf/src/plat_ring_traverse.C
+++ b/sbe/hwpf/src/plat_ring_traverse.C
@@ -69,13 +69,6 @@ fapi2::ReturnCode findRS4InImageAndApply(
// Get the address of the Section-TOR
P9XipHeader *l_hdr = getXipHdr();
P9XipSection *l_section = &(l_hdr->iv_section[P9_XIP_SECTION_SBE_RINGS]);
-
-
- if (!(l_section->iv_offset))
- {
- SBE_TRACE("No ring data in .RING section");
- break;
- }
SectionTOR *l_sectionTOR = (SectionTOR *)(g_seepromAddr +
l_section->iv_offset);
@@ -180,9 +173,9 @@ fapi2::ReturnCode findRS4InImageAndApply(
break;
- case OB_TYPE: // OB - OB2
- l_chipletData = OB::g_obData;
- l_cpltRingVariantSz = sizeof(OB::RingVariants) /
+ case OB0_TYPE: // OB0
+ l_chipletData = OB0::g_ob0Data;
+ l_cpltRingVariantSz = sizeof(OB0::RingVariants) /
sizeof(l_cpltRingVariantSz);
l_sectionOffset = l_sectionTOR->TOC_OB_COMMON_RING;
@@ -192,6 +185,43 @@ fapi2::ReturnCode findRS4InImageAndApply(
}
break;
+ case OB1_TYPE: // OB1
+ l_chipletData = OB1::g_ob1Data;
+ l_cpltRingVariantSz = sizeof(OB1::RingVariants) /
+ sizeof(l_cpltRingVariantSz);
+
+ l_sectionOffset = l_sectionTOR->TOC_OB_COMMON_RING;
+ if(INSTANCE_RING == l_ringType)
+ {
+ l_sectionOffset = l_sectionTOR->TOC_OB_INSTANCE_RING;
+ }
+
+ break;
+ case OB2_TYPE: // OB2
+ l_chipletData = OB2::g_ob2Data;
+ l_cpltRingVariantSz = sizeof(OB2::RingVariants) /
+ sizeof(l_cpltRingVariantSz);
+
+ l_sectionOffset = l_sectionTOR->TOC_OB_COMMON_RING;
+ if(INSTANCE_RING == l_ringType)
+ {
+ l_sectionOffset = l_sectionTOR->TOC_OB_INSTANCE_RING;
+ }
+
+ break;
+ case OB3_TYPE: // OB3
+ l_chipletData = OB3::g_ob3Data;
+ l_cpltRingVariantSz = sizeof(OB3::RingVariants) /
+ sizeof(l_cpltRingVariantSz);
+
+ l_sectionOffset = l_sectionTOR->TOC_OB_COMMON_RING;
+ if(INSTANCE_RING == l_ringType)
+ {
+ l_sectionOffset = l_sectionTOR->TOC_OB_INSTANCE_RING;
+ }
+
+ break;
+
case PCI0_TYPE: // PCI - PCI0
l_chipletData = PCI0::g_pci0Data;
@@ -347,6 +377,7 @@ fapi2::ReturnCode findRS4InImageAndApply(
}
else
{
+ l_rc = fapi2::FAPI2_RC_PLAT_RING_ID_NOT_FOUND_IN_RS4_IMAGE;
SBE_TRACE("Ring image is not found for this is ringId %u",i_ringID);
}
}while(0);
OpenPOWER on IntegriCloud