diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/usr/hwpf/plat/fapiPlatAttributeService.H | 193 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init.C | 15 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar.C | 55 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_errors.xml | 75 | ||||
-rwxr-xr-x | src/usr/hwpf/hwp/getPllRingAttr.C | 59 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_oha_firinit.C | 11 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/runtime_attributes/pm_hwp_attributes.xml | 13 | ||||
-rwxr-xr-x | src/usr/runtime/common/create_hsvc_data.pl | 355 | ||||
-rw-r--r-- | src/usr/runtime/common/extra_runtime_attributes.xml | 48 | ||||
-rw-r--r-- | src/usr/runtime/common/hsvc_exdata.C | 10 | ||||
-rw-r--r-- | src/usr/runtime/common/hsvc_procdata.C | 106 | ||||
-rw-r--r-- | src/usr/runtime/common/hsvc_sysdata.C | 21 | ||||
-rw-r--r-- | src/usr/runtime/populate_attributes.C | 2 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 20 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 5 |
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> |