blob: df1a728a8012187e50b73a813b3f03fdc9266365 [file] [log] [blame]
Bill Hoffaffe83702015-03-30 21:37:20 -05001From 07b936c1c5f97314719e7e988e6c07810637b8c1 Mon Sep 17 00:00:00 2001
2From: Dean Sanner <dsanner@us.ibm.com>
3Date: Wed, 11 Mar 2015 09:11:14 -0500
4Subject: [PATCH 3/8] Support partial good Xbus
5
6Change-Id: I245cd9947d5b7a05ff9a8f92ff18c658b1fe09d6
7Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16300
8Tested-by: Jenkins Server
9Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
10Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
11Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
12(cherry picked from commit a0f4a934254572ce49a1ddf5e4d5d944b52779be)
13---
14 src/usr/hwpf/plat/fapiPlatAttributeService.C | 22 ++++++++++++++++++----
15 1 file changed, 18 insertions(+), 4 deletions(-)
16
17diff --git a/src/usr/hwpf/plat/fapiPlatAttributeService.C b/src/usr/hwpf/plat/fapiPlatAttributeService.C
18index 6e4f400..7da841a 100644
19--- a/src/usr/hwpf/plat/fapiPlatAttributeService.C
20+++ b/src/usr/hwpf/plat/fapiPlatAttributeService.C
21@@ -58,11 +58,14 @@
22 #include <hwpf/hwp/pll_accessors/getPllRingInfoAttr.H>
23 #include <hwpf/hwp/winkle_ring_accessors/getL3DeltaDataAttr.H>
24 #include <fapiAttributeIds.H>
25+#include <hwas/common/hwasCommon.H>
26+
27 // The following file checks at compile time that all HWPF attributes are
28 // handled by Hostboot. This is done to ensure that the HTML file listing
29 // supported HWPF attributes lists attributes handled by Hostboot
30 #include <fapiAttributePlatCheck.H>
31
32+
33 //******************************************************************************
34 // Implementation
35 //******************************************************************************
36@@ -1239,6 +1242,7 @@ fapi::ReturnCode fapiPlatGetEnableAttr ( fapi::AttributeId i_id,
37 {
38 fapi::ReturnCode l_rc;
39 TARGETING::Target * l_pTarget = NULL;
40+ o_enable = 0;
41
42 // Get the Targeting Target
43 l_rc = getTargetingTarget(i_pFapiTarget, l_pTarget);
44@@ -1271,10 +1275,20 @@ fapi::ReturnCode fapiPlatGetEnableAttr ( fapi::AttributeId i_id,
45 o_enable = 1;
46 break;
47 case fapi::ATTR_PROC_X_ENABLE:
48- // The enable flag reflects the state of the pervasive chiplet,
49- // NOT the bus logic, so always return true since we don't
50- // support partial good on the XBUS chiplet
51- o_enable = 1;
52+ // Need to support having the X bus chiplet partial good
53+ // Look at the saved away PG data
54+ TARGETING::ATTR_CHIP_REGIONS_TO_ENABLE_type l_chipRegionData;
55+ l_rc = FAPI_ATTR_GET(ATTR_CHIP_REGIONS_TO_ENABLE, i_pFapiTarget,
56+ l_chipRegionData);
57+ if (l_rc) {
58+ FAPI_ERR("fapi_attr_get( ATTR_CHIP_REGIONS_TO_ENABLE ) failed. With rc = 0x%x",
59+ (uint32_t) l_rc );
60+ break;
61+ }
62+ else if (l_chipRegionData[HWAS::VPD_CP00_PG_XBUS_INDEX] != 0)
63+ {
64+ o_enable = 0x1;
65+ }
66 break;
67 default:
68 o_enable = 0;
69--
701.8.2.2
71