/openbmc/phosphor-logging/test/openpower-pels/ |
H A D | fru_identity_test.cpp | 23 // Unflatten a FRUIdentity that is a HW FRU callout 35 FRUIdentity fru{stream}; in TEST() local 37 EXPECT_EQ(fru.failingComponentType(), FRUIdentity::hardwareFRU); in TEST() 38 EXPECT_EQ(fru.flattenedSize(), data.size()); in TEST() 39 EXPECT_EQ(fru.type(), 0x4944); in TEST() 41 EXPECT_EQ(fru.getPN().value(), "1234567"); in TEST() 42 EXPECT_EQ(fru.getCCIN().value(), "AAAA"); in TEST() 43 EXPECT_EQ(fru.getSN().value(), "123456789ABC"); in TEST() 44 EXPECT_FALSE(fru.getMaintProc()); in TEST() 49 fru.flatten(newStream); in TEST() [all …]
|
/openbmc/openbmc-test-automation/ipmi/ |
H A D | test_ipmi_fru_device.robot | 2 Documentation Test IPMI FRU data. 28 Test FRU Device Name 29 [Documentation] Search FRU for device name 32 ${output}= Run IPMI Standard Command fru 33 Should Contain ${output} ${FRU_NAME} msg=Fail: Given FRU device ${FRU_NAME} not found 36 Verify Fru Device Configuration 37 [Documentation] Read the FRU device configuration of each device 41 # IPMI FRU print. 42 ${ipmi_output}= Run IPMI Standard Command fru 44 # Create dictionary with FRU device serial number as key and details as value from IPMI. [all …]
|
H A D | test_ipmi_fru.robot | 2 Documentation Test IPMI FRU data. 21 Test FRU Info Of Power Supplies 22 [Documentation] Verify FRU info of power supply via IPMI and Redfish. 25 # IPMI FRU info. 26 ${ipmi_fru_component_info}= Get Component FRU Info ${COMPONENT_NAME_OF_POWER_SUPPLY} 29 # Redfish FRU info. 43 [Documentation] Get IPMI And Redfish subcomponents of FRU and verify. 47 # ${ipmi_fru_info} IPMI FRU component values. 48 # ${redfish_fru_info} Redfish FRU component values. 58 Compare IPMI And Redfish FRU Component ${ipmi_fru_sub_component} [all …]
|
/openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Inventory/Source/PLDM/ |
H A D | FRU.interface.yaml | 2 Implement to represent a PLDM FRU ( 4 This interface is composed of standard (not OEM) FRU field type (FRU 7 Caveat: This interface is primarily for consumption by the PLDM FRU format 8 producer apps (for eg the PLDM daemon) and apps that transform specific FRU 12 An OpenBMC implementation that wants to process a PLDM FRU record table 14 object that represents a PLDM FRU definition - a set of properties and their 15 values for the FRU. Typically such an app would parse PLDM FRU records and 17 FRU field is missing in the FRU record, then the corresponding D-Bus 30 Chassis type of the FRU. Can be empty if the FRU is not a chassis. 34 Model of the FRU. [all …]
|
/openbmc/libpldm/include/libpldm/ |
H A D | fru.h | 33 /** @brief PLDM FRU commands 42 /** @brief FRU record types 49 /** @brief Encoding type for FRU fields 60 /** @brief FRU field types 82 * Structure representing PLDM get FRU table metadata response. 86 uint8_t fru_data_major_version; //!< The major version of the FRU Record 87 uint8_t fru_data_minor_version; //!< The minor version of the FRU Record 88 uint32_t fru_table_maximum_size; //!< The size of the largest FRU Record data 89 uint32_t fru_table_length; //!< The total length of the FRU Record Table 90 uint16_t total_record_set_identifiers; //!< The total number of FRU [all …]
|
/openbmc/pldm/libpldmresponder/ |
H A D | fru.hpp | 8 #include <libpldm/fru.h> 42 * @brief Builds the PLDM FRU table containing the FRU records 47 /* @brief Header size for FRU record, it includes the FRU record set 48 * identifier, FRU record type, Number of FRU fields, Encoding type 49 * of FRU fields 59 * for PLDM FRU 60 * @param[in] fruMasterJsonPath - path to the file containing the FRU 264 namespace fru global() namespace [all...] |
H A D | pdr_utils.cpp | 3 #include <libpldm/fru.h> 21 // 7: uint16_t(FRU Record Set Identifier), uint8_t(FRU Record Type), 22 // uint8_t(Number of FRU fields), uint8_t(Encoding Type for FRU fields), 23 // uint8_t(FRU Field Type), uint8_t(FRU Field Length) 26 // // 2: 1byte FRU Field Type, 1byte FRU Field Length 216 // 7: uint16_t(FRU Record Set Identifier), uint8_t(FRU Record Type), in parseFruRecordTable() 217 // uint8_t(Number of FRU fields), uint8_t(Encoding Type for FRU fields), in parseFruRecordTable() 218 // uint8_t(FRU Field Type), uint8_t(FRU Field Length) in parseFruRecordTable() 221 error("Invalid FRU length '{LENGTH}' while parsing FRU record table", in parseFruRecordTable() 231 FruRecordDataFormat fru; in parseFruRecordTable() local [all …]
|
H A D | fru_parser.hpp | 30 namespace fru namespace 37 } // namespace fru 52 pldm::responder::dbus::PropertyType, pldm::responder::fru::FieldType>; 55 std::tuple<pldm::responder::fru::RecordType, 56 pldm::responder::fru::EncodingType, std::vector<FieldInfo>>; 64 * @brief Parses the PLDM FRU configuration files to populate the data 66 * inventory information into PLDM FRU Record. 81 * needed to build FRU record data table 83 * @return service and inventory interfaces needed to build the FRU records 90 /** @brief Get the information need to create PLDM FRU records for a [all …]
|
/openbmc/openbmc/meta-ampere/meta-jefferson/recipes-ampere/platform/ampere-utils/ |
H A D | ampere_firmware_upgrade.sh | 3 # Helper script to flash FRU and Boot EEPROM devices. 5 # Syntax for FRU: 6 # ampere_firmware_upgrade.sh fru <image> [<dev>] 7 # dev: 1 for CIO FRU (default), 2 for BMC FRU, 3 for MB-1 FRU, 4 for MB-2 FRU 68 echo "Flash CIO FRU with image $IMAGE at $FRU_DEVICE" 71 echo "Flash BMC FRU with image $IMAGE at $FRU_DEVICE" 74 echo "Flash MB-1 FRU with image $IMAGE at $FRU_DEVICE" 77 echo "Flash MB-2 FRU with image $IMAGE at $FRU_DEVICE" 79 echo "Please select CIO FRU (1), BMC FRU (2)," 80 echo "MB-1 FRU (3), MB-2 FRU (4)," [all …]
|
/openbmc/pldm/libpldmresponder/examples/fru/ |
H A D | FRU_Master.json | 1 // This is the master config file for generating PLDM FRU records from the D-Bus 4 // D-Bus objects and "entities" section specifies the type of FRU's for which 5 // FRU records are created in the FRU table. FRU Record Set PDR and Entity 6 // Association PDR are generated for matching FRU. In this example, PLDM FRU 7 // records will be created for all FRU's of type Board and CPU. The "entity_type" 8 // field is the PLDM entity type for Board and CPU. For each FRU type, 10 // directory, Board_General.json is the config to generate the General FRU 11 // record for FRU of type Board and Board_VINI.json is the config to generate 12 // the OEM record (VINI is a record in IBM IPZ VPD format) for FRU of type Board. 13 // For all instances of the same FRU, the same config JSON will apply.
|
H A D | Cpu_General.json | 1 // This JSON has the information needed to create General FRU record for FRU of 2 // type Cpu. The FRU fields are based on the PLDM specification DSP0257. 5 // FRU Record Type - General FRU Record 7 // Encoding Type for FRU fields - ASCII 13 // FRU Field Type 3 - Part Number 15 // D-Bus property to read and populate the FRU field 23 // FRU Field Type 4 - Serial Number 25 // D-Bus property to read and populate the FRU field
|
H A D | Board_General.json | 1 // This JSON has the information needed to create General FRU record for FRU of 2 // type Board. The FRU fields are based on the PLDM specification DSP0257. 5 // FRU Record Type - General FRU Record 7 // Encoding Type for FRU fields - ASCII 13 // FRU Field Type 3 - Part Number 15 // D-Bus property to read and populate the FRU field 23 // FRU Field Type 4 - Serial Number 25 // D-Bus property to read and populate the FRU field
|
H A D | Board_VINI.json | 1 // This JSON has the information needed to create OEM FRU record VINI for FRU of 5 // FRU Record Type - OEM FRU Record 7 // Encoding Type for FRU fields - ASCII 13 // FRU Field Type 2 - Keyword RT 15 // D-Bus property to read and populate the FRU field 23 // FRU Field Type 3 - Keyword B3 25 // D-Bus property to read and populate the FRU field
|
/openbmc/ipmi-fru-parser/ |
H A D | fru_area.hpp | 15 * IPMIFruArea represents a piece of a FRU that is accessible over IPMI. 26 * @param[in] fruID - FRU identifier value 27 * @param[in] type - the type of FRU area. 32 * Set whether the FRU is present. 42 * Retrieves the FRU's ID. 44 * @return the FRU ID. 52 * Returns the length of the FRU data. 62 * Returns the type of the current FRU area. 64 * @return the type of FRU area 72 * Returns the FRU area name. [all …]
|
/openbmc/openbmc/meta-phosphor/recipes-phosphor/ipmi/ipmitool/ |
H A D | 0001-Fru-Fix-edit-field-not-checking-area-existence.patch | 4 Subject: [PATCH] Fru: Fix edit field not checking area existence 6 The current implementation of ipmitool fru edit does not perform proper 7 checks when attempting to resize the FRU. This results in undesireable 8 changes to the FRU in several instances: 9 1. If the FRU is shrinking and a FRU area does not exist (offset 0), 13 FRU spec, ipmitool may shift the wrong fields, which would cause data 14 loss. (the FRU spec does not specify a required order for FRU fields) 15 3. If the FRU is being enlarged after a fru field edit, the FRU size is 16 not properly modified before writing the FRU, so the end of the FRU 24 3. Properly edit the size of the FRU before the FRU is written. [all …]
|
/openbmc/ipmitool/lib/ |
H A D | ipmi_fru.c | 71 struct fru_info fru, struct fru_header header, 75 fru_area_print_multirec_bloc(struct ipmi_intf * intf, struct fru_info * fru, 78 read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id, 82 /* get_fru_area_str - Parse FRU area string from raw data 84 * @data: raw FRU data 87 * returns pointer to FRU area string 215 /* build_fru_bloc - build fru bloc for write protection 218 * @fru_info: information about FRU device 219 * @id : Fru id 230 build_fru_bloc(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id) in build_fru_bloc() argument [all …]
|
/openbmc/openbmc/meta-ibm/recipes-phosphor/configuration/ |
H A D | acx22-yaml-config.bb | 10 file://acx22-ipmi-fru-bmc.yaml \ 11 file://acx22-ipmi-fru-not-sent-by-host.yaml \ 27 acx22-ipmi-fru-bmc.yaml \ 28 acx22-ipmi-fru-not-sent-by-host.yaml \ 41 # generate extra-properties.yaml from the MRW for ipmi-fru-parser 43 -c $op_configpath/ipmi-fru-properties-mrw.yaml \ 46 # generate fru-read.yaml from the MRW, for ipmid and ipmi-fru-parser 48 -m $op_configpath/ipmi-hostboot-fru-mrw.yaml \ 49 -o fru-read-partial.yaml ${EXTRA_MRW_SCRIPT_ARGS} 50 cat fru-read-partial.yaml ${ACx22_IPMI_EXTRA_FRU_READ_YAMLS} \ [all …]
|
/openbmc/entity-manager/src/fru_device/ |
H A D | fru_utils.hpp | 56 size_t start; // Fru Area Start offset 57 size_t size; // Fru Area Size 58 size_t end; // Fru Area end offset 59 size_t updateFieldLoc; // Fru Area update Field Location 129 /// \brief Find a FRU header. 141 /// \brief Read and validate FRU contents. 144 /// \return the FRU contents from the file and bool indicating if the FRU Header 149 /// \brief Validate an IPMI FRU common header 161 /// \param fruData - vector to store fru data 162 /// \param propertyName - fru property Name [all …]
|
/openbmc/openbmc/meta-ibm/meta-romulus/recipes-phosphor/configuration/ |
H A D | romulus-yaml-config.bb | 9 file://romulus-ipmi-fru.yaml \ 10 file://romulus-ipmi-fru-bmc.yaml \ 11 file://romulus-ipmi-fru-properties.yaml \ 20 cat romulus-ipmi-fru.yaml romulus-ipmi-fru-bmc.yaml > fru-read.yaml 22 install -m 0644 -D romulus-ipmi-fru-properties.yaml \ 24 install -m 0644 -D fru-read.yaml \ 25 ${D}${datadir}/${BPN}/ipmi-fru-read.yaml 34 ${datadir}/${BPN}/ipmi-fru-read.yaml \
|
/openbmc/pldm/oem/ibm/libpldmresponder/ |
H A D | fru_oem_ibm.hpp | 4 #include "libpldmresponder/fru.hpp" 8 #include <libpldm/oem/ibm/fru.h> 40 /** @brief Method to set the fru handler in the 45 void setIBMFruHandler(pldm::responder::fru::Handler* handler); 47 /** @brief Process OEM FRU table 49 * @param[in] fruData - the data of the fru records 66 pldm::responder::fru::Handler* fruHandler; //!< pointer to PLDM fru handler 70 * @param[in] fruRSI - fru record set identifier 72 * creating the pldm fru records 88 * @param[in] adapterObjectPath - the fru object path [all …]
|
/openbmc/phosphor-power/phosphor-regulators/src/actions/ |
H A D | compare_presence_action.hpp | 47 * @param fru Field-Replaceable Unit (FRU). Specify the D-Bus inventory path 48 * of the FRU. 51 explicit ComparePresenceAction(const std::string& fru, bool value) : in ComparePresenceAction() argument 52 fru{fru}, value{value} in ComparePresenceAction() 69 * Returns the Field-Replaceable Unit (FRU). 71 * @return FRU 75 return fru; in getFRU() 97 * Field-Replaceable Unit (FRU) for this action. 99 * The D-Bus inventory path of the FRU. 101 const std::string fru{}; member in phosphor::power::regulators::ComparePresenceAction
|
H A D | compare_vpd_action.hpp | 49 * @param fru Field-Replaceable Unit (FRU). Specify the D-Bus inventory path 50 * of the FRU. 55 explicit CompareVPDAction(const std::string& fru, in CompareVPDAction() argument 58 fru{fru}, keyword{keyword}, value{value} in CompareVPDAction() 75 * Returns the Field-Replaceable Unit (FRU). 77 * @return FRU 81 return fru; in getFRU() 113 * Field-Replaceable Unit (FRU) for this action. 115 * The D-Bus inventory path of the FRU. 117 const std::string fru{}; member in phosphor::power::regulators::CompareVPDAction
|
/openbmc/phosphor-led-manager/fault-monitor/ |
H A D | fru-fault-monitor.hpp | 14 namespace fru namespace 21 /** @brief Assert or deassert an LED based on the input FRU 23 * @param[in] path - Inventory path of the FRU 29 * @brief Implementation of LED handling after resolution of FRU fault 30 * @details Implement methods for watching the resolution of FRU faults 45 * @param[in] path - Inventory path to fru 56 /** @brief inventory path of the FRU */ 62 /** @brief Callback function for fru fault created 67 /** @brief function to create fault remove match for a fru 83 * @brief Implementation of LED handling during FRU fault [all …]
|
/openbmc/openbmc/meta-amd/meta-daytonax/recipes-phosphor/configuration/ |
H A D | daytonax-yaml-config.bb | 9 file://daytonax-ipmi-fru.yaml \ 10 file://daytonax-ipmi-fru-properties.yaml \ 18 cat daytonax-ipmi-fru.yaml > fru-read.yaml 20 install -m 0644 -D daytonax-ipmi-fru-properties.yaml \ 22 install -m 0644 -D fru-read.yaml \ 23 ${D}${datadir}/${BPN}/ipmi-fru-read.yaml 30 ${datadir}/${BPN}/ipmi-fru-read.yaml \
|
/openbmc/openbmc/meta-amd/meta-ethanolx/recipes-phosphor/configuration/ |
H A D | ethanolx-yaml-config.bb | 9 file://ethanolx-ipmi-fru.yaml \ 10 file://ethanolx-ipmi-fru-properties.yaml \ 18 cat ethanolx-ipmi-fru.yaml > fru-read.yaml 20 install -m 0644 -D ethanolx-ipmi-fru-properties.yaml \ 22 install -m 0644 -D fru-read.yaml \ 23 ${D}${datadir}/${BPN}/ipmi-fru-read.yaml 30 ${datadir}/${BPN}/ipmi-fru-read.yaml \
|