/openbmc/openpower-vpd-parser/vpd-manager/include/utility/ |
H A D | json_utility.hpp | 65 (!i_sysCfgJsonObj.contains("frus"))) in getVPDOffset() 71 if (i_sysCfgJsonObj["frus"].contains(i_vpdFilePath)) in getVPDOffset() 73 return i_sysCfgJsonObj["frus"][i_vpdFilePath].at(0).value("offset", 0); in getVPDOffset() 77 i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getVPDOffset() 84 if (i_vpdFilePath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value( in getVPDOffset() 88 return i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("offset", 0); in getVPDOffset() 168 if (!i_sysCfgJsonObj.contains("frus")) in getInventoryObjPathFromJson() 175 if (i_sysCfgJsonObj["frus"].contains(i_vpdPath)) in getInventoryObjPathFromJson() 177 return i_sysCfgJsonObj["frus"][i_vpdPath].at(0).value( in getInventoryObjPathFromJson() 182 i_sysCfgJsonObj["frus"] in getInventoryObjPathFromJson() [all...] |
H A D | vpd_specific_utility.hpp | 518 * Few FRUs need some special handling. To identify those FRUs CCIN are used. 859 * @brief API to sync keyword update to inherited FRUs. 862 * update to all inherited FRUs' respective interface, property on PIM. 876 if (!i_sysCfgJsonObj.contains("frus")) in updateKwdOnInheritedFrus() 881 if (!i_sysCfgJsonObj["frus"].contains(i_fruPath)) in updateKwdOnInheritedFrus() 905 // update inherited FRUs only in updateKwdOnInheritedFrus() 918 // iterate through all FRUs except the base FRU in updateKwdOnInheritedFrus() 920 i_sysCfgJsonObj["frus"][i_fruPath].begin() + constants::VALUE_1, in updateKwdOnInheritedFrus() 921 i_sysCfgJsonObj["frus"][i_fruPat in updateKwdOnInheritedFrus() [all...] |
/openbmc/skeleton/pyinventorymgr/ |
H A D | inventory_items.py | 21 FRUS = {} variable 93 FRUS = inv 98 FRUS = System.FRU_INSTANCES variable 102 for f in list(FRUS.keys()): 106 obj = InventoryItem(bus, obj_path, FRUS[f]) 111 if FRUS[f]["fru_type"] == "BMC":
|
/openbmc/docs/designs/ |
H A D | vpd-collection.md | 10 Field Replaceable Units (FRUs) today - one example is the BMC FRU. On OpenPower 13 VPD, which the BMC currently does not support. Certain FRUs also have keyword 16 The BMC requires to read VPD for all FRUs for several reasons: 19 included in the Platform Error Logs (PELs) for calling out FRUs for service. 31 of certain parameters of the FRU (atypical - for FRUs that do not have an 67 - The BMC must collect VPD for all FRUs that it has direct access to by the time 71 BMC applications need to be able to read VPD for FRUs to determine, for ex., 83 to synthesize VPD for such FRUs. Details on VPD synthesis will be in its own 86 - The BMC should be able to recollect VPD for FRUs that can be hotplugged or 92 - The BMC must create/update FRU inventory objects for all FRUs that it collects [all …]
|
/openbmc/phosphor-mrw-tools/ |
H A D | gen_presence_yaml.pl | 4 #for FRUs. Its output is used by code that determines which FRUs 41 #Finds FRUs and their Presence detects where a tach reading 86 while (my ($method, $FRUs) = each(%{$presence})) 89 while (my ($name, $data) = each(%{$FRUs}))
|
/openbmc/openpower-vpd-parser/vpd-manager/include/ |
H A D | manager.hpp | 158 * @brief Get D-Bus object path of FRUs from expanded location code. 168 * @return List of FRUs D-Bus object paths for the given location code. 174 * @brief Get D-Bus object path of FRUs from unexpanded location code. 186 * @return List of FRUs D-Bus object paths for the given location code. 204 * This api will trigger parser to perform VPD recollection for FRUs that 226 * @brief API to collect all FRUs VPD. 228 * This api will call OEM handler API to perform VPD collection for all FRUs 233 * If host is in power on state, FRUs marked as 'powerOffOnly' in the
|
H A D | worker.hpp | 45 * @param[in] i_maxThreadCount - Maximum thread while collecting FRUs VPD. 66 * @brief API to process all FRUs presnt in config JSON file. 69 * trigger parser for all the FRUs and publish it on DBus. 168 * This api will trigger parser to perform VPD recollection for FRUs that 281 * @brief An API to process embedded and synthesized FRUs. 292 * For some FRUs VPD can be processed only if the FRU has some specific 294 * FRUs can't be processed. 432 * Also, if post action is required to be processed only for FRUs with 520 * Some FRUs, under some given scenarios should not be collected and
|
H A D | gpio_monitor.hpp | 60 * @brief An API to set event handler for FRUs GPIO presence. 141 // Array of event handlers for all the attachable FRUs.
|
/openbmc/phosphor-host-ipmid/ |
H A D | read_fru_data.cpp | 16 extern const FruMap frus; 96 for (const auto& [fruId, instanceList] : frus) in processFruPropChange() 134 auto iter = frus.find(fruNum); in readDataFromInventory() 135 if (iter == frus.end()) in readDataFromInventory()
|
/openbmc/openpower-vpd-parser/vpd-manager/oem-handler/ |
H A D | ibm_handler.hpp | 51 * @brief API to collect all FRUs VPD. 53 * This api will call worker API to perform VPD collection for all FRUs 59 * If host is in power on state, FRUs marked as 'powerOffOnly' in the 99 * Some FRUs VPD is specific to powerVS system. The API detects the
|
H A D | ibm_handler.cpp | 151 std::to_string(l_threadCount) + "] FRUs."); 362 m_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in primeSystemBlueprint() 373 // Prime the inventry for FRUs which in primeSystemBlueprint() 476 m_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in isPrimingRequired()
|
/openbmc/openbmc-test-automation/redfish/systems/ |
H A D | test_systems_inventory.robot | 2 Documentation Inventory of hardware FRUs under redfish. 221 [Documentation] Verify a minimum number of FRUs. 226 # min_num_frus The minimum acceptable number of FRUs found. 231 ${status} ${num_valid_frus}= Run Key U Get Num Valid FRUs \ ${fru_type} 236 Fail Too few "${fru_type}" FRUs found, found only ${num_valid_frus}.
|
/openbmc/openpower-vpd-parser/vpd-manager/src/ |
H A D | manager.cpp | 259 // update keyword in inherited FRUs in updateKeyword() 447 if (!l_sysCfgJsonObj.contains("frus")) in getExpandedLocationCode() 449 logging::logMessage("Missing frus tag in system config JSON"); in getExpandedLocationCode() 453 l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getExpandedLocationCode() 491 if (!l_sysCfgJsonObj.contains("frus")) in getFrusByUnexpandedLocationCode() 493 logging::logMessage("Missing frus tag in system config JSON"); in getFrusByUnexpandedLocationCode() 497 l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getFrusByUnexpandedLocationCode() 690 ". Aborting all FRUs VPD collection."); in collectAllFruVpd() 695 __FUNCTION__, 0, "Collect all FRUs VPD is requested.", std::nullopt, in collectAllFruVpd() 708 "Not found any OEM handler to collect all FRUs VP in collectAllFruVpd() [all...] |
H A D | worker.cpp | 58 if (!m_parsedJson.contains("frus")) in Worker() 101 m_parsedJson["frus"][SYSTEM_VPD_FILE_PATH].at(0).value( in isSystemVPDOnDBus() 705 else if (!m_parsedJson["frus"].contains(i_vpdFilePath)) in primeInventory() 713 for (const auto& l_Fru : m_parsedJson["frus"][i_vpdFilePath]) in primeInventory() 803 // embedded frus. If the subfru is not an embedded FRU, the subfru may in processEmbeddedAndSynthesizedFrus() 804 // or may not be physically present. Those non embedded frus will always in processEmbeddedAndSynthesizedFrus() 807 // Present to true for such sub frus. in processEmbeddedAndSynthesizedFrus() 809 // for such sub frus. Also donot populate present property for embedded in processEmbeddedAndSynthesizedFrus() 1037 for (const auto& aFru : m_parsedJson["frus"][vpdFilePath]) in populateDbus() 1066 // Process FRUS whic in populateDbus() [all...] |
/openbmc/openbmc/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example/ |
H A D | inventory | 1 FRUS=BMC
|
/openbmc/openbmc/meta-yadro/meta-nicole/recipes-phosphor/vpd/nicole-openpower-fru-inventory/ |
H A D | inventory | 1 FRUS=BMC,ETHERNET
|
/openbmc/phosphor-fan-presence/monitor/ |
H A D | power_off_cause.hpp | 101 PowerOffCause(count, "Missing Fan FRUs") in MissingFanFRUCause() 191 * @param[in] count - The minimum number of fan FRUs with 199 * @brief Returns true if 'count' or more fan FRUs have
|
/openbmc/phosphor-dbus-interfaces/yaml/com/ibm/VPD/ |
H A D | Manager.interface.yaml | 122 List of all the FRUs D-Bus object paths for the given location 140 List of all the FRUs D-Bus object path for the given location 170 An api to check for FRUs replaced and if required, perform
|
/openbmc/intel-ipmi-oem/ |
H A D | meson.options | 15 description: 'Enable using EM decorators to map FRUs to entity IDs',
|
/openbmc/openbmc/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd/ |
H A D | op-vpd-parser.service | 11 ExecStart=/usr/bin/openpower-read-vpd --vpd $EEPROM --fru $FRUS --object $PATHS
|
/openbmc/openpower-vpd-parser/wait-vpd-parser/src/ |
H A D | wait_vpd_parser.cpp | 77 * @brief API to trigger VPD collection for all FRUs. 79 * This API triggers VPD collection for all FRUs by calling Dbus API
|
/openbmc/pldm/libpldmresponder/ |
H A D | pdr_utils.cpp | 226 std::vector<FruRecordDataFormat> frus; in parseFruRecordTable() local 261 frus.push_back(fru); in parseFruRecordTable() 264 return frus; in parseFruRecordTable()
|
/openbmc/ipmi-fru-parser/scripts/ |
H A D | writefru.cpp.mako | 5 extern const FruMap frus = {
|
/openbmc/phosphor-host-ipmid/scripts/ |
H A D | readfru.cpp.mako | 5 extern const FruMap __attribute__((init_priority(101))) frus = {
|
/openbmc/fb-ipmi-oem/src/ |
H A D | storagecommands.cpp | 224 ManagedObjectType frus; in replaceCacheFru() local 228 resp.read(frus); in replaceCacheFru() 250 for (const auto& fru : frus) in replaceCacheFru() 398 // TODO: Handle Multi-Record FRUs? in ipmiStorageWriteFRUData() 467 ManagedObjectType frus; in getFruSdrs() local 475 resp.read(frus); in getFruSdrs() 483 frus.begin(), frus.end(), in getFruSdrs() 509 if (fru == frus.end()) in getFruSdrs()
|