summaryrefslogtreecommitdiffstats
path: root/src/include/usr/vpd/vpd_if.H
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2014-09-08 15:56:45 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-10-17 14:12:26 -0500
commitc9cf241bc97ff6aba866d6acf167fd910a0f39c5 (patch)
tree37f0ddf358ee5cf5aff393ceee9d3aafb4887f72 /src/include/usr/vpd/vpd_if.H
parent1428a1fabd827dcc8b43fd0039bfc75d2712c190 (diff)
downloadtalos-hostboot-c9cf241bc97ff6aba866d6acf167fd910a0f39c5.tar.gz
talos-hostboot-c9cf241bc97ff6aba866d6acf167fd910a0f39c5.zip
BMC: VPD Caching in PNOR
For MVPD CVPD SPD, during presence detect VPD part number and serial number are compared between PNOR and SEEPROM. Mismatch triggers copy of VPD from SEEPROM to PNOR. Change-Id: Ia0a7b3fdf80bc15aee05c1303efa406fffa318ce RTC: 106885 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13233 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/vpd/vpd_if.H')
-rw-r--r--src/include/usr/vpd/vpd_if.H52
1 files changed, 43 insertions, 9 deletions
diff --git a/src/include/usr/vpd/vpd_if.H b/src/include/usr/vpd/vpd_if.H
index 6c216edcf..af8e501d5 100644
--- a/src/include/usr/vpd/vpd_if.H
+++ b/src/include/usr/vpd/vpd_if.H
@@ -29,30 +29,64 @@
namespace VPD
{
/**
- * Load the runtime VPD image into memory
+ * @brief typdef for vpdRecord values
+ */
+ typedef uint32_t vpdRecord;
+ /**
+ * @brief typdef for vpdKeyword values
+ */
+ typedef uint32_t vpdKeyword;
+ /**
+ * @brief typdef for vpdCmdTarget values
+ */
+ enum vpdCmdTarget
+ {
+ AUTOSELECT,
+ PNOR,
+ SEEPROM,
+ INVALID_LOCATION = 0xFFFF,
+ };
+
+ /**
+ * @brief Load the runtime VPD image into memory
* @param[out] The physical address of the VPD image
* @return error handle if there was an error
*/
errlHndl_t vpd_load_rt_image(uint64_t & o_vpd_addr);
/**
- * @brief this function checks to see if the given mvpd target
- * is present
- *
+ * @brief This function checks to see if the given mvpd target
+ * is present
* @param[in] i_target - Target device to search for mvpd
- *
* @return bool - true if mvpd is present, false if it is not.
*/
bool mvpdPresent ( TARGETING::Target * i_target );
/**
- * @brief this function checks to see if the given cvpd target
- * is present
- *
+ * @brief This function checks to see if the given cvpd target
+ * is present
* @param[in] i_target - Target device to search for cvpd
- *
* @return bool - true if cvpd is present, false if it is not.
*/
bool cvpdPresent ( TARGETING::Target * i_target );
+
+ /**
+ * @brief This function checks if the PNOR cache for this target is in
+ * sync with the SEEPROM, if not it loads the PNOR cache from SEEPROM.
+ * @param[in] i_target - Target device
+ * @return errlHndl_t - NULL if successful, otherwise a pointer to the
+ * error log.
+ */
+ errlHndl_t ensureCacheIsInSync ( TARGETING::Target * i_target );
+
+ /**
+ * @brief This function invalidates the VPD data in the PNOR cache.
+ * @param[in] i_target - Target device
+ * @return errlHndl_t - NULL if successful, otherwise a pointer to the
+ * error log.
+ */
+ errlHndl_t invalidatePnorCache ( TARGETING::Target * i_target );
+
}; //end vpd namespace
+
#endif
OpenPOWER on IntegriCloud