/openbmc/openpower-vpd-parser/vpd-manager/include/utility/ |
H A D | json_utility.hpp | 59 (!i_sysCfgJsonObj.contains("frus"))) in getVPDOffset() 64 if (i_sysCfgJsonObj["frus"].contains(i_vpdFilePath)) in getVPDOffset() 66 return i_sysCfgJsonObj["frus"][i_vpdFilePath].at(0).value("offset", 0); in getVPDOffset() 70 i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getVPDOffset() 77 if (i_vpdFilePath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value( in getVPDOffset() 81 return i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("offset", 0); in getVPDOffset() 147 if (!i_sysCfgJsonObj.contains("frus")) in getInventoryObjPathFromJson() 149 throw std::runtime_error("Missing frus tag in system config JSON."); in getInventoryObjPathFromJson() 153 if (i_sysCfgJsonObj["frus"].contains(i_vpdPath)) in getInventoryObjPathFromJson() 155 return i_sysCfgJsonObj["frus"][i_vpdPath].at(0).value( in getInventoryObjPathFromJson() [all …]
|
/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/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/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}))
|
H A D | Inventory.pm | 44 #This will pick up FRUs and other chips like the BMC and processor. 120 #Don't need card segments for non-FRUs 427 =item * All targets of class CARD or CHIP that are FRUs. 474 won't show up in the name of any child cards that are FRUs.
|
/openbmc/openpower-vpd-parser/vpd-manager/include/ |
H A D | manager.hpp | 153 * @brief Get D-Bus object path of FRUs from expanded location code. 163 * @return List of FRUs D-Bus object paths for the given location code. 169 * @brief Get D-Bus object path of FRUs from unexpanded location code. 181 * @return List of FRUs D-Bus object paths for the given location code. 199 * This api will trigger parser to perform VPD recollection for FRUs that 226 * system VPD is published, VPD for other FRUs should be collected. This API 228 * triggers VPD collection for rest of the FRUs.
|
H A D | worker.hpp | 75 * @brief API to process all FRUs presnt in config JSON file. 78 * trigger parser for all the FRUs and publish it on DBus. 235 * @brief An API to process embedded and synthesized FRUs. 246 * For some FRUs VPD can be processed only if the FRU has some specific 248 * FRUs can't be processed. 411 * Also, if post action is required to be processed only for FRUs with
|
H A D | gpio_monitor.hpp | 59 * @brief An API to set event handler for FRUs GPIO presence. 137 // 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()
|
H A D | storagehandler.cpp | 44 extern const FruMap frus; 766 auto iter = frus.find(fruID); in ipmiStorageGetFruInvAreaInfo() 767 if (iter == frus.end()) in ipmiStorageGetFruInvAreaInfo() 810 auto iter = frus.find(fruDeviceId); in ipmiStorageReadFruData() 811 if (iter == frus.end()) in ipmiStorageReadFruData() 868 ipmi::sensor::sensors.size() + frus.size() + entityRecords.size(); in ipmiGetRepositoryInfo()
|
/openbmc/openbmc-test-automation/redfish/systems/ |
H A D | test_systems_inventory.robot | 2 Documentation Inventory of hardware FRUs under redfish. 219 [Documentation] Verify a minimum number of FRUs. 224 # min_num_frus The minimum acceptable number of FRUs found. 229 ${status} ${num_valid_frus}= Run Key U Get Num Valid FRUs \ ${fru_type} 234 Fail Too few "${fru_type}" FRUs found, found only ${num_valid_frus}.
|
/openbmc/openpower-vpd-parser/vpd-manager/src/ |
H A D | worker.cpp | 48 if (!m_parsedJson.contains("frus")) in Worker() 107 m_parsedJson["frus"].get_ref<const nlohmann::json::object_t&>(); in primeSystemBlueprint() 118 // Prime the inventry for FRUs which in primeSystemBlueprint() 197 m_parsedJson["frus"][SYSTEM_VPD_FILE_PATH].at(0).value( in isSystemVPDOnDBus() 802 else if (!m_parsedJson["frus"].contains(i_vpdFilePath)) in primeInventory() 810 for (const auto& l_Fru : m_parsedJson["frus"][i_vpdFilePath]) in primeInventory() 881 // embedded frus. If the subfru is not an embedded FRU, the subfru may in processEmbeddedAndSynthesizedFrus() 882 // or may not be physically present. Those non embedded frus will always in processEmbeddedAndSynthesizedFrus() 885 // Present to true for such sub frus. in processEmbeddedAndSynthesizedFrus() 887 // for such sub frus. Also donot populate present property for embedded in processEmbeddedAndSynthesizedFrus() [all …]
|
H A D | manager.cpp | 600 if (!l_sysCfgJsonObj.contains("frus")) in getExpandedLocationCode() 602 logging::logMessage("Missing frus tag in system config JSON"); in getExpandedLocationCode() 606 l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getExpandedLocationCode() 644 if (!l_sysCfgJsonObj.contains("frus")) in getFrusByUnexpandedLocationCode() 646 logging::logMessage("Missing frus tag in system config JSON"); in getFrusByUnexpandedLocationCode() 650 l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>(); in getFrusByUnexpandedLocationCode() 857 // TODO: check for all the essential FRUs in the system. in hostStateChangeCallBack()
|
/openbmc/phosphor-dbus-interfaces/yaml/com/ibm/VPD/ |
H A D | Manager.interface.yaml | 48 List of all the FRUs D-Bus object paths for the given location 68 List of all the FRUs D-Bus object path for the given location 102 An api to check for FRUs replaced and if required, perform
|
/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/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()
|
/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/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-logging/extensions/openpower-pels/ |
H A D | data_interface.hpp | 113 * called when certain FRUs become present. 496 * @brief Returns the FRUs DI property value hosted on the VINI iterface for 501 * @return std::optional<std::vector<uint8_t>> - The FRUs DI or 588 * FRUs become present. 910 * @brief Returns the FRUs DI property value hosted on the VINI iterface for 915 * @return std::optional<std::vector<uint8_t>> - The FRUs DI or 976 * @brief Start watching for the hotpluggable FRUs to become 991 * Only does something if it's one of the hotpluggable FRUs,
|
/openbmc/intel-ipmi-oem/ |
H A D | meson.options | 4 …-decorators', type: 'feature', 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/ipmi-fru-parser/scripts/ |
H A D | writefru.mako.cpp | 5 extern const FruMap frus = {
|
/openbmc/phosphor-host-ipmid/scripts/ |
H A D | readfru.mako.cpp | 5 extern const FruMap __attribute__((init_priority(101))) frus = {
|
/openbmc/phosphor-host-ipmid/dbus-sdr/ |
H A D | storagecommands.cpp | 106 ManagedObjectType frus; variable 156 for (const auto& fru : frus) in recalculateHashes() 222 frus = bus->yield_method_call<ManagedObjectType>( in replaceCacheFru() 317 frus[path] = object; in startMatch() 343 frus.erase(path); in startMatch() 561 frus.begin(), frus.end(), in getFruSdrs() 587 if (fru == frus.end()) in getFruSdrs()
|