summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2011-09-08 00:06:56 -0500
committerNicholas E. Bofferding <bofferdn@us.ibm.com>2011-09-19 13:18:30 -0500
commitb08159eb20f2a0ccfe2d654f56a6fe2079bec98e (patch)
tree5248e5cea65eff0ba758ed5d50bad1b26884e883 /src/include/usr
parentea37c1fc02819175e8ede86718a3afc904c723bc (diff)
downloadtalos-hostboot-b08159eb20f2a0ccfe2d654f56a6fe2079bec98e.tar.gz
talos-hostboot-b08159eb20f2a0ccfe2d654f56a6fe2079bec98e.zip
Implement support for generating the PNOR targeting image
- Generate PNOR targeting image as part of the build process - Load it into SIMICS physical memory - Access image from targeting service at correct virtual address - Bridge fapi attributes to host boot attributes using direct macro - Support multidimensional arrays for simple attributes - Removed support for fake PNOR image Change-Id: I45d986d69397940a165c850d0db0fdeccd137d4d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/341 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rwxr-xr-xsrc/include/usr/hwpf/plat/fapiPlatAttributeService.H84
-rw-r--r--src/include/usr/hwpf/plat/fapiPlatReasonCodes.H18
-rw-r--r--src/include/usr/targeting/attributeenums.H183
-rw-r--r--src/include/usr/targeting/attributes.H8
-rw-r--r--src/include/usr/targeting/attributestrings.H88
-rw-r--r--src/include/usr/targeting/attributestructs.H138
-rw-r--r--src/include/usr/targeting/attributetraits.H190
-rw-r--r--src/include/usr/targeting/predicates/predicatectm.H2
-rw-r--r--src/include/usr/targeting/targetservice.H2
9 files changed, 100 insertions, 613 deletions
diff --git a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
index f1bd94133..3d38d0e79 100755
--- a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
+++ b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
@@ -34,11 +34,95 @@
* Flag Defect/Feature User Date Description
* ------ -------------- ---------- ----------- ----------------------------
* mjjones 06/27/2011 Created.
+ * bofferdn 09/13/2011 Support fapi->hb mapping
*/
#ifndef FAPIPLATATTRIBUTESERVICE_H_
#define FAPIPLATATTRIBUTESERVICE_H_
+
+//******************************************************************************
+// Includes
+//******************************************************************************
+
#include <stdint.h>
#include <fapiAttributeIds.H>
+#include <targeting/target.H>
+#include <targeting/attributes.H>
+#include <attributeenums.H>
+#include <fapiplatattrmacros.H>
+#include <hwpf/fapi/fapiReturnCode.H>
+#include <hwpf/fapi/fapiTarget.H>
+
+//******************************************************************************
+// Interface
+//******************************************************************************
+
+namespace fapi
+{
+
+namespace platAttrSvc
+{
+ /**
+ * @brief Returns the system target
+ *
+ * @par Detailed Description:
+ * Returns the system target. If the target service has not been
+ * initialized -or- there is any failure to acquire it, the function
+ * will assert
+ *
+ * @return Target handle to the system target
+ *
+ * @retval !NULL An actual target handle
+ * @retval NULL Not possible
+ */
+ TARGETING::Target* getSystemTarget();
+
+ /**
+ * @brief Returns a fapiReturn code containing information on an attribute
+ * access error
+ *
+ * @param[in] i_targAttrId Platform attribute ID
+ * @param[in] i_fapiAttrId FAPI attribute ID which maps to the platform
+ * attribute ID
+ * @param[in] i_pFapiTarget Pointer to the FAPI target holding the
+ * requested attribute
+ *
+ * @return fapiReturn code containing a platform generated error log
+ *
+ * @retval FAPI_RC_PLAT_ERR_SEE_DATA (return code value) which informs
+ * caller there is a host boot error log attached
+ */
+ fapi::ReturnCode createAttrAccessError(
+ const TARGETING::ATTRIBUTE_ID i_targAttrId,
+ const fapi::AttributeId i_fapiAttrId,
+ const fapi::Target* i_pFapiTarget);
+
+ /**
+ * @brief Macro which directly maps a FAPI request to get a platform
+ * attribute to the equivalent host boot request
+ */
+ #define FAPI_PLAT_ATTR_SVC_GETMACRO_DIRECT(ID, PTARGET, VAL) \
+ ( ((PTARGET) ? \
+ static_cast<TARGETING::Target*>( \
+ static_cast<fapi::Target*>(PTARGET)->get()) \
+ : fapi::platAttrSvc::getSystemTarget())->tryGetAttr< \
+ FAPI_PLAT_ATTR_SVC_MACRO_DIRECT_FAPI_##ID>(VAL)) \
+ ? FAPI_RC_SUCCESS : fapi::platAttrSvc::createAttrAccessError( \
+ FAPI_PLAT_ATTR_SVC_MACRO_DIRECT_FAPI_##ID,ID,PTARGET)
+ /**
+ * @brief Macro which directly maps a FAPI request to set a platform
+ * attribute to the equivalent host boot request
+ */
+ #define FAPI_PLAT_ATTR_SVC_SETMACRO_DIRECT(ID, PTARGET, VAL) \
+ ( ((PTARGET) ? \
+ static_cast<TARGETING::Target*>( \
+ static_cast<fapi::Target*>(PTARGET)->get()) \
+ : fapi::platAttrSvc::getSystemTarget())->trySetAttr< \
+ FAPI_PLAT_ATTR_SVC_MACRO_DIRECT_FAPI_##ID>(VAL)) \
+ ? FAPI_RC_SUCCESS : fapi::platAttrSvc::createAttrAccessError( \
+ FAPI_PLAT_ATTR_SVC_MACRO_DIRECT_FAPI_##ID,ID,PTARGET)
+}
+
+}
#endif // FAPIPLATATTRIBUTESERVICE_H_
diff --git a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H b/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
index 03296c7dd..25ba997bc 100644
--- a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
+++ b/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
@@ -29,18 +29,20 @@ namespace fapi
{
enum hwpfModuleId
{
- MOD_RC_TO_ERRL = 0x01,
- MOD_FAPI_GET_CHILD_CHIPLETS = 0x02,
- MOD_FAPI_GET_PARENT_CHIP = 0x03,
+ MOD_RC_TO_ERRL = 0x01,
+ MOD_FAPI_GET_CHILD_CHIPLETS = 0x02,
+ MOD_FAPI_GET_PARENT_CHIP = 0x03,
+ MOD_PLAT_ATTR_SVC_CREATE_ATTR_ACCESS_ERROR = 0x04,
};
enum hwpfReasonCode
{
- RC_HWP_ERROR = HWPF_COMP_ID | 0x01,
- RC_FAPI_ERROR = HWPF_COMP_ID | 0x02,
- RC_INVALID_REQUEST = HWPF_COMP_ID | 0x03,
- RC_UNSUPPORTED_REQUEST = HWPF_COMP_ID | 0x04,
- RC_NO_SINGLE_PARENT = HWPF_COMP_ID | 0x05,
+ RC_HWP_ERROR = HWPF_COMP_ID | 0x01,
+ RC_FAPI_ERROR = HWPF_COMP_ID | 0x02,
+ RC_INVALID_REQUEST = HWPF_COMP_ID | 0x03,
+ RC_UNSUPPORTED_REQUEST = HWPF_COMP_ID | 0x04,
+ RC_NO_SINGLE_PARENT = HWPF_COMP_ID | 0x05,
+ RC_FAILED_TO_ACCESS_ATTRIBUTE = HWPF_COMP_ID | 0x06,
};
};
diff --git a/src/include/usr/targeting/attributeenums.H b/src/include/usr/targeting/attributeenums.H
deleted file mode 100644
index 246f41061..000000000
--- a/src/include/usr/targeting/attributeenums.H
+++ /dev/null
@@ -1,183 +0,0 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/targeting/attributeenums.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// 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 other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
-
-#ifndef TARG_ATTRIBUTEENUMS_H
-#define TARG_ATTRIBUTEENUMS_H
-
-/**
- * @file attributeenums.H
- *
- * @brief Defined enums for platform attributes
- *
- * This header file contains enumerations for supported platform attributes
- * (as opposed to HWPF attributes). Eventually this file will be automatically
- * generated
- */
-
-//******************************************************************************
-// Includes
-//******************************************************************************
-
-#include <stdint.h>
-#include <stdlib.h>
-
-//******************************************************************************
-// Enumerations
-//******************************************************************************
-
-namespace TARGETING
-{
-
-/**
- * @brief Platform attribute IDs
- *
- * Enumeration defining every possible platform attribute that can be
- * associated with a target
- */
-enum ATTRIBUTE_ID
-{
- ATTR_NA = 0x00,
- ATTR_CLASS = 0x01,
- ATTR_TYPE = 0x02,
- ATTR_MODEL = 0x03,
- ATTR_PHYS_PATH = 0x04,
- ATTR_AFFINITY_PATH = 0x05,
- ATTR_POWER_PATH = 0x06,
- ATTR_PRIMARY_CAPABILITIES = 0x07,
- ATTR_XSCOM_BASE_ADDRESS = 0x08,
- ATTR_SCOM_SWITCHES = 0x09,
- ATTR_XSCOM_CHIP_INFO = 0x0A,
- ATTR_INBAND_SCOM_CHIP_INFO = 0x0B,
- ATTR_FSI_SCOM_CHIP_INFO = 0x0C,
- ATTR_I2C_CHIP_INFO = 0x0D,
- ATTR_FSI_MASTER_INFO = 0x0E,
-
- ATTR_DUMMY_WO = 0xFD,
- ATTR_DUMMY_RO = 0xFE,
- ATTR_DUMMY_RW = 0xFF,
-};
-
-/**
- * @brief Target Classes
- *
- * Enumeration which identifies the general class of a target
- */
-enum CLASS
-{
- CLASS_NA = 0x00,
- CLASS_CARD = 0x01,
- CLASS_ENC = 0x02,
- CLASS_CHIP = 0x03,
- CLASS_UNIT = 0x04,
- CLASS_DEV = 0x05,
- CLASS_SYS = 0x06,
- CLASS_MAX = 0x07,
-
-};
-
-/**
- * @brief Target Types
- *
- * Enumeration which identifies the specific type of target
- */
-enum TYPE
-{
- TYPE_NA = 0x00,
-
- // System
- TYPE_SYS,
-
- // Enclosures
- TYPE_NODE,
-
- // Cards
- TYPE_DIMM,
- TYPE_SCM,
- TYPE_DCM,
-
- // Chips
- TYPE_MEMBUF,
- TYPE_PROC,
-
- // Voltage Suppliers
- TYPE_MEMVRM,
- TYPE_PROCVRM,
-
- // Processor/Centaur Units
- TYPE_EX,
- TYPE_CORE,
- TYPE_L2,
- TYPE_L3,
- TYPE_L4,
- TYPE_MCS,
- TYPE_MBS,
- TYPE_MBA,
- TYPE_MEM_PORT,
- TYPE_PERVASIVE,
- TYPE_POWERBUS,
- TYPE_XBUS,
- TYPE_ABUS,
- TYPE_PCI,
-
- TYPE_LAST_IN_RANGE
-
-};
-
-/**
- * @brief Target Models
- *
- * Enumeration which identifies the specific model of a target
- */
-enum MODEL
-{
- MODEL_NA = 0x00,
-
- // Proc chips/proc units
- MODEL_SALERNO = 0x10,
- MODEL_VENICE = 0x11,
-
- // Memory buffers/memory buffer units
- MODEL_CENTAUR = 0x30,
-
- // DIMMs
- MODEL_JEDEC = 0x50,
- MODEL_CDIMM = 0x51,
-
- // Systems
- MODEL_POWER8 = 0x70,
-
-};
-
-/**
- * @brief FSI Engine Types
- *
- * Enumeration which identifies a specific FSI engine type
- */
-enum ENGINE_TYPE
-{
- // TBD in future sprint
-};
-
-} // End namespace TARGETING
-
-#endif // TARG_ATTRIBUTEENUMS_H
diff --git a/src/include/usr/targeting/attributes.H b/src/include/usr/targeting/attributes.H
index 8c148a150..3a69af6af 100644
--- a/src/include/usr/targeting/attributes.H
+++ b/src/include/usr/targeting/attributes.H
@@ -39,9 +39,9 @@
#include <stdlib.h>
// This component
-#include <targeting/attributeenums.H>
-#include <targeting/attributestructs.H>
-#include <targeting/attributetraits.H>
-#include <targeting/attributestrings.H>
+#include <attributeenums.H>
+#include <attributestructs.H>
+#include <attributetraits.H>
+#include <attributestrings.H>
#endif // TARG_ATTRIBUTES_H
diff --git a/src/include/usr/targeting/attributestrings.H b/src/include/usr/targeting/attributestrings.H
deleted file mode 100644
index 64506bdc9..000000000
--- a/src/include/usr/targeting/attributestrings.H
+++ /dev/null
@@ -1,88 +0,0 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/targeting/attributestrings.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// 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 other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
-
-#ifndef TARG_ATTRIBUTESTRINGS_H
-#define TARG_ATTRIBUTESTRINGS_H
-
-/**
- * @file attributestrings.H
- *
- * @brief Attribute string conversion routines. This file will be auto
- * generated in the future
- */
-
-//******************************************************************************
-// Includes
-//******************************************************************************
-
-// STD
-#include <stdint.h>
-#include <stdlib.h>
-
-namespace TARGETING
-{
-
-/**
- * @brief Class used to clarify compiler error when caller attempts to
- * stringify an unsupported attribute
- */
-class InvalidAttributeForStringification;
-
-/**
- * @brief Return attribute as a string
- *
- * @param[in] i_attrValue Value of the attribute
- *
- * @return String which decodes the attribute value
- */
-template<const ATTRIBUTE_ID A>
-const char* attrToString(
- typename AttributeTraits<A>::Type const& i_attrValue)
-{
- return InvalidAttributeForStringification(); //"Cannot stringify attr";
-}
-
-/**
- * @brief See attrToString<const ATTRIBUTE_ID A>
- */
-template<>
-const char* attrToString<ATTR_CLASS>(
- AttributeTraits<ATTR_CLASS>::Type const& i_attrValue);
-
-/**
- * @brief See attrToString<const ATTRIBUTE_ID A>
- */
-template<>
-const char* attrToString<ATTR_TYPE>(
- AttributeTraits<ATTR_TYPE>::Type const& i_attrValue);
-
-/**
- * @brief See attrToString<const ATTRIBUTE_ID A>
- */
-template<>
-const char* attrToString<ATTR_MODEL>(
- AttributeTraits<ATTR_MODEL>::Type const& i_attrValue);
-
-} // End namespace TARGETING
-
-#endif // TARG_ATTRIBUTESTRINGS_H
diff --git a/src/include/usr/targeting/attributestructs.H b/src/include/usr/targeting/attributestructs.H
deleted file mode 100644
index c34c045e4..000000000
--- a/src/include/usr/targeting/attributestructs.H
+++ /dev/null
@@ -1,138 +0,0 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/targeting/attributestructs.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// 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 other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
-
-#ifndef TARG_ATTRIBUTESTRUCTS_H
-#define TARG_ATTRIBUTESTRUCTS_H
-
-/**
- * @file attributestructs.H
- *
- * @brief Complex attribute types
- *
- * This header file contains definitions for complex attribute types. Note:
- * in the future this file may be autogenerated
- */
-
-//******************************************************************************
-// Includes
-//******************************************************************************
-
-// STD
-#include <stdint.h>
-#include <stdlib.h>
-
-// This component
-#include <targeting/entitypath.H>
-
-//******************************************************************************
-// Complex Types
-//******************************************************************************
-
-namespace TARGETING
-{
-
-/**
- * @brief Structure which defines a target's primary capabilities
- *
- * Structure which defines a target's primary capabilities. A target can only
- * support at most FSI SCOM and one of the other two SCOM types. Applicable
- * for all targets. Structure is read-only.
- */
-struct PrimaryCapabilities
-{
- uint8_t supportsFsiScom : 1; ///< 0b0: Target does not support FSI SCOM
- ///< 0b1: Target supports FSI SCOM
- uint8_t supportsXscom : 1; ///< 0b0: Target does not support XSCOM
- ///< 0b1: Target supports FSI XSCOM
- uint8_t supportsInbandScom : 1; ///< 0b0: Target does not support inband
- ///< SCOM
- ///< 0b1: Target supports inband SCOM
- uint8_t reserved : 5;
-
-} PACKED;
-
-/**
- * @brief Structure which defines which SCOM method to use at a point in time
- *
- * Structure which defines which SCOM to use at a point in time. Only
- * applicable if target supports one or more SCOM types. Only one bit (of the
- * first three) can ever be set at any one time. Structure is read-writeable.
- */
-struct ScomSwitches
-{
- uint8_t useFsiScom : 1; ///< 0b0: Do not use FSI SCOM at this time
- ///< 0b1: Use FSI SCOM at this time
- uint8_t useXscom : 1; ///< 0b0: Do not use XSCOM at this time
- ///< 0b1: Use XSCOM at this time
- uint8_t useInbandScom : 1; ///< 0b0: Do not use inband SCOM at this time
- ///< 0b1: Use inband SCOM at this time
- uint8_t reserved : 5; ///< Reserved bits
-
-} PACKED;
-
-/**
- * @brief Structure which defines chip info necessary for XSCOM
- *
- * Structure which defines chip info necessary for XSCOM. Only
- * applicable for chip targets which support XSCOM. Structure is read-only.
- */
-struct XscomChipInfo
-{
- uint8_t nodeId; // Unique ID of node containing the chip
- uint8_t chipId; // Unique ID of chip, relative to node
-
-} PACKED;
-
-/**
- * @brief Structure which defines chip info necessary for I2C operations
- *
- * Structure which defines info necessary for I2C. Only applicable for
- * chip targets which support I2C. Structure is read-only.
- */
-struct I2cChipInfo
-{
- uint32_t busSpeed; // Slave Device bus speed
- uint16_t deviceAddr; // Slave Device address
- uint8_t devicePort; // Slave Device Port location
- uint8_t deviceMasterEng; // Master I2C engine slave is hung off of
-} PACKED;
-
-//@todo - NOT READY YET
-/**
- * @brief Structure which defines info necessary to setup a FSI master
- *
- * Structure which defines info necessary for a FSI master. Only applicable
- * for chip targets which include MFSI of CMFSI logic. Structure is read-only.
- */
-struct FsiMasterInfo
-{
- uint64_t modebits; ///< TBD
- uint16_t clockRatio0; ///< Clock Ratio 0
- uint16_t clockRatio1; ///< Clock Ratio 1
-
- uint8_t numPorts; ///< Number of possible FSI-slave ports
-} PACKED;
-
-} // End namespace TARGETING
-
-#endif // TARG_ATTRIBUTESTRUCTS_H
diff --git a/src/include/usr/targeting/attributetraits.H b/src/include/usr/targeting/attributetraits.H
deleted file mode 100644
index fe466a5d3..000000000
--- a/src/include/usr/targeting/attributetraits.H
+++ /dev/null
@@ -1,190 +0,0 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/targeting/attributetraits.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// 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 other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
-
-#ifndef TARG_ATTRIBUTETRAITS_H
-#define TARG_ATTRIBUTETRAITS_H
-
-/**
- * @file attributetraits.H
- *
- * @brief Templates which map attributes to their type/properties
- *
- * This header file contains templates which map attributes to their
- * type/properties
- *
- * This file -will- be autogenerated in the future
- */
-
-//******************************************************************************
-// Includes
-//******************************************************************************
-
-// STD
-#include <stdint.h>
-#include <stdlib.h>
-
-namespace TARGETING
-{
-
-//******************************************************************************
-// Attribute Property Mappings
-//******************************************************************************
-
-/**
- * @brief Template associating a specific attribute with a type and other
- * properties, such as whether it is readable/writable
- *
- * This will eventually be automatically generated
- *
- * enum {
- * disabled = Special value for the basic attribute
- * readable = Attribute is readable
- * writable = Attribute is writable
- * hasStringConversion = Attribute has debug string conversion
- * }
- *
- * typedef <type> TYPE // <type> is the Attribute's valid type
- */
-template<const ATTRIBUTE_ID A>
-class AttributeTraits
-{
- private:
- enum { disabled };
- typedef void* Type;
-};
-
-template<>
-class AttributeTraits<ATTR_CLASS>
-{
- public:
- enum { readable, hasStringConversion };
- typedef CLASS Type;
-};
-
-template<>
-class AttributeTraits<ATTR_TYPE>
-{
- public:
- enum { readable, hasStringConversion };
- typedef TYPE Type;
-};
-
-template<>
-class AttributeTraits<ATTR_MODEL>
-{
- public:
- enum { readable, hasStringConversion };
- typedef MODEL Type;
-};
-
-template<>
-class AttributeTraits<ATTR_DUMMY_RW>
-{
- public:
- enum { readable, writeable };
- typedef uint8_t Type;
-};
-
-template<>
-class AttributeTraits<ATTR_DUMMY_WO>
-{
- public:
- enum { writeable };
- typedef uint8_t Type;
-};
-
-template<>
-class AttributeTraits<ATTR_DUMMY_RO>
-{
- public:
- enum { readable };
- typedef uint8_t Type;
-};
-
-template<>
-class AttributeTraits<ATTR_PHYS_PATH>
-{
- public:
- enum { readable };
- typedef EntityPath Type;
-};
-
-template<>
-class AttributeTraits<ATTR_AFFINITY_PATH>
-{
- public:
- enum { readable };
- typedef EntityPath Type;
-};
-
-template<>
-class AttributeTraits<ATTR_POWER_PATH>
-{
- public:
- enum { readable };
- typedef EntityPath Type;
-};
-
-template<>
-class AttributeTraits<ATTR_PRIMARY_CAPABILITIES>
-{
- public:
- enum { readable };
- typedef PrimaryCapabilities Type;
-};
-
-template<>
-class AttributeTraits<ATTR_SCOM_SWITCHES>
-{
- public:
- enum { readable, writable };
- typedef ScomSwitches Type;
-};
-
-template<>
-class AttributeTraits<ATTR_XSCOM_BASE_ADDRESS>
-{
- public:
- enum { readable };
- typedef uint64_t Type;
-};
-
-template<>
-class AttributeTraits<ATTR_XSCOM_CHIP_INFO>
-{
- public:
- enum { readable };
- typedef XscomChipInfo Type;
-};
-
-template<>
-class AttributeTraits<ATTR_I2C_CHIP_INFO>
-{
- public:
- enum { readable };
- typedef I2cChipInfo Type;
-};
-
-} // End namespace TARGETING
-
-#endif // TARG_ATTRIBUTETRAITS_H
diff --git a/src/include/usr/targeting/predicates/predicatectm.H b/src/include/usr/targeting/predicates/predicatectm.H
index c68987c7f..ce4b7b3c9 100644
--- a/src/include/usr/targeting/predicates/predicatectm.H
+++ b/src/include/usr/targeting/predicates/predicatectm.H
@@ -41,7 +41,7 @@
// Targeting Component
#include <targeting/target.H>
-#include <targeting/attributeenums.H>
+#include <attributeenums.H>
#include <targeting/predicates/predicatebase.H>
//******************************************************************************
diff --git a/src/include/usr/targeting/targetservice.H b/src/include/usr/targeting/targetservice.H
index bdb6abac6..e220eafb7 100644
--- a/src/include/usr/targeting/targetservice.H
+++ b/src/include/usr/targeting/targetservice.H
@@ -47,7 +47,7 @@
#include <util/singleton.H>
// This component
-#include <targeting/attributeenums.H>
+#include <attributeenums.H>
#include <targeting/target.H>
#include <targeting/entitypath.H>
#include <targeting/iterators/targetiterator.H>
OpenPOWER on IntegriCloud