summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/usr/hwpf/plat/fapiPlatAttributeService.H193
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C15
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C55
-rw-r--r--src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml75
-rwxr-xr-xsrc/usr/hwpf/hwp/getPllRingAttr.C59
-rw-r--r--src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C11
-rw-r--r--src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml13
-rwxr-xr-xsrc/usr/runtime/common/create_hsvc_data.pl355
-rw-r--r--src/usr/runtime/common/extra_runtime_attributes.xml48
-rw-r--r--src/usr/runtime/common/hsvc_exdata.C10
-rw-r--r--src/usr/runtime/common/hsvc_procdata.C106
-rw-r--r--src/usr/runtime/common/hsvc_sysdata.C21
-rw-r--r--src/usr/runtime/populate_attributes.C2
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml20
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml5
15 files changed, 351 insertions, 637 deletions
diff --git a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
index 8718dcb43..d25c13c4b 100644
--- a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
+++ b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
@@ -1458,197 +1458,94 @@ fapi::ReturnCode fapiPlatGetSpdAttrAccessor (
// MACROs to route ATTR PLL Ring accesses to the correct HWSV function
//------------------------------------------------------------------------------
// DATA accesses
-#define ATTR_PROC_AB_BNDY_PLL_DATA_GETMACRO(ID, PTARGET, VAL) \
+#define PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL) \
fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
fapi::FAPI_RC_SUCCESS :\
( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_AB_BNDY_PLL_DATA, PTARGET, VAL ))
+ fapi::ID, PTARGET, VAL ))
+
+#define ATTR_PROC_AB_BNDY_PLL_DATA_GETMACRO(ID, PTARGET, VAL) \
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PB_BNDY_DMIPLL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PB_BNDY_DMIPLL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PCI_BNDY_PLL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PCI_BNDY_PLL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PERV_BNDY_PLL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PERV_BNDY_PLL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_DATA, PTARGET, VAL ))
-
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_DATA_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_DATA, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
// FLUSH accesses
#define ATTR_PROC_AB_BNDY_PLL_FLUSH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_AB_BNDY_PLL_FLUSH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PB_BNDY_DMIPLL_FLUSH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PB_BNDY_DMIPLL_FLUSH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PCI_BNDY_PLL_FLUSH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PCI_BNDY_PLL_FLUSH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PERV_BNDY_PLL_FLUSH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PERV_BNDY_PLL_FLUSH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_FLUSH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_FLUSH, PTARGET, VAL))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
// LENGTH accesses
#define ATTR_PROC_AB_BNDY_PLL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_AB_BNDY_PLL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PB_BNDY_DMIPLL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PB_BNDY_DMIPLL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PCI_BNDY_PLL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PCI_BNDY_PLL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_PROC_PERV_BNDY_PLL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_PROC_PERV_BNDY_PLL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_LENGTH, PTARGET, VAL ))
-
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
#define ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_LENGTH_GETMACRO(ID, PTARGET, VAL) \
- fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
- fapi::FAPI_RC_SUCCESS :\
- ( fapi::platAttrSvc::fapiPlatGetPllAttr( \
- ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_LENGTH, PTARGET, VAL ))
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
+#define ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
+#define ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_LENGTH_GETMACRO(ID, PTARGET, VAL) \
+ PLL_ATTR_GENERIC_GETMACRO(ID,PTARGET,VAL)
//------------------------------------------------------------------------------
// MACROs to support DIMM SPD Attributes that are handled by an Accessor HWP
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C
index 541ac824d..20ce0452d 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pfet_init.C,v 1.9 2013/08/02 19:05:49 stillgs Exp $
+// $Id: p8_pfet_init.C,v 1.10 2013/10/11 23:01:57 stillgs Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pfet_init.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -237,13 +237,12 @@ pfet_init(const Target& i_target, uint32_t i_mode)
FAPI_INF("Executing pfet_config...");
- // Harcoded defaults that don't come via attribute
- // Vret (not supported) = "off" (stage 0 = 0xB) for bits 0:3
- // Voff = "off" (stage 01 = 0xB) for bits 4:7
- // \todo The scan0 values are zeros which indicate that the
- // power won't go off. Double check the setting below!!!
- core_vret_voff_value = 0xBB;
- eco_vret_voff_value = 0xBB;
+ // VRET settings need to be "ON" as PFET VRET is not supported
+ // The iVRM hardware will tell the PFET controller to go 'OFF"
+ // in its support of Vret. These values do not pertain in that
+ // case.
+ core_vret_voff_value = 0x00;
+ eco_vret_voff_value = 0x00;
// ******************************************************************
// Get Attributes for pFET Delay
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C
index 0c78cf414..f36ca2fcf 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_set_pore_bar.C,v 1.6 2013/09/04 14:53:16 dcrowell Exp $
+// $Id: p8_set_pore_bar.C,v 1.7 2013/10/04 19:30:36 stillgs Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_set_pore_bar.C,v $
//-------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -171,6 +171,9 @@ p8_set_pore_bar( const fapi::Target& i_target,
const uint32_t pba_slave = PBA_SLAVE2;
const uint64_t slw_pba_cmd_scope = 0x2; // Set to system
+
+ SbeXipItem slw_control_vector_info;
+ uint32_t slw_control_vector_offset;
// -----------------------------------------------------------------
@@ -186,6 +189,10 @@ p8_set_pore_bar( const fapi::Target& i_target,
if(i_mem_bar != 0)
{
FAPI_ERR("SLW Size is 0 but BAR is non-zero: 0x%16llx", i_mem_bar );
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & IMAGEADDR = (uint64_t)i_image;
+ const uint32_t & MEMSIZE = i_mem_size;
+ const uint64_t & MEMBAR = i_mem_bar;
FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_SIZE0_ERROR);
break;
}
@@ -217,11 +224,40 @@ p8_set_pore_bar( const fapi::Target& i_target,
if (l_ecmdRc)
{
FAPI_ERR("Get XIP of slw_branch_table failed. rc = %x\n", l_ecmdRc);
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & IMAGEADDR = (uint64_t)i_image;
+ const uint32_t & XIPRC = l_ecmdRc;
+ const uint64_t & BRANCHTABLEADDRESS = slw_branch_table_address;
FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_IMAGE_BRANCH_VALUE_ERROR);
break;
}
FAPI_DBG("slw_branch_table_address: %16llX", slw_branch_table_address);
+ // Get the SLW Control Vector offset from the image
+ l_ecmdRc = sbe_xip_find((void*) i_image,
+ "slw_control_vector",
+ &slw_control_vector_info);
+ if (l_ecmdRc)
+ {
+ FAPI_ERR("XIP Find of slw_control_vector failed. rc = %x\n", l_ecmdRc);
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & IMAGEADDR = (uint64_t)i_image;
+ const uint32_t & XIPRC = l_ecmdRc;
+ const uint64_t & SLWCONTROLVECTOR = (uint64_t)slw_control_vector_info.iv_address;
+ FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_IMAGE_SLW_CONTROL_VECTOR_ERROR);
+ break;
+ }
+
+ slw_control_vector_offset = slw_control_vector_info.iv_address;
+ FAPI_DBG("slw_control_vector offset: %16llX", (uint64_t)slw_control_vector_info.iv_address);
+
+
+ SETATTR(rc,
+ ATTR_PM_SLW_CONTROL_VECTOR_OFFSET,
+ "ATTR_PM_SLW_CONTROL_VECTOR_OFFSET",
+ NULL,
+ slw_control_vector_offset);
+
// Initialize the ecmdDataBuffer
l_ecmdRc |= data.clear();
l_ecmdRc |= data.setBitLength(64);
@@ -232,7 +268,6 @@ p8_set_pore_bar( const fapi::Target& i_target,
break;
}
-
// Setup the the table base address register
//
// Table Base Address Register layout
@@ -362,6 +397,9 @@ p8_set_pore_bar( const fapi::Target& i_target,
if (region_masked_address != 0 )
{
FAPI_ERR("SLW BAR address is not 1MB aligned: 0x%16llx", i_mem_bar );
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & MEMBAR = i_mem_bar;
+ const uint64_t & REGIONMASKEDADDR = region_masked_address;
FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_PBABAR_ERROR);
break;
}
@@ -416,7 +454,11 @@ p8_set_pore_bar( const fapi::Target& i_target,
if (l_ecmdRc)
{
FAPI_ERR("Get of XIP Image size failed");
- FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_IMAGE_SIZE_ERROR);
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & IMAGEADDR = (uint64_t)i_image;
+ const uint32_t & XIPRC = l_ecmdRc;
+ const uint64_t & IMAGESIZE = image_size;
+ FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_XIP_IMAGE_SIZE_ERROR);
break;
}
@@ -434,6 +476,8 @@ p8_set_pore_bar( const fapi::Target& i_target,
else
{
FAPI_ERR("Invalid image location passed %x ", i_mem_type);
+ const fapi::Target & CHIP = i_target;
+ const uint64_t & MEMLOC = i_mem_type;
FAPI_SET_HWP_ERROR(rc, RC_PROCPM_POREBAR_LOC_ERROR);
break;
}
@@ -600,6 +644,11 @@ bar_pba_slave_reset(const fapi::Target& i_target, uint32_t id)
poll_count++;
if (poll_count == PBA_SLAVE_RESET_TIMEOUT)
{
+ const fapi::Target & CHIP = i_target;
+ const uint32_t & POLLCOUNT = poll_count;
+ const uint32_t & TIMEOUTVALUE = PBA_SLAVE_RESET_TIMEOUT;
+ const uint64_t & PSR = psr.value;
+ const uint32_t & SLVID = id;
FAPI_SET_HWP_ERROR(rc, RC_PROCPM_PBA_SLVRST_TIMED_OUT);
break;
}
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml
index 4efeb55bc..35131e9ee 100644
--- a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml
+++ b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml
@@ -20,38 +20,96 @@
<!-- Origin: 30 -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: p8_set_pore_bar_errors.xml,v 1.3 2013/05/23 18:44:35 stillgs Exp $ -->
+<!-- $Id: p8_set_pore_bar_errors.xml,v 1.4 2013/10/04 19:28:12 stillgs Exp $ -->
<!-- Error definitions for p8_set_pore_bar procedure -->
<hwpErrors>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_IMAGE_BRANCH_VALUE_ERROR</rc>
<description>XIP access of branch table failed in p8_set_pore_bar</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>IMAGEADDR</ffdc>
+ <ffdc>XIPRC</ffdc>
+ <ffdc>BRANCHTABLEADDRESS</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
+
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_LOC_ERROR</rc>
<description>Invalid image location passed to p8_set_pore_bar</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>MEMLOC</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_PBABAR_ERROR</rc>
<description>PBA BAR image location passed to p8_set_pore_bar</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>MEMBAR</ffdc>
+ <ffdc>REGIONMASKEDADDR</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_PBA_SLVRST_TIMED_OUT</rc>
<description>PBA Slave Reset timed out in p8_set_pore_bar</description>
+ <ffdc>POLLCOUNT</ffdc>
+ <ffdc>TIMEOUTVALUE</ffdc>
+ <ffdc>PSR</ffdc>
+ <ffdc>SLVID</ffdc>
+ <callout>
+ <target>CHIP</target>
+ <priority>HIGH</priority>
+ </callout>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROCPM_POREBAR_XIP_IMAGE_SIZE_ERROR</rc>
+ <description>Get of XIP Image size failed in p8_set_pore_bar</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>IMAGEADDR</ffdc>
+ <ffdc>XIPRC</ffdc>
+ <ffdc>IMAGESIZE</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_IMAGE_SIZE_ERROR</rc>
<description>Image address plus image size overflows PBA region in p8_set_pore_bar</description>
+ <ffdc>IMAGEADDR</ffdc>
+ <ffdc>XIPRC</ffdc>
+ <ffdc>BRANCHTABLEADDRESS</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_SIZE0_ERROR</rc>
<description>An image size of 0 was specified to p8_set_pore_bar but the BAR was not 0</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>IMAGEADDR</ffdc>
+ <ffdc>MEMSIZE</ffdc>
+ <ffdc>MEMBAR</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- *********************************************************************** -->
<hwpError>
@@ -61,6 +119,19 @@
<!-- *********************************************************************** -->
<hwpError>
<rc>RC_PROCPM_POREBAR_IMAGE_ADDR_ERROR</rc>
- <description>Image address not in PBA BAR region in p8_set_pore_bar</description>
+ <description>Find of XIP of slw_control_vector failed in p8_set_pore_bar</description>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+ <rc>RC_PROCPM_POREBAR_IMAGE_SLW_CONTROL_VECTOR_ERROR</rc>
+ <description>XIP Find of slw_control_vector failed in p8_set_pore_bar</description>
+ <ffdc>CHIP</ffdc>
+ <ffdc>IMAGEADDR</ffdc>
+ <ffdc>XIPRC</ffdc>
+ <ffdc>SLWCONTROLVECTOR</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
</hwpErrors>
diff --git a/src/usr/hwpf/hwp/getPllRingAttr.C b/src/usr/hwpf/hwp/getPllRingAttr.C
index eae618be4..ebb239f0a 100755
--- a/src/usr/hwpf/hwp/getPllRingAttr.C
+++ b/src/usr/hwpf/hwp/getPllRingAttr.C
@@ -230,31 +230,31 @@ extern "C"
case fapi::ATTR_MEMB_TP_BNDY_PLL_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_LENGTH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_LENGTH:
// Set entry size
l_numKeys = 2;
@@ -328,6 +328,7 @@ extern "C"
}
break;
case fapi::ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_DATA:
+ case fapi::ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_LENGTH:
// Is chip type Murano or Venice
if (l_chipType == ENUM_ATTR_NAME_MURANO) {
// Establish default array to S1 EC 10 array
@@ -490,7 +491,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_DATA_array);
@@ -503,7 +504,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_DATA_array);
@@ -516,7 +517,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_DATA_array);
@@ -529,7 +530,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_DATA_array);
@@ -542,7 +543,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_DATA_array);
@@ -555,7 +556,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_DATA_array);
@@ -568,7 +569,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_DATA_array);
@@ -581,7 +582,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_DATA_array);
@@ -596,7 +597,7 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_DATA:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_LENGTH:
// Establish default array to Centaur EC 10 array
l_pllArrayPtr = reinterpret_cast<PLL_RING_ATTR_WITH_4_KEYS *>(&Centaur_10_ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_DATA_array);
@@ -675,9 +676,9 @@ extern "C"
}
break;
case fapi::ATTR_PROC_AB_BNDY_PLL_FLUSH:
-// case fapi::ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_FLUSH:
+// case fapi::ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_FLUSH:
case fapi::ATTR_PROC_PB_BNDY_DMIPLL_FLUSH:
-// case fapi::ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_FLUSH:
+// case fapi::ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_FLUSH:
case fapi::ATTR_PROC_PCI_BNDY_PLL_FLUSH:
// Copy flush data
for (uint16_t i = 0;
@@ -736,15 +737,15 @@ extern "C"
}
break;
case fapi::ATTR_MEMB_TP_BNDY_PLL_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
-// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_FOR_DCCAL_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4000_MEM1866_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1066_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1333_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1600_FLUSH:
+// case fapi::ATTR_MEMB_TP_BNDY_PLL_NEST4800_MEM1866_FLUSH:
// Copy flush data
for (uint16_t i = 0;
i < (l_2KeyPllArrayPtr->l_ATTR_PLL_RING_BYTE_LENGTH);
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C
index e73fda5fe..5e1f278c3 100644
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_oha_firinit.C,v 1.12 2013/05/24 13:07:01 pchatnah Exp $
+// $Id: p8_pm_oha_firinit.C,v 1.13 2013/09/25 22:35:00 stillgs Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_oha_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -105,16 +105,7 @@ p8_pm_oha_firinit(const fapi::Target &i_target , uint32_t mode )
std::vector<Target>::iterator itr;
- enum OHA_FIRS
- {
- OHA21_PPT_TIMEOUT_ERR =0 ,
- NOT_CPM_BIT_SYNCED =1 ,
- AISS_HANG_CONDITION =2 ,
- TC_TC_THERM_TRIP0 =3 ,
- TC_TC_THERM_TRIP1 =4 ,
- PCB_ERR_TO_FIR =5
- };
FAPI_INF("Executing proc_pm_oha_firinit ...");
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 1e02c4f46..cb849dd43 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 @@
<!-- Origin: 30 -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: pm_hwp_attributes.xml,v 1.8 2013/07/18 22:03:52 stillgs Exp $ -->
+<!-- $Id: pm_hwp_attributes.xml,v 1.9 2013/09/13 21:07:46 stillgs Exp $ -->
<!--
XML file specifying Power Management HWPF attributes.
These attributes are initialized to zero by the platform and set to a
@@ -785,5 +785,16 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<writeable/>
</attribute>
+<attribute>
+ <id>ATTR_PM_SLW_CONTROL_VECTOR_OFFSET</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Stores the offset in SLW image of this control vector for later use by scripts to control error injection.
+ This value is added to the contents of PBABAR2 for given chip to calculated the memory address for this vector per chip.
+ </description>
+ <valueType>uint32</valueType>
+ <writeable/>
+</attribute>
+
</attributes>
diff --git a/src/usr/runtime/common/create_hsvc_data.pl b/src/usr/runtime/common/create_hsvc_data.pl
deleted file mode 100755
index fd88cb729..000000000
--- a/src/usr/runtime/common/create_hsvc_data.pl
+++ /dev/null
@@ -1,355 +0,0 @@
-#!/usr/bin/perl
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/runtime/common/create_hsvc_data.pl $
-#
-# IBM CONFIDENTIAL
-#
-# COPYRIGHT International Business Machines Corp. 2012,2013
-#
-# p1
-#
-# Object Code Only (OCO) source materials
-# Licensed Internal Code Source Materials
-# IBM HostBoot Licensed Internal Code
-#
-# The source code for this program is not published or otherwise
-# divested of its trade secrets, irrespective of what has been
-# deposited with the U.S. Copyright Office.
-#
-# Origin: 30
-#
-# IBM_PROLOG_END_TAG
-
-# This script will parse a set of attribute xml files and HWP
-# source files in order to discover the list of required
-# attributes to push up to the Host Services code from Hostboot.
-# The ouput is a set of 3 data files that are used by the code
-# that populates mainstore.
-#
-# Note that this implementation is currently incomplete, it will
-# be finished as part of RTC:50411
-
-use strict;
-
-my $debug = 0;
-my $warning = 0;
-my @input_files;
-
-my $fullcmd = $0 . " " . (join " ", @ARGV);
-
-for (my $i=0; $i < $#ARGV + 1; $i++)
-{
- if ($ARGV[$i] =~ /-h/)
- {
- print_usage();
- exit;
- }
- elsif ($ARGV[$i] =~ /-d/)
- {
- $debug = 1;
- print "Debug Mode\n";
- }
- elsif ($ARGV[$i] =~ /-w/)
- {
- $warning = 1;
- print "Warnings enabled\n";
- }
- else
- {
- # must be the input filename
- push @input_files, $ARGV[$i];
- }
-}
-
-my $date = chopit(`date`);
-my $user = chopit(`whoami`);
-
-## Open up all of the output files
-if( -e "hsvc_sysdata.C" ) {
- die("hsvc_sysdata.C file already exists\n");
-}
-open SYS_FILE, ">hsvc_sysdata.C", or die("Could not create hsvc_sysdata.C\n");
-print SYS_FILE "// Generated on $date by $user from \n";
-print SYS_FILE "// $fullcmd\n\n";
-
-if( -e "hsvc_procdata.C" ) {
- die("hsvc_procdata.C file already exists\n\n");
-}
-open PROC_FILE, ">hsvc_procdata.C", or die("Could not create hsvc_procdata.C\n");
-print PROC_FILE "// Generated on $date by $user from \n";
-print PROC_FILE "// $fullcmd\n";
-
-if( -e "hsvc_exdata.C" ) {
- die("hsvc_exdata.C file already exists\n\n");
-}
-open EX_FILE, ">hsvc_exdata.C", or die("Could not create hsvc_exdata.C\n");
-print EX_FILE "// Generated on $date by $user from \n";
-print EX_FILE "// $fullcmd\n";
-
-# Keep a list for each type of attribute ever to find dupes
-my @sys_all;
-my @proc_all;;
-my @ex_all;
-
-## Loop through all of the XML input files
-foreach my $ifile (@input_files)
-{
- # Skip any non-XML files in this loop
- if( !($ifile =~ /xml/) )
- {
- next;
- }
-
- # Open the file
- print "Processing: $ifile\n";
- open IN_FILE, $ifile or die("Cannot open $ifile\n");
-
- # Keep a list for each type of attribute in this file
- my @sys;
- my @proc;
- my @ex;
-
- # Loop through the files and print out each line based on timestamp
- my $linenum = 0;
- my $id = "";
- my $target = "";
- while(my $curline = <IN_FILE>)
- {
- $linenum++;
- if( $curline =~ /<attribute>/ )
- {
-
- }
- elsif( $curline =~ /<id>/ )
- {
- # <id>ATTR_PM_POWER_PROXY_TRACE_TIMER</id>
- my @divide = split( /[<>]/, $curline );
- #print "xx:$divide[0],$divide[1],$divide[2],$divide[3]:xx\n";
- $id = $divide[2];
- if($debug){print "id=$id.\n";}
- }
- elsif( $curline =~ /<targetType>/ )
- {
- # <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- my @divide = split( /[<>]/, $curline );
- #print "xx:$divide[0],$divide[1],$divide[2],$divide[3]:xx\n";
- $target = $divide[2];
- if($debug){print "target=$target.\n";}
- }
- elsif( $curline =~ /<\/attribute>/ )
- {
- # MVPD attributes are read live by HostServices code
- if( $id =~ /MVPD/ )
- {
- if($debug){print "Skipping MVPD: %id\n";}
- }
- elsif( $target =~ /TARGET_TYPE_PROC_CHIP/ )
- {
- if($debug){print "PROC_CHIP: $id.\n";}
- if( check_for_dupe($id,\@proc_all) )
- {
- if( $warning ) {
- print "Duplicate attribute found for PROC '$id' in $ifile\n";
- }
- }
- else
- {
- push @proc, $id;
- push @proc_all, $id;
- }
- }
- elsif( $target =~ /TARGET_TYPE_SYSTEM/ )
- {
- if($debug){print "SYSTEM: $id.\n";}
- push @sys, $id;
- push @sys_all, $id;
- }
- elsif( $target =~ /TARGET_TYPE_EX_CHIPLET/ )
- {
- if($debug){print "EX_CHIPLET: $id.\n";}
- push @ex, $id;
- push @ex_all, $id;
- }
- else
- {
- die("UNKNOWN targetType : $target\n");
- }
- }
-
- }
-
- close IN_FILE;
-
- # Now print out the 3 files
-
- # sysdata
- print SYS_FILE "// -- Input: $ifile --\n";
- if( $#sys >= 0 )
- {
- @sys = sort(@sys);
- foreach my $attr (@sys)
- {
- # HSVC_LOAD_ATTR( ATTR_FREQ_PB );
- print SYS_FILE "HSVC_LOAD_ATTR( $attr );\n";
- }
- }
- else
- {
- print SYS_FILE "// No attributes found\n";
- }
-
- # procdata
- print PROC_FILE "// -- Input: $ifile --\n";
- if( $#proc >= 0 )
- {
- @proc = sort(@proc);
- foreach my $attr (@proc)
- {
- # HSVC_LOAD_ATTR( ATTR_FREQ_PB );
- print PROC_FILE "HSVC_LOAD_ATTR( $attr );\n";
- }
- }
- else
- {
- print PROC_FILE "// No attributes found\n";
- }
-
- # exdata
- print EX_FILE "// -- Input: $ifile --\n";
- if( $#ex >= 0 )
- {
- @ex = sort(@ex);
- foreach my $attr (@ex)
- {
- # HSVC_LOAD_ATTR( ATTR_FREQ_PB );
- print EX_FILE "HSVC_LOAD_ATTR( $attr );\n";
- }
- }
- else
- {
- print EX_FILE "// No attributes found\n";
- }
-
-}
-
-
-## Loop through all of the HWP input files
-foreach my $ifile (@input_files)
-{
- # Skip any XML files in this loop
- if( $ifile =~ /xml/ )
- {
- next;
- }
-
- # Open the file
- print "Processing: $ifile\n";
- open IN_FILE, $ifile or die("Cannot open $ifile\n");
-
- # Keep a list for each type of attribute in this file
- my @missing;
-
- # Loop through the files and print out each line based on timestamp
- my $linenum = 0;
- while(my $curline = <IN_FILE>)
- {
- $linenum++;
-
- if( substr($curline,0,2) eq "//" )
- {
- next;
- }
- #@todo - Ignore calls inside block comments RTC:48350
-
- my $startnum = index( $curline, "FAPI_ATTR_" );
- if( $startnum == -1 )
- {
- next;
- }
-
- my $attrstart = index( $curline, "ATTR_", $startnum+10 );
- if( $attrstart == -1 )
- {
- if($debug) {
- print "Something is odd with the procedure call\n";
- print " ".$linenum.":".$curline;
- }
- next;
- }
- my $attrstop = index( $curline, ",", $attrstart );
- my $id = chopit( substr( $curline, $attrstart, $attrstop-$attrstart ) );
- #print "id=$id.\n";
-
- # MVPD attributes are read live by HostServices code
- if( $id =~ /MVPD/ )
- {
- if($debug){print "Skipping MVPD: %id\n";}
- }
- else
- {
- if( check_for_dupe($id,\@proc_all)
- || check_for_dupe($id,\@ex_all)
- || check_for_dupe($id,\@sys_all) )
- {
- push @missing, $id;
- }
- else
- {
- if( !check_for_dupe($id,\@missing) )
- {
- print "Missing attribute: $id.\n";
- }
- if($debug){print " ".$linenum.":".$curline;}
- }
- }
-
- }
-
- close IN_FILE;
-}
-
-
-close SYS_FILE;
-close PROC_FILE;
-close EX_FILE;
-
-exit;
-
-##################################################
-
-# remove all leading and trailing whitespace
-sub chopit
-{
- my $temp = shift(@_);
- $temp =~ s/^\s+//;
- $temp =~ s/\s+$//;
- return $temp;
-}
-
-# look for duplicate attributes
-sub check_for_dupe
-{
- my $attr = shift(@_);
- my @list = @{shift(@_)};
-
- foreach my $entry (@list)
- {
- if( $entry eq $attr )
- {
- return 1;
- }
- }
- return 0;
-}
-
-# print usage help
-sub print_usage
-{
- print "Generate the hscv_xxxdata.C files for Hostboot\n";
- print "Usage: create_hsvc_data.pl [-d] [-w] [filename1] [filename2] ...\n";
- print " -d : Enable debug tracing\n";
- print " -w : Enable tracing of warning messages, e.g. duplicate attributes\n";
- print " filenameX : 1 or more input attribute xml files\n";
-}
diff --git a/src/usr/runtime/common/extra_runtime_attributes.xml b/src/usr/runtime/common/extra_runtime_attributes.xml
index 45eaec682..073bbb0f5 100644
--- a/src/usr/runtime/common/extra_runtime_attributes.xml
+++ b/src/usr/runtime/common/extra_runtime_attributes.xml
@@ -28,50 +28,4 @@ xml files and procedures
Parser only requires attribute, id and targetType tags.
-->
-<!-- from common_attributes.xml -->
-<attribute>
- <id>ATTR_FUNCTIONAL</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
-</attribute>
-
-<!-- from common_attributes.xml -->
-<attribute>
- <id>ATTR_CHIP_UNIT_POS</id>
- <targetType>TARGET_TYPE_EX_CHIPLET</targetType>
-</attribute>
-
-<!-- from common_attributes.xml -->
-<attribute>
- <id>ATTR_FUNCTIONAL</id>
- <targetType>TARGET_TYPE_EX_CHIPLET</targetType>
-</attribute>
-
-<!-- from freq_attributes.xml -->
-<attribute>
- <id>ATTR_FREQ_PB</id>
- <targetType>TARGET_TYPE_SYSTEM</targetType>
-</attribute>
-
-<!-- from scratch_attributes.xml -->
-<attribute>
- <id>ATTR_SCRATCH_UINT32_1</id>
- <targetType>TARGET_TYPE_SYSTEM</targetType>
-</attribute>
-
-<!-- from system_attributes.xml -->
-<attribute>
- <id>ATTR_EXECUTION_PLATFORM</id>
- <targetType>TARGET_TYPE_SYSTEM</targetType>
-</attribute>
-
-<!-- from freq_attributes.xml -->
-<attribute>
- <id>ATTR_FREQ_PROC_REFCLOCK</id>
- <targetType>TARGET_TYPE_SYSTEM</targetType>
-</attribute>
-
-<!-- from system_attributes.xml -->
-<attribute>
- <id>ATTR_IS_SIMULATION</id>
- <targetType>TARGET_TYPE_SYSTEM</targetType>
-</attribute>
+<!-- Leaving file in place to handle possible workarounds -->
diff --git a/src/usr/runtime/common/hsvc_exdata.C b/src/usr/runtime/common/hsvc_exdata.C
index 86cd1ebaa..6a96b3e7a 100644
--- a/src/usr/runtime/common/hsvc_exdata.C
+++ b/src/usr/runtime/common/hsvc_exdata.C
@@ -20,14 +20,12 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Wed Jul 17 21:21:59 CDT 2013 by cswenson from
-// ./create_hsvc_data.pl -w ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/poreve_memory_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/unit_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml
+// Generated on Tue Oct 22 13:29:37 CDT 2013 by dcrowell from
+// ./create_hsvc_data.pl -w ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/unit_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml
// -- Input: ../../xml/attribute_info/common_attributes.xml --
HSVC_LOAD_ATTR( ATTR_FUNCTIONAL );
// -- Input: ../../xml/attribute_info/chip_attributes.xml --
// No attributes found
-// -- Input: ../../xml/attribute_info/poreve_memory_attributes.xml --
-// No attributes found
// -- Input: ../../xml/attribute_info/p8_xip_customize_attributes.xml --
HSVC_LOAD_ATTR( ATTR_PROC_L3_ENABLE );
// -- Input: ../../xml/attribute_info/proc_pll_ring_attributes.xml --
@@ -44,10 +42,10 @@ HSVC_LOAD_ATTR( ATTR_PROC_L3_ENABLE );
HSVC_LOAD_ATTR( ATTR_CHIP_UNIT_POS );
// -- Input: ../../xml/attribute_info/pm_hwp_attributes.xml --
HSVC_LOAD_ATTR( ATTR_PM_SPWUP_FSP );
+HSVC_LOAD_ATTR( ATTR_PM_SPWUP_IGNORE_XSTOP_FLAG );
HSVC_LOAD_ATTR( ATTR_PM_SPWUP_OCC );
-HSVC_LOAD_ATTR( ATTR_PM_SPWUP_PHYP );
HSVC_LOAD_ATTR( ATTR_PM_SPWUP_OHA_FLAG );
-HSVC_LOAD_ATTR( ATTR_PM_SPWUP_IGNORE_XSTOP_FLAG );
+HSVC_LOAD_ATTR( ATTR_PM_SPWUP_PHYP );
// -- Input: ../../xml/attribute_info/scratch_attributes.xml --
// No attributes found
// -- Input: ../../xml/attribute_info/pm_plat_attributes.xml --
diff --git a/src/usr/runtime/common/hsvc_procdata.C b/src/usr/runtime/common/hsvc_procdata.C
index b47a91453..611f5baa6 100644
--- a/src/usr/runtime/common/hsvc_procdata.C
+++ b/src/usr/runtime/common/hsvc_procdata.C
@@ -20,27 +20,74 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Wed Feb 20 15:44:15 CST 2013 by dcrowell from
-// src/usr/runtime/common/create_hsvc_data.pl src/usr/runtime/common/extra_runtime_attributes.xml src/usr/hwpf/hwp/chip_attributes.xml src/usr/hwpf/hwp/runtime_attributes/pm_plat_attributes.xml src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml -w -d
-// -- Input: src/usr/runtime/common/extra_runtime_attributes.xml --
+// Generated on Tue Oct 22 13:29:37 CDT 2013 by dcrowell from
+// ./create_hsvc_data.pl -w ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/unit_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml
+// -- Input: ../../xml/attribute_info/common_attributes.xml --
HSVC_LOAD_ATTR( ATTR_FUNCTIONAL );
-// -- Input: src/usr/hwpf/hwp/chip_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_POS );
+// -- Input: ../../xml/attribute_info/chip_attributes.xml --
HSVC_LOAD_ATTR( ATTR_CHIP_HAS_SBE );
HSVC_LOAD_ATTR( ATTR_CHIP_ID );
HSVC_LOAD_ATTR( ATTR_CHIP_REGIONS_TO_ENABLE );
HSVC_LOAD_ATTR_P( ATTR_EC );
+HSVC_LOAD_ATTR( ATTR_EX_L2_SINGLE_MEMBER_ENABLE );
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_PROC_BOOT_VOLTAGE_VID );
HSVC_LOAD_ATTR( ATTR_PROC_DCM_INSTALLED );
-// -- Input: src/usr/hwpf/hwp/runtime_attributes/pm_plat_attributes.xml --
-HSVC_LOAD_ATTR( ATTR_PM_APSS_CHIP_SELECT );
-HSVC_LOAD_ATTR( ATTR_PM_PBAX_BRDCST_ID_VECTOR );
-HSVC_LOAD_ATTR( ATTR_PM_PBAX_CHIPID );
-HSVC_LOAD_ATTR( ATTR_PM_PBAX_NODEID );
-HSVC_LOAD_ATTR( ATTR_PM_SPIVID_PORT_ENABLE );
-// -- Input: src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml --
+// -- Input: ../../xml/attribute_info/p8_xip_customize_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_PROC_ADU_UNTRUSTED_BAR_BASE_ADDR );
+HSVC_LOAD_ATTR( ATTR_PROC_ADU_UNTRUSTED_BAR_SIZE );
+HSVC_LOAD_ATTR( ATTR_PROC_A_ENABLE );
+HSVC_LOAD_ATTR( ATTR_PROC_NX_ENABLE );
+HSVC_LOAD_ATTR( ATTR_PROC_PCIE_ENABLE );
+HSVC_LOAD_ATTR( ATTR_PROC_PSI_UNTRUSTED_BAR0_BASE_ADDR );
+HSVC_LOAD_ATTR( ATTR_PROC_PSI_UNTRUSTED_BAR0_SIZE );
+HSVC_LOAD_ATTR( ATTR_PROC_PSI_UNTRUSTED_BAR1_BASE_ADDR );
+HSVC_LOAD_ATTR( ATTR_PROC_PSI_UNTRUSTED_BAR1_SIZE );
+HSVC_LOAD_ATTR( ATTR_PROC_SECURITY_SETUP_VECTOR );
+HSVC_LOAD_ATTR( ATTR_PROC_X_ENABLE );
+// -- Input: ../../xml/attribute_info/proc_pll_ring_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_CHIPLET_ID );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_FLUSH );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_FOR_DCCAL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_AB_BNDY_PLL_SCAN_SELECT );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_CHIPLET_ID );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_FLUSH );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_FOR_DCCAL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_PB_BNDY_DMIPLL_SCAN_SELECT );
+HSVC_LOAD_ATTR( ATTR_PROC_PCI_BNDY_PLL_CHIPLET_ID );
+HSVC_LOAD_ATTR( ATTR_PROC_PCI_BNDY_PLL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_PCI_BNDY_PLL_FLUSH );
+HSVC_LOAD_ATTR( ATTR_PROC_PCI_BNDY_PLL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_PCI_BNDY_PLL_SCAN_SELECT );
+HSVC_LOAD_ATTR( ATTR_PROC_PERV_BNDY_PLL_CHIPLET_ID );
+HSVC_LOAD_ATTR( ATTR_PROC_PERV_BNDY_PLL_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_PERV_BNDY_PLL_FLUSH );
+HSVC_LOAD_ATTR( ATTR_PROC_PERV_BNDY_PLL_LENGTH );
+HSVC_LOAD_ATTR( ATTR_PROC_PERV_BNDY_PLL_SCAN_SELECT );
+// -- Input: ../../xml/attribute_info/L2_L3_attributes.xml --
+// No attributes found
+// -- Input: ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_PROC_PCIE_NOT_F_LINK );
+// -- Input: ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_PROC_L3_BAR1_REG );
+HSVC_LOAD_ATTR( ATTR_PROC_L3_BAR2_REG );
+HSVC_LOAD_ATTR( ATTR_PROC_L3_BAR_GROUP_MASK_REG );
+// -- Input: ../../xml/attribute_info/freq_attributes.xml --
+// No attributes found
+// -- Input: ../../xml/attribute_info/unit_attributes.xml --
+// No attributes found
+// -- Input: ../../xml/attribute_info/pm_hwp_attributes.xml --
+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 );
@@ -84,10 +131,6 @@ HSVC_LOAD_ATTR( ATTR_PM_RESONANT_CLOCK_HFRLOW_PSTATE );
HSVC_LOAD_ATTR( ATTR_PM_RESONANT_CLOCK_LFRLOW_PSTATE );
HSVC_LOAD_ATTR( ATTR_PM_RESONANT_CLOCK_LFRUPPER_PSTATE );
HSVC_LOAD_ATTR( ATTR_PM_SAFE_PSTATE );
-// TODO - Issue 78944
-//HSVC_LOAD_ATTR( ATTR_PM_SLEEP_ENTRY );
-//HSVC_LOAD_ATTR( ATTR_PM_SLEEP_EXIT );
-//HSVC_LOAD_ATTR( ATTR_PM_SLEEP_TYPE );
HSVC_LOAD_ATTR( ATTR_PM_SLEEP_WINKLE_REQUEST_TIMEOUT );
HSVC_LOAD_ATTR( ATTR_PM_SPIPSS_CLOCK_DIVIDER );
HSVC_LOAD_ATTR( ATTR_PM_SPIPSS_CLOCK_PHASE );
@@ -113,6 +156,35 @@ HSVC_LOAD_ATTR( ATTR_PM_SPIVID_IN_DELAY_FRAME1 );
HSVC_LOAD_ATTR( ATTR_PM_SPIVID_IN_DELAY_FRAME2 );
HSVC_LOAD_ATTR( ATTR_PM_SPIVID_MAJORITY_VOTE_ENABLE );
HSVC_LOAD_ATTR( ATTR_PM_SPIVID_MAX_RETRIES );
-// TODO - Issue 78944
-//HSVC_LOAD_ATTR( ATTR_PM_WINKLE_TYPE );
HSVC_LOAD_ATTR( ATTR_PROC_DPLL_DIVIDER );
+// -- Input: ../../xml/attribute_info/scratch_attributes.xml --
+// No attributes found
+// -- Input: ../../xml/attribute_info/pm_plat_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_FREQ_EXT_BIAS_DOWN );
+HSVC_LOAD_ATTR( ATTR_FREQ_EXT_BIAS_UP );
+HSVC_LOAD_ATTR( ATTR_PM_APSS_CHIP_SELECT );
+HSVC_LOAD_ATTR( ATTR_PM_PBAX_BRDCST_ID_VECTOR );
+HSVC_LOAD_ATTR( ATTR_PM_PBAX_CHIPID );
+HSVC_LOAD_ATTR( ATTR_PM_PBAX_NODEID );
+HSVC_LOAD_ATTR( ATTR_PM_SLEEP_ENTRY );
+HSVC_LOAD_ATTR( ATTR_PM_SLEEP_EXIT );
+HSVC_LOAD_ATTR( ATTR_PM_SLEEP_TYPE );
+HSVC_LOAD_ATTR( ATTR_PM_SPIVID_PORT_ENABLE );
+HSVC_LOAD_ATTR( ATTR_PM_UNDERVOLTING_FREQ_MAXIMUM );
+HSVC_LOAD_ATTR( ATTR_PM_UNDERVOLTING_FRQ_MINIMUM );
+HSVC_LOAD_ATTR( ATTR_PM_WINKLE_ENTRY );
+HSVC_LOAD_ATTR( ATTR_PM_WINKLE_EXIT );
+HSVC_LOAD_ATTR( ATTR_PM_WINKLE_TYPE );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_EXT_VCS_BIAS_DOWN );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_EXT_VCS_BIAS_UP );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_EXT_VDD_BIAS_DOWN );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_EXT_VDD_BIAS_UP );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_INT_VCS_BIAS_DOWN );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_INT_VCS_BIAS_UP );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_INT_VDD_BIAS_DOWN );
+HSVC_LOAD_ATTR( ATTR_VOLTAGE_INT_VDD_BIAS_UP );
+// -- Input: ../../xml/attribute_info/system_attributes.xml --
+// No attributes found
+// -- Input: ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_PROC_EX_FUNC_L3_DELTA_DATA );
+HSVC_LOAD_ATTR( ATTR_PROC_EX_FUNC_L3_LENGTH );
diff --git a/src/usr/runtime/common/hsvc_sysdata.C b/src/usr/runtime/common/hsvc_sysdata.C
index d4b393fbb..162a9c9d2 100644
--- a/src/usr/runtime/common/hsvc_sysdata.C
+++ b/src/usr/runtime/common/hsvc_sysdata.C
@@ -20,15 +20,13 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// Generated on Wed Jul 17 21:21:59 CDT 2013 by cswenson from
-// ./create_hsvc_data.pl -w ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/poreve_memory_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/unit_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml
+// Generated on Tue Oct 22 13:29:37 CDT 2013 by dcrowell from
+// ./create_hsvc_data.pl -w ../../xml/attribute_info/common_attributes.xml ../../xml/attribute_info/chip_attributes.xml ../../xml/attribute_info/p8_xip_customize_attributes.xml ../../xml/attribute_info/proc_pll_ring_attributes.xml ../../xml/attribute_info/L2_L3_attributes.xml ../../xml/attribute_info/proc_fab_smp_fabric_attributes.xml ../../xml/attribute_info/proc_setup_bars_l3_attributes.xml ../../xml/attribute_info/freq_attributes.xml ../../xml/attribute_info/unit_attributes.xml ../../xml/attribute_info/pm_hwp_attributes.xml ../../xml/attribute_info/scratch_attributes.xml ../../xml/attribute_info/pm_plat_attributes.xml ../../xml/attribute_info/system_attributes.xml ../../xml/attribute_info/proc_winkle_scan_override_attributes.xml
// -- Input: ../../xml/attribute_info/common_attributes.xml --
// No attributes found
// -- Input: ../../xml/attribute_info/chip_attributes.xml --
// No attributes found
-// -- Input: ../../xml/attribute_info/poreve_memory_attributes.xml --
-// No attributes found
// -- Input: ../../xml/attribute_info/p8_xip_customize_attributes.xml --
// No attributes found
// -- Input: ../../xml/attribute_info/proc_pll_ring_attributes.xml --
@@ -58,11 +56,12 @@ HSVC_LOAD_ATTR( ATTR_FREQ_MEM_REFCLOCK );
HSVC_LOAD_ATTR( ATTR_FREQ_PB );
HSVC_LOAD_ATTR( ATTR_FREQ_PCIE );
HSVC_LOAD_ATTR( ATTR_FREQ_PROC_REFCLOCK );
+HSVC_LOAD_ATTR( ATTR_FREQ_PROC_REFCLOCK_KHZ );
HSVC_LOAD_ATTR( ATTR_FREQ_X );
// -- Input: ../../xml/attribute_info/unit_attributes.xml --
// No attributes found
// -- Input: ../../xml/attribute_info/pm_hwp_attributes.xml --
-// No attributes found
+HSVC_LOAD_ATTR( ATTR_PM_SLW_CONTROL_VECTOR_OFFSET );
// -- Input: ../../xml/attribute_info/scratch_attributes.xml --
HSVC_LOAD_ATTR( ATTR_DUMMY_SCRATCH_PLAT_INIT_UINT8 );
HSVC_LOAD_ATTR( ATTR_SCRATCH_UINT32_1 );
@@ -78,6 +77,7 @@ HSVC_LOAD_ATTR( ATTR_SCRATCH_UINT8_2 );
HSVC_LOAD_ATTR( ATTR_SCRATCH_UINT8_ARRAY_1 );
HSVC_LOAD_ATTR( ATTR_SCRATCH_UINT8_ARRAY_2 );
// -- Input: ../../xml/attribute_info/pm_plat_attributes.xml --
+HSVC_LOAD_ATTR( ATTR_CPM_TURBO_BOOST_PERCENT );
HSVC_LOAD_ATTR( ATTR_FREQ_CORE_MAX );
HSVC_LOAD_ATTR( ATTR_PM_EXTERNAL_VRM_STEPDELAY );
HSVC_LOAD_ATTR( ATTR_PM_EXTERNAL_VRM_STEPSIZE );
@@ -89,27 +89,30 @@ HSVC_LOAD_ATTR( ATTR_PM_RESONANT_CLOCK_LOW_BAND_UPPER_FREQUENCY );
HSVC_LOAD_ATTR( ATTR_PM_SAFE_FREQUENCY );
HSVC_LOAD_ATTR( ATTR_PM_SPIPSS_FREQUENCY );
HSVC_LOAD_ATTR( ATTR_PM_SPIVID_FREQUENCY );
-HSVC_LOAD_ATTR( ATTR_PROC_R_DISTLOSS_VDD );
HSVC_LOAD_ATTR( ATTR_PROC_R_DISTLOSS_VCS );
-HSVC_LOAD_ATTR( ATTR_PROC_R_LOADLINE_VDD );
+HSVC_LOAD_ATTR( ATTR_PROC_R_DISTLOSS_VDD );
HSVC_LOAD_ATTR( ATTR_PROC_R_LOADLINE_VCS );
-HSVC_LOAD_ATTR( ATTR_PROC_VRM_VOFFSET_VDD );
+HSVC_LOAD_ATTR( ATTR_PROC_R_LOADLINE_VDD );
HSVC_LOAD_ATTR( ATTR_PROC_VRM_VOFFSET_VCS );
+HSVC_LOAD_ATTR( ATTR_PROC_VRM_VOFFSET_VDD );
// -- Input: ../../xml/attribute_info/system_attributes.xml --
HSVC_LOAD_ATTR( ATTR_ALL_MCS_IN_INTERLEAVING_GROUP );
HSVC_LOAD_ATTR( ATTR_BOOT_FREQ_MHZ );
HSVC_LOAD_ATTR( ATTR_BOOT_VOLTAGE );
-//HSVC_LOAD_ATTR( ATTR_DUMMY_PERSISTENCY );
+HSVC_LOAD_ATTR( ATTR_DISABLE_I2C_ACCESS );
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_MEM_FILTER_PLL_SOURCE );
HSVC_LOAD_ATTR( ATTR_MNFG_FLAGS );
HSVC_LOAD_ATTR( ATTR_NEST_FREQ_MHZ );
+HSVC_LOAD_ATTR( ATTR_PCI_REFCLOCK_RCVR_TERM );
HSVC_LOAD_ATTR( ATTR_PIB_I2C_NEST_PLL );
HSVC_LOAD_ATTR( ATTR_PIB_I2C_REFCLOCK );
HSVC_LOAD_ATTR( ATTR_PROC_EPS_TABLE_TYPE );
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_RISK_LEVEL );
HSVC_LOAD_ATTR( ATTR_SBE_IMAGE_OFFSET );
diff --git a/src/usr/runtime/populate_attributes.C b/src/usr/runtime/populate_attributes.C
index 57ef6bf5c..091a0073f 100644
--- a/src/usr/runtime/populate_attributes.C
+++ b/src/usr/runtime/populate_attributes.C
@@ -197,7 +197,7 @@ struct node_data_t
enum {
MAX_PROCS_RSV = P8_MAX_PROCS*2, //leave space for double
MAX_EX_RSV = MAX_PROCS_RSV*P8_MAX_EX_PER_PROC,
- NUM_PROC_ATTRIBUTES = 150,
+ NUM_PROC_ATTRIBUTES = 200,
NUM_EX_ATTRIBUTES = 20,
MAX_ATTRIBUTES = MAX_PROCS_RSV*NUM_PROC_ATTRIBUTES +
MAX_EX_RSV*NUM_EX_ATTRIBUTES
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 1063a7a64..f0749d5bb 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -4394,10 +4394,28 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
</hwpfToHbAttrMap>
</attribute>
+<attribute>
+ <id>PM_SLW_CONTROL_VECTOR_OFFSET</id>
+ <description>
+ Stores the offset in SLW image of this control vector for later use by scripts to control error injection.
+ This value is added to the contents of PBABAR2 for given chip to calculated the memory address for this vector per chip.
+ </description>
+ <simpleType>
+ <uint32_t></uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PM_SLW_CONTROL_VECTOR_OFFSET</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
<!-- End pm_hwp_attributes.xml -->
-<!-- Support for pm_hwp_attributes.xml -->
+<!-- Support for pm_plat_attributes.xml -->
<attribute>
<id>PM_EXTERNAL_VRM_STEPSIZE</id>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index 807a9d6d3..7731ecbb8 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -138,6 +138,11 @@
<attribute><id>FREQ_CORE_MAX</id></attribute>
<attribute><id>CPM_TURBO_BOOST_PERCENT</id></attribute>
<!-- End pm_plat_attributes.xml -->
+
+ <!-- Start pm_hwp_attributes.xml -->
+ <attribute><id>PM_SLW_CONTROL_VECTOR_OFFSET</id></attribute>
+ <!-- End pm_hwp_attributes.xml -->
+
<!-- sbe_config_update attributes -->
<attribute><id>NEST_FREQ_MHZ</id></attribute>
<attribute><id>BOOT_FREQ_MHZ</id></attribute>
OpenPOWER on IntegriCloud