summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2014-06-25 10:06:34 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-07-23 15:04:20 -0500
commitdf671d4cc6c597764f40a00d4278a9a6f1bfa25d (patch)
tree36ef740fbe81e59d2649219d541d560ff23ed3c9 /src
parent2bb008546b5aab64a059862bd08d5c4d21de00c9 (diff)
downloadtalos-hostboot-df671d4cc6c597764f40a00d4278a9a6f1bfa25d.tar.gz
talos-hostboot-df671d4cc6c597764f40a00d4278a9a6f1bfa25d.zip
SW260003: PMPROC: PM firinit procedures need to overlay present mask value durin
CQ:SW260003 Change-Id: I91a90fb8934dde5b1d41716e101bd01e8e788108 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11455 Reviewed-by: Thi N. Tran <thi@us.ibm.com> Tested-by: Thi N. Tran <thi@us.ibm.com> Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11807 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_firinit.C37
-rw-r--r--src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C55
-rwxr-xr-xsrc/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pba_firinit.C56
-rw-r--r--src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pmc_firinit.C57
-rw-r--r--src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml58
-rw-r--r--src/usr/runtime/common/hsvc_exdata.C2
-rw-r--r--src/usr/runtime/common/hsvc_procdata.C16
-rw-r--r--src/usr/runtime/common/hsvc_sysdata.C6
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml89
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml6
10 files changed, 364 insertions, 18 deletions
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_firinit.C
index 93caacf24..f08f00b7a 100644
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_firinit.C
@@ -22,7 +22,8 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_firinit.C,v 1.14 2013/10/30 17:13:05 stillgs Exp $
+
+// $Id: p8_pm_firinit.C,v 1.17 2014/07/09 14:49:32 daviddu Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -115,12 +116,13 @@ p8_pm_firinit(const fapi::Target &i_target , uint32_t i_mode)
ecmdDataBufferBase data(64);
uint64_t any_error = 0;
const char * PM_MODE_NAME_VAR; // Defines storage for PM_MODE_NAME
+ uint8_t attr_pm_firinit_done_once_flag;
FAPI_INF("p8_pm_firinit start for mode %s", PM_MODE_NAME(i_mode));
do
{
-
+
// *************************************************************
// CHECKING FOR FIRS BEFORE RESET and INIT
// *************************************************************
@@ -240,6 +242,37 @@ p8_pm_firinit(const fapi::Target &i_target , uint32_t i_mode)
break;
}
+ // -----------
+ // SW260003
+ // -----------
+
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+
+ if (i_mode == PM_INIT) {
+ if (attr_pm_firinit_done_once_flag != 1) {
+ attr_pm_firinit_done_once_flag = 1;
+ rc = FAPI_ATTR_SET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiSetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed");
+ break;
+ }
+ }
+ }
+ else if (i_mode == PM_RESET) {
+ if (attr_pm_firinit_done_once_flag == 1) {
+ attr_pm_firinit_done_once_flag = 2;
+ rc = FAPI_ATTR_SET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiSetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed");
+ break;
+ }
+ }
+ }
+
} while(0);
FAPI_INF("p8_pm_firinit end for mode %s", PM_MODE_NAME(i_mode));
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
index d931e8b7c..6bb9b96a5 100644
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
@@ -22,7 +22,8 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_occ_firinit.C,v 1.18 2014/03/10 15:10:09 stillgs Exp $
+
+// $Id: p8_pm_occ_firinit.C,v 1.22 2014/07/09 14:49:32 daviddu Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_occ_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -86,8 +87,11 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
ecmdDataBufferBase action_0(64);
ecmdDataBufferBase action_1(64);
ecmdDataBufferBase mask(64);
+ ecmdDataBufferBase data(64);
uint32_t e_rc = 0;
uint8_t ce_fir_disable = 0;;
+ uint64_t attr_pm_occ_lfir_mask;
+ uint8_t attr_pm_firinit_done_once_flag;
FAPI_DBG("Executing p8_pm_occ_firinit ....");
@@ -96,8 +100,30 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
if (mode == PM_RESET)
{
- e_rc = mask.flushTo0();
- e_rc |= mask.setBit(0,OCC_FIR_REGISTER_LENGTH);
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag == 1) {
+ rc = fapiGetScom(i_target, OCC_LFIR_MASK_0x01010803, data );
+ if (!rc.ok())
+ {
+ FAPI_ERR("fapiGetScom(OCC_LFIR_MASK_0x01010803) failed.");
+ break;
+ }
+ attr_pm_occ_lfir_mask = data.getDoubleWord(0);
+ rc = FAPI_ATTR_SET(ATTR_PM_OCC_LFIR_MASK, &i_target, attr_pm_occ_lfir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiSetAttribute of ATTR_PM_OCC_LFIR_MASK failed");
+ break;
+ }
+ }
+
+ e_rc = mask.flushTo1();
if (e_rc)
{
rc.setEcmdError(e_rc);
@@ -274,6 +300,29 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
break;
}
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag) {
+ rc = FAPI_ATTR_GET(ATTR_PM_OCC_LFIR_MASK, &i_target, attr_pm_occ_lfir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_OCC_LFIR_MASK failed.");
+ break;
+ }
+ e_rc |= data.setDoubleWord(0, attr_pm_occ_lfir_mask);
+ e_rc |= mask.setOr(data, 0, 64);
+ if (e_rc)
+ {
+ rc.setEcmdError(e_rc);
+ break;
+ }
+ }
+
// ------------
// OCC_FIR_MASK
// ------------
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pba_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pba_firinit.C
index c934f6d57..16aa2d801 100755
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pba_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pba_firinit.C
@@ -22,7 +22,8 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_pba_firinit.C,v 1.18 2014/03/21 19:11:18 stillgs Exp $
+
+// $Id: p8_pm_pba_firinit.C,v 1.22 2014/07/09 14:49:32 daviddu Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_pba_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -97,8 +98,10 @@ p8_pm_pba_firinit(const fapi::Target& i_target , uint32_t mode )
ecmdDataBufferBase action_0(64);
ecmdDataBufferBase action_1(64);
ecmdDataBufferBase mask(64);
+ ecmdDataBufferBase data(64);
uint32_t e_rc = 0;
-
+ uint64_t attr_pm_pba_fir_mask;
+ uint8_t attr_pm_firinit_done_once_flag;
FAPI_DBG("Executing p8_pm_pba_firinit ....");
do
@@ -106,8 +109,30 @@ p8_pm_pba_firinit(const fapi::Target& i_target , uint32_t mode )
if (mode == PM_RESET)
{
- e_rc = mask.flushTo0();
- e_rc |= mask.setBit(0, PBA_FIR_REGISTER_LENGTH);
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag == 1) {
+ rc = fapiGetScom(i_target, PBA_FIR_MASK_0x02010843, data );
+ if (!rc.ok())
+ {
+ FAPI_ERR("fapiGetScom(PBA_FIR_MASK_0x02010843) failed.");
+ break;
+ }
+ attr_pm_pba_fir_mask = data.getDoubleWord(0);
+ rc = FAPI_ATTR_SET(ATTR_PM_PBA_FIR_MASK, &i_target, attr_pm_pba_fir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiSetAttribute of ATTR_PM_PBA_FIR_MASK failed");
+ break;
+ }
+ }
+
+ e_rc = mask.flushTo1();
if (e_rc)
{
rc.setEcmdError(e_rc);
@@ -225,6 +250,29 @@ p8_pm_pba_firinit(const fapi::Target& i_target , uint32_t mode )
break;
}
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag) {
+ rc = FAPI_ATTR_GET(ATTR_PM_PBA_FIR_MASK, &i_target, attr_pm_pba_fir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_PBA_FIR_MASK failed.");
+ break;
+ }
+ e_rc |= data.setDoubleWord(0, attr_pm_pba_fir_mask);
+ e_rc |= mask.setOr(data, 0, 64);
+ if (e_rc)
+ {
+ rc.setEcmdError(e_rc);
+ break;
+ }
+ }
+
//--******************************************************************************
//-- PBA_FIR_MASK (W0_OR_45) (WR_43) (WO_AND_44)
//--******************************************************************************
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pmc_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pmc_firinit.C
index 4362486dd..c1fc19e3b 100644
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pmc_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_pmc_firinit.C
@@ -22,7 +22,8 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_pmc_firinit.C,v 1.20 2014/04/07 02:55:10 stillgs Exp $
+
+// $Id: p8_pm_pmc_firinit.C,v 1.24 2014/07/09 14:49:32 daviddu Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_pmc_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -103,19 +104,44 @@ p8_pm_pmc_firinit(const fapi::Target& i_target , uint32_t mode )
ecmdDataBufferBase action_0(64);
ecmdDataBufferBase action_1(64);
ecmdDataBufferBase mask(64);
+ ecmdDataBufferBase data(64);
ecmdDataBufferBase pmc_ocb_mask_hi(64);
ecmdDataBufferBase pmc_ocb_mask_lo(64);
uint32_t e_rc = 0;
-
+ uint64_t attr_pm_pmc_lfir_mask;
+ uint8_t attr_pm_firinit_done_once_flag;
FAPI_DBG("Executing p8_pm_pmc_firinit ...");
do
{
if (mode == PM_RESET)
{
+
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag == 1) {
+ rc = fapiGetScom(i_target, PMC_LFIR_MASK_0x01010843, data );
+ if (!rc.ok())
+ {
+ FAPI_ERR("fapiGetScom(PMC_LFIR_MASK_0x01010843) failed.");
+ break;
+ }
+ attr_pm_pmc_lfir_mask = data.getDoubleWord(0);
+ rc = FAPI_ATTR_SET(ATTR_PM_PMC_LFIR_MASK, &i_target, attr_pm_pmc_lfir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiSetAttribute of ATTR_PM_PMC_LFIR_MASK failed");
+ break;
+ }
+ }
+
FAPI_INF("Hard reset detected. Full PMC LFIR is masked");
- e_rc = mask.flushTo0();
- e_rc |= mask.setBit(0,PMC_FIR_REGISTER_LENGTH);
+ e_rc = mask.flushTo1();
if (e_rc)
{
rc.setEcmdError(e_rc);
@@ -336,6 +362,29 @@ p8_pm_pmc_firinit(const fapi::Target& i_target , uint32_t mode )
break;
}
+ // -----------
+ // SW260003
+ // -----------
+ rc = FAPI_ATTR_GET(ATTR_PM_FIRINIT_DONE_ONCE_FLAG, &i_target, attr_pm_firinit_done_once_flag);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_FIRINIT_DONE_ONCE_FLAG failed.");
+ break;
+ }
+ if (attr_pm_firinit_done_once_flag) {
+ rc = FAPI_ATTR_GET(ATTR_PM_PMC_LFIR_MASK, &i_target, attr_pm_pmc_lfir_mask);
+ if (!rc.ok()) {
+ FAPI_ERR("fapiGetAttribute of ATTR_PM_PMC_LFIR_MASK failed.");
+ break;
+ }
+ e_rc |= data.setDoubleWord(0, attr_pm_pmc_lfir_mask);
+ e_rc |= mask.setOr(data, 0, 64);
+ if (e_rc)
+ {
+ rc.setEcmdError(e_rc);
+ break;
+ }
+ }
+
//--******************************************************************************
//-- PMC_FIR_MASK (W0_OR_45) (WR_43) (WO_AND_44)
//--******************************************************************************
diff --git a/src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml b/src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml
index 082f5e425..1c9eab424 100644
--- a/src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml
+++ b/src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml
@@ -20,7 +20,7 @@
<!-- permissions and limitations under the License. -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: pm_hwp_attributes.xml,v 1.11 2014/02/06 19:08:22 stillgs Exp $ -->
+<!-- $Id: pm_hwp_attributes.xml,v 1.13 2014/07/09 15:25:15 dcrowell Exp $ -->
<!--
XML file specifying Power Management HWPF attributes.
These attributes are initialized to zero by the platform and set to a
@@ -838,5 +838,61 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<writeable/>
</attribute>
+<attribute>
+ <id>ATTR_PM_PFET_WORKAROUND_RUN_FLAG</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Flag to store that the work-around for HW250017 as been run so that during any resets it is skipped.
+ </description>
+ <valueType>uint8</valueType>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>ATTR_PM_OCC_LFIR_MASK</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the OCC_LFIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_occ_firinit.C
+ </description>
+ <valueType>uint64</valueType>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>ATTR_PM_PBA_FIR_MASK</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the PBA_FIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_pba_firinit.C
+ </description>
+ <valueType>uint64</valueType>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>ATTR_PM_PMC_LFIR_MASK</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the PMC_LFIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_pmc_firinit.C
+ </description>
+ <valueType>uint64</valueType>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>ATTR_PM_FIRINIT_DONE_ONCE_FLAG</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ 0 = OCC has never been loaded and FIR Masks have never been initialized,
+ 1 = FIR masks have been initialized and the hardware should reflect correct values,
+ 2 = FIR masks have been initialized but the current hardware state is the reset value
+ Producer/Consumer: p8_pm_firinit.C
+ </description>
+ <valueType>uint8</valueType>
+ <writeable/>
+</attribute>
+
</attributes>
diff --git a/src/usr/runtime/common/hsvc_exdata.C b/src/usr/runtime/common/hsvc_exdata.C
index 8b05461a9..e20fee874 100644
--- a/src/usr/runtime/common/hsvc_exdata.C
+++ b/src/usr/runtime/common/hsvc_exdata.C
@@ -20,7 +20,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Wed Mar 19 10:52:20 CDT 2014 by cswenson from
+// Generated on Wed Jul 9 14:34:55 CDT 2014 by dcrowell from
// ./create_hsvc_data.pl -w ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/poreve_memory_attributes.xml ../../xml/attribute_info/proc_chip_ec_feature.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/unit_attributes.xml
// -- Input: ../../xml/attribute_info/chip_attributes.xml --
// No attributes found
diff --git a/src/usr/runtime/common/hsvc_procdata.C b/src/usr/runtime/common/hsvc_procdata.C
index 593f44dff..6030114de 100644
--- a/src/usr/runtime/common/hsvc_procdata.C
+++ b/src/usr/runtime/common/hsvc_procdata.C
@@ -20,7 +20,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Wed Mar 19 10:52:20 CDT 2014 by cswenson from
+// Generated on Wed Jul 9 14:34:55 CDT 2014 by dcrowell from
// ./create_hsvc_data.pl -w ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/poreve_memory_attributes.xml ../../xml/attribute_info/proc_chip_ec_feature.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/unit_attributes.xml
// -- Input: ../../xml/attribute_info/chip_attributes.xml --
HSVC_LOAD_ATTR( ATTR_CHIP_HAS_SBE );
@@ -32,6 +32,10 @@ HSVC_LOAD_ATTR( ATTR_FABRIC_CHIP_ID );
HSVC_LOAD_ATTR( ATTR_FABRIC_NODE_ID );
HSVC_LOAD_ATTR( ATTR_FSI_GP_REG_SCOM_ACCESS );
HSVC_LOAD_ATTR_P( ATTR_NAME );
+HSVC_LOAD_ATTR( ATTR_OSCSWITCH_CTL0 );
+HSVC_LOAD_ATTR( ATTR_OSCSWITCH_CTL1 );
+HSVC_LOAD_ATTR( ATTR_OSCSWITCH_CTL2 );
+HSVC_LOAD_ATTR( ATTR_PCI_OSCSWITCH_CONFIG );
HSVC_LOAD_ATTR( ATTR_PROC_BOOT_VOLTAGE_VID );
HSVC_LOAD_ATTR( ATTR_PROC_DCM_INSTALLED );
// -- Input: ../../xml/attribute_info/common_attributes.xml --
@@ -60,12 +64,15 @@ HSVC_LOAD_ATTR( ATTR_CPM_INFLECTION_POINTS );
HSVC_LOAD_ATTR( ATTR_PM_AISS_TIMEOUT );
HSVC_LOAD_ATTR( ATTR_PM_EXTERNAL_VRM_STEPDELAY_RANGE );
HSVC_LOAD_ATTR( ATTR_PM_EXTERNAL_VRM_STEPDELAY_VALUE );
+HSVC_LOAD_ATTR( ATTR_PM_FIRINIT_DONE_ONCE_FLAG );
HSVC_LOAD_ATTR( ATTR_PM_IVRMS_ENABLED );
HSVC_LOAD_ATTR( ATTR_PM_OCC_HEARTBEAT_TIME );
+HSVC_LOAD_ATTR( ATTR_PM_OCC_LFIR_MASK );
HSVC_LOAD_ATTR( ATTR_PM_PBAX_RCV_RESERV_TIMEOUT );
HSVC_LOAD_ATTR( ATTR_PM_PBAX_SND_RESERV_TIMEOUT );
HSVC_LOAD_ATTR( ATTR_PM_PBAX_SND_RETRY_COUNT_OVERCOMMIT_ENABLE );
HSVC_LOAD_ATTR( ATTR_PM_PBAX_SND_RETRY_THRESHOLD );
+HSVC_LOAD_ATTR( ATTR_PM_PBA_FIR_MASK );
HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERDOWN_CORE_DELAY0 );
HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERDOWN_CORE_DELAY0_VALUE );
HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERDOWN_CORE_DELAY1 );
@@ -87,6 +94,7 @@ HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERUP_ECO_DELAY1 );
HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERUP_ECO_DELAY1_VALUE );
HSVC_LOAD_ATTR( ATTR_PM_PFET_POWERUP_ECO_SEQUENCE_DELAY_SELECT );
HSVC_LOAD_ATTR( ATTR_PM_PMC_HANGPULSE_DIVIDER );
+HSVC_LOAD_ATTR( ATTR_PM_PMC_LFIR_MASK );
HSVC_LOAD_ATTR( ATTR_PM_POWER_PROXY_TRACE_TIMER );
HSVC_LOAD_ATTR( ATTR_PM_PPT_TIMER_MATCH_VALUE );
HSVC_LOAD_ATTR( ATTR_PM_PPT_TIMER_TICK );
@@ -162,12 +170,15 @@ HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_AISS_SPECIAL_WAKEUP );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_BOOT_FREQ_LESS_PSAVE );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_CAPP_HANG_CONTROL_ON_SCOM );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_CAPP_PROD );
+//HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_CFAM_RESET_SBE_START_WA );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_ENABLE_IVE_PERFORMANCE_ORDERING );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_ENABLE_PCI_DMAR_OOO );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_SERIAL_SCOM_C10_VER2 );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_SERIAL_SCOM_C8_VER2 );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_SERIAL_SCOM_C8_VER3 );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_SERIAL_SCOM_WE5_VER2 );
+HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_UX_LOCAL_ARB_RR );
+HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_UX_SCOPE_ARB_LFSR_ON_STARVATION_ELSE_RR );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_FBC_UX_SCOPE_ARB_RR );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_HCA_SPLIT_HANG_CONTROL );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_HW_BUG_PBASLVRESET );
@@ -177,6 +188,9 @@ HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_IVRM_WINKLE_BUG );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_LCTANK_PLL_VCO_BUG );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MCD_HANG_RECOVERY_BUG );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MCS_ECC_BYPASS_DISABLE );
+HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MCS_MURDD1_FIR_CONTROL );
+HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MCS_P8_DD2_FIR_CONTROL );
+HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MCS_VENDD1_FIR_CONTROL );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_MPIPL_AISS_WINKLE_ENTRY );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_NOT_SUPPORT_SBE_AUTO_START );
HSVC_LOAD_ATTR( ATTR_CHIP_EC_FEATURE_NOT_SUPPORT_SBE_CFAM_START );
diff --git a/src/usr/runtime/common/hsvc_sysdata.C b/src/usr/runtime/common/hsvc_sysdata.C
index 40d3fa9e3..1c195c7f6 100644
--- a/src/usr/runtime/common/hsvc_sysdata.C
+++ b/src/usr/runtime/common/hsvc_sysdata.C
@@ -20,7 +20,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Thu Apr 24 11:24:01 CDT 2014 by cswenson from
+// Generated on Wed Jul 9 14:34:55 CDT 2014 by dcrowell from
// ./create_hsvc_data.pl -w ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/poreve_memory_attributes.xml ../../xml/attribute_info/proc_chip_ec_feature.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/unit_attributes.xml
// -- Input: ../../xml/attribute_info/chip_attributes.xml --
@@ -53,6 +53,7 @@ HSVC_LOAD_ATTR( ATTR_SBE_IMAGE_MINIMUM_VALID_EXS );
// -- Input: ../../xml/attribute_info/pm_hwp_attributes.xml --
HSVC_LOAD_ATTR( ATTR_PM_GLOBAL_FIR_TRACE_EN );
HSVC_LOAD_ATTR( ATTR_PM_PCBS_FSM_TRACE_EN );
+HSVC_LOAD_ATTR( ATTR_PM_PFET_WORKAROUND_RUN_FLAG );
HSVC_LOAD_ATTR( ATTR_PM_SLW_CONTROL_VECTOR_OFFSET );
HSVC_LOAD_ATTR( ATTR_PM_SLW_DEEP_SLEEP_EXIT_GOOD_HALT_ADDR );
HSVC_LOAD_ATTR( ATTR_PM_SLW_DEEP_WINKLE_EXIT_GOOD_HALT_ADDR );
@@ -115,6 +116,8 @@ HSVC_LOAD_ATTR( ATTR_EXECUTION_PLATFORM );
HSVC_LOAD_ATTR( ATTR_EX_GARD_BITS );
HSVC_LOAD_ATTR( ATTR_IS_MPIPL );
HSVC_LOAD_ATTR( ATTR_IS_SIMULATION );
+HSVC_LOAD_ATTR( ATTR_MEMB_DDR_REFCLOCK_RCVR_TERM );
+HSVC_LOAD_ATTR( ATTR_MEMB_DMI_REFCLOCK_RCVR_TERM );
HSVC_LOAD_ATTR( ATTR_MEM_FILTER_PLL_SOURCE );
HSVC_LOAD_ATTR( ATTR_MNFG_FLAGS );
HSVC_LOAD_ATTR( ATTR_MULTI_SCOM_BUFFER_MAX_SIZE );
@@ -128,6 +131,7 @@ HSVC_LOAD_ATTR( ATTR_PROC_FABRIC_PUMP_MODE );
HSVC_LOAD_ATTR( ATTR_PROC_REFCLOCK_RCVR_TERM );
HSVC_LOAD_ATTR( ATTR_PROC_X_BUS_WIDTH );
HSVC_LOAD_ATTR( ATTR_RECONFIGURE_LOOP );
+HSVC_LOAD_ATTR( ATTR_REDUNDANT_CLOCKS );
HSVC_LOAD_ATTR( ATTR_RISK_LEVEL );
HSVC_LOAD_ATTR( ATTR_SBE_IMAGE_OFFSET );
// -- Input: ../../xml/attribute_info/unit_attributes.xml --
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 0cad49b30..ab55fbd9d 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -14119,4 +14119,93 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</hwpfToHbAttrMap>
</attribute>
+<attribute>
+ <id>PM_PFET_WORKAROUND_RUN_FLAG</id>
+ <description>
+ Flag to store that the work-around for HW250017 as been run so that during any resets it is skipped.
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_PFET_WORKAROUND_RUN_FLAG</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PM_OCC_LFIR_MASK</id>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the OCC_LFIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_occ_firinit.C
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_OCC_LFIR_MASK</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PM_PBA_FIR_MASK</id>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the PBA_FIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_pba_firinit.C
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_PBA_FIR_MASK</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PM_PMC_LFIR_MASK</id>
+ <description>
+ Upon an UE event, PRD may update some fir masks in occ domain. To avoid this update getting lost during occ reset, which could eventually cause multiple occ resets, this attribute is added to be the storage to remember the PMC_LFIR_MASK in the RESET phase so that reset procedures can later overlay this updated settings with the default instalation in INIT phase. See details in SW260003.
+ Producer/Consumer: p8_pm_pmc_firinit.C
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_PMC_LFIR_MASK</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PM_FIRINIT_DONE_ONCE_FLAG</id>
+ <description>
+ Due to SW260003, a flag is needed to remember if we executed the p8_pm_firinit procedures at least once.
+ Producer/Consumer: p8_pm_firinit.C
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_FIRINIT_DONE_ONCE_FLAG</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
</attributes>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index f97564f55..f7186f0c5 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -272,6 +272,7 @@
<attribute><id>MSS_VOLT_DDR4_VDDR_SLOPE</id></attribute>
<attribute><id>MSS_VOLT_DDR4_VDDR_INTERCEPT</id></attribute>
<attribute><id>MSS_VDDR_OVERIDE_SPD</id></attribute>
+ <attribute><id>PM_PFET_WORKAROUND_RUN_FLAG</id></attribute>
</targetType>
<targetType>
@@ -478,7 +479,10 @@
<attribute><id>CPM_INFLECTION_POINTS</id></attribute>
<attribute><id>PROC_SELECT_BOOT_SEEPROM_IMAGE</id></attribute>
<attribute><id>TOD_ROLE</id></attribute>
-
+ <attribute><id>PM_OCC_LFIR_MASK</id></attribute>
+ <attribute><id>PM_PBA_FIR_MASK</id></attribute>
+ <attribute><id>PM_PMC_LFIR_MASK</id></attribute>
+ <attribute><id>PM_FIRINIT_DONE_ONCE_FLAG</id></attribute>
</targetType>
<targetType>
OpenPOWER on IntegriCloud