/openbmc/pldm/platform-mc/ |
H A D | platform_manager.cpp | 19 for (auto& [tid, terminus] : termini) in initTerminus() 21 if (terminus->initialized) in initTerminus() 28 if (terminus->doesSupportCommand(PLDM_FRU, in initTerminus() 36 "Failed to get FRU Metadata for terminus {TID}, error {ERROR}", in initTerminus() 47 terminus->doesSupportCommand(PLDM_FRU, PLDM_GET_FRU_RECORD_TABLE)) in initTerminus() 54 "Failed to get Fru Record table for terminus {TID}, error {ERROR}", in initTerminus() 59 if (terminus->doesSupportCommand(PLDM_PLATFORM, PLDM_GET_PDR)) in initTerminus() 61 auto rc = co_await getPDRs(terminus); in initTerminus() 65 "Failed to fetch PDRs for terminus with TID: {TID}, error: {ERROR}", in initTerminus() 67 continue; // Continue to next terminus in initTerminus() [all …]
|
H A D | sensor_manager.cpp | 32 lg2::info("Terminus ID {TID}: sensor poll timer already exists.", "TID", in startPolling() 62 "Terminus ID {TID}: Failed to start sensor polling timer. Exception: {EXCEPTION}", in startSensorPollTimer() 76 auto terminus = termini[tid]; in disableTerminusSensors() local 77 if (!terminus) in disableTerminusSensors() 82 for (auto& sensor : terminus->numericSensors) in disableTerminusSensors() 139 lg2::info("Stopped polling for Terminus ID {TID}", "TID", tid); in doSensorPolling() 152 "Terminus ID {TID}: Failed to stop polling timer. Exception: {EXCEPTION}", in doSensorPolling() 180 * Terminus is not available for PLDM request. in doSensorPollingTask() 181 * The terminus manager will trigger recovery process to recovery the in doSensorPollingTask() 182 * communication between the local terminus and the remote terminus. in doSensorPollingTask() [all …]
|
H A D | terminus.hpp | 7 #include "terminus.hpp" 63 * @brief Terminus 65 * Terminus class holds the TID, supported PLDM Type or PDRs which are needed by 68 class Terminus class 71 Terminus(pldm_tid_t tid, uint64_t supportedPLDMTypes, 74 /** @brief Check if the terminus supports the PLDM type message 81 /** @brief Check if the terminus supports the PLDM command message 89 /** @brief Set the supported PLDM commands for terminus 114 /** @brief Set the PLDM supported type version for terminus 136 /** @brief The getter to return terminus's TID */ [all …]
|
H A D | terminus_manager.cpp | 206 /* Get TID of initialized terminus */ in discoverMctpTerminusTask() 229 // remove terminus in removeMctpTerminus() 257 lg2::error("Failed to Get Terminus ID, error {ERROR}.", "ERROR", rc); in initMctpTerminus() 263 lg2::error("Terminus responses the reserved {TID}.", "TID", tid); in initMctpTerminus() 267 /* Terminus already has TID */ in initMctpTerminus() 270 /* TID is used by one discovered terminus */ in initMctpTerminus() 275 /* The discovered terminus has the same MCTP Info */ in initMctpTerminus() 287 * Maybe the terminus supports multiple medium interfaces in initMctpTerminus() 288 * Or the TID is used by other terminus. in initMctpTerminus() 294 /* Use the terminus TID for mapping */ in initMctpTerminus() [all …]
|
H A D | terminus_manager.hpp | 7 #include "terminus.hpp" 35 /** @brief Type definition for Terminus handler mapper */ 36 using TerminiMapper = std::map<pldm_tid_t, std::shared_ptr<Terminus>>; 42 * TerminusManager class to discover and initialize PLDM terminus. 67 /** @brief start a coroutine to discover terminus 80 * received the response message from terminus. The function will 95 * return when received the response message from terminus. 115 * @return tid - Terminus tid 120 * Terminus TID when mctpInfo is already in the data base. Response 125 * @return tid - Terminus tid [all …]
|
H A D | terminus.cpp | 1 #include "terminus.hpp" 17 Terminus::Terminus(pldm_tid_t tid, uint64_t supportedTypes, in Terminus() function in pldm::platform_mc::Terminus 24 bool Terminus::doesSupportType(uint8_t type) in doesSupportType() 29 bool Terminus::doesSupportCommand(uint8_t type, uint8_t command) in doesSupportCommand() 47 "PLDM type {TYPE} command {CMD} is supported by terminus {TID}", in doesSupportCommand() 60 std::optional<std::string_view> Terminus::findTerminusName() in findTerminusName() 68 * terminus. The entity auxiliary name PDR of that terminus with the in findTerminusName() 69 * that type of containerID will include terminus name. in findTerminusName() 90 bool Terminus::createInventoryPath(std::string tName) in createInventoryPath() 121 void Terminus::parseTerminusPDRs() in parseTerminusPDRs() [all …]
|
H A D | platform_manager.hpp | 3 #include "terminus.hpp" 38 /** @brief Initialize terminus which supports PLDM Type 2 52 /** @brief Fetch all PDRs from terminus. 54 * @param[in] terminus - The terminus object to store fetched PDRs 57 exec::task<int> getPDRs(std::shared_ptr<Terminus> terminus); 59 /** @brief Fetch PDR from terminus 101 * generation from the terminus 102 * @param[in] eventReceiverEid - The EID of eventReceiver that terminus 107 * elapsing of which the terminus shall emit a heartbeat event. 131 * supported by the terminus [all …]
|
H A D | sensor_manager.hpp | 5 #include "terminus.hpp" 27 * This class manages the sensors found in terminus and provides 53 /** @brief Helper function to set all terminus sensor as nan when the 54 * terminus is not available for pldm request 62 /** @brief Set available state of terminus for pldm request. 69 /** @brief Get available state of terminus for pldm request. 85 /** @brief polling all sensors in each terminus 119 /** @brief Available state for pldm request of terminus */ 122 /** @brief Round robin sensor iter of terminus */
|
H A D | event_manager.cpp | 29 lg2::error("Terminus ID {TID} is not in the managing list.", "TID", in handlePlatformEvent() 46 …"Failed to decode sensor event data from terminus ID {TID}, event class {CLASS}, event ID {EVENTID… in handlePlatformEvent() 63 … "Unsupported class type {CLASSTYPE} for the sensor event from terminus ID {TID} sensorId {SID}", in handlePlatformEvent() 79 lg2::info("Received pldmMessagePollEvent for terminus {TID}", "TID", in handlePlatformEvent() 95 auto& terminus = it->second; // Reference for clarity in handlePlatformEvent() local 96 terminus->pollEvent = true; in handlePlatformEvent() 97 terminus->pollEventId = poll_event.event_id; in handlePlatformEvent() 98 terminus->pollDataTransferHandle = poll_event.data_transfer_handle; in handlePlatformEvent() 123 "Failed to decode numericSensorState event for terminus ID {TID}, error {RC} ", in processNumericSensorEvent() 136 lg2::error("Terminus ID {TID} is not in the managing list.", "TID", in processNumericSensorEvent() [all …]
|
H A D | manager.hpp | 47 /** @brief Helper function to do the actions before discovering terminus 53 /** @brief Helper function to do the actions after discovering terminus 88 /* Get TID of initialized terminus */ in updateMctpEndpointAvailability() 105 /** @brief Helper function to start sensor polling of the terminus TID 113 * polling and event polling) of the terminus TID. The `false` state 126 /** @brief Helper function to stop sensor polling of the terminus TID 137 * @param[in] tid - Terminus ID 160 * @param[in] tid - Terminus ID 183 * @param[in] tid - Terminus ID 204 * @param[in] tid - Terminus ID [all …]
|
H A D | event_manager.hpp | 6 #include "terminus.hpp" 27 * This class manages PLDM events from terminus. The function includes providing 77 /** @brief Set available state of terminus for pldm request. 79 * @param[in] tid - terminus ID 80 * @param[in] state - Terminus available state for PLDM request messages 87 /** @brief Get available state of terminus for pldm request. 89 * @param[in] tid - terminus ID 100 /** @brief A Coroutine to poll all events from terminus 156 * @param[in] typeName - Terminus name which creates CPER event 172 * @param[out] eventTid - Event terminus ID [all …]
|
H A D | manager.cpp | 13 // Add any setup or checks needed before discovering a terminus in beforeDiscoverTerminus() 40 auto& terminus = it->second; in pollForPlatformEvent() local 43 terminus->pollEvent = false; in pollForPlatformEvent()
|
/openbmc/docs/designs/ |
H A D | pldm-stack.md | 402 ### Terminus management and discovery 404 `pldmd` will maintain a terminus table to manage the PLDM terminus in system. 407 which is not in the terminus table yet. When the terminus EID is removed from 409 terminus table. 411 For each of terminus in the table, `pldmd` will go through the below steps: 413 - Terminus initialization 414 - Terminus discovery 415 - Terminus monitor and control 418 tasks of the terminus will be removed when it is removed from the terminus 421 #### Terminus initialization [all …]
|
/openbmc/pldm/platform-mc/test/ |
H A D | platform_manager_test.cpp | 32 std::map<pldm_tid_t, std::shared_ptr<pldm::platform_mc::Terminus>> termini; 37 // Add terminus in TEST_F() 41 termini[tid] = std::make_shared<pldm::platform_mc::Terminus>( in TEST_F() 43 auto terminus = termini[tid]; in TEST_F() local 45 /* Set supported command by terminus */ in TEST_F() 191 EXPECT_EQ(true, terminus->initialized); in TEST_F() 192 EXPECT_EQ(true, terminus->doesSupportCommand(PLDM_PLATFORM, PLDM_GET_PDR)); in TEST_F() 193 EXPECT_EQ(2, terminus->pdrs.size()); in TEST_F() 197 EXPECT_EQ(1, terminus->numericSensors.size()); in TEST_F() 198 EXPECT_EQ("S0", terminus->getTerminusName().value()); in TEST_F() [all …]
|
H A D | event_manager_test.cpp | 48 termini[tid] = std::make_shared<pldm::platform_mc::Terminus>( in TEST_F() 173 // Add terminus in TEST_F() 177 termini[tid] = std::make_shared<pldm::platform_mc::Terminus>( in TEST_F() 179 auto terminus = termini[tid]; in TEST_F() local 181 /* Set supported command by terminus */ in TEST_F() 384 EXPECT_EQ(true, terminus->initialized); in TEST_F() 385 EXPECT_EQ(32, terminus->maxBufferSize); in TEST_F() 386 EXPECT_EQ(0x06, terminus->synchronyConfigurationSupported.byte); in TEST_F() 387 EXPECT_EQ(2, terminus->pdrs.size()); in TEST_F() 388 EXPECT_EQ(1, terminus->numericSensors.size()); in TEST_F() [all …]
|
H A D | terminus_test.cpp | 2 #include "platform-mc/terminus.hpp" 11 auto t1 = pldm::platform_mc::Terminus(1, 1 << PLDM_BASE, event); in TEST() 12 auto t2 = pldm::platform_mc::Terminus( in TEST() 25 auto t1 = pldm::platform_mc::Terminus(tid, 1 << PLDM_BASE, event); in TEST() 33 auto t1 = pldm::platform_mc::Terminus( in TEST() 117 auto t1 = pldm::platform_mc::Terminus( in TEST() 237 auto t1 = pldm::platform_mc::Terminus( in TEST() 359 auto t1 = pldm::platform_mc::Terminus( in TEST()
|
/openbmc/pldm/ |
H A D | meson.options | 67 # PLDM Daemon Terminus options 69 'terminus-id', 74 description: '''The terminus id value of the device that is running this 79 'terminus-handle', 84 description: '''The terminus handle value of the device that is running this 203 of the monitoring terminus after each configured 217 polling timer of each terminus which will trigger the 218 terminus sensor reading task. The task will check 219 whether the sensor in the terminus sensors list need to
|
/openbmc/libpldm/include/libpldm/ |
H A D | pdr.h | 34 * to a PLDM terminus id. 70 * @param[in] is_remote - if true, then the PDR is not from this terminus 71 * @param[in] terminus_handle - terminus handle of the input PDR record 97 /** @brief Get terminus handle of a PDR record 105 * @return uint16_t - terminus handle assigned to PDR record 172 /** @brief Remove all PDR records that belong to a remote terminus 180 /** @brief Remove all remote PDR's that belong to a specific terminus 183 * @param[in] terminus_handle - Terminus Handle of the remove PLDM terminus 194 * @param[in] terminus_handle - PLDM terminus handle 195 * @param[in] tid - Terminus ID [all …]
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-graphics/terminus-font/ |
H A D | terminus-font_4.49.1.bb | 1 SUMMARY = "Terminus fonts packages (console and X11)" 2 DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \ 4 HOMEPAGE = "http://terminus-font.sourceforge.net/" 31 --x11dir=${datadir}/fonts/terminus 45 FILES:${PN}-pcf = "${datadir}/fonts/terminus"
|
/openbmc/pldm/common/ |
H A D | transport.hpp | 38 /** @brief Asynchronously send a PLDM message to the specified terminus 42 * @param[in] tid - The terminus ID of the message destination 52 * terminus 56 * @param[out] tid - The terminus ID of the message source 66 * terminus. 78 * @param[in] tid - The terminus ID of the endpoint with which the exchange
|
H A D | instance_id.hpp | 54 /** @brief Allocate an instance ID for the given terminus 55 * @param[in] tid - the terminus ID the instance ID is associated with 78 * @param[in] tid - the terminus ID the instance ID is associated with
|
/openbmc/entity-manager/configurations/meta/ |
H A D | terminus_2x100g_nic_tsff.json | 6 "Name": "Terminus NIC FRU $bus", 35 "Name": "Terminus NIC FRU $bus", 36 "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': 'Terminus 2x100G NIC TSFF'})",
|
/openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/PLDM/ |
H A D | Event.interface.yaml | 3 are PLDM monitoring and control messages that are used by a PLDM terminus to 26 A terminus id. 33 within a terminus.
|
/openbmc/pldm/softoff/ |
H A D | main.cpp | 28 "Failure in gracefully shutdown by remote terminus, exiting pldm-softpoweroff app"); in main() 35 "Remote terminus current state is not Running, exiting pldm-softpoweroff app"); in main() 44 … "Failure in sending soft off request to the remote terminus. Exiting pldm-softpoweroff app"); in main()
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font/ |
H A D | use-no-name-option-for-gzip.patch | 15 Index: terminus-font-4.49.1/Makefile 17 --- terminus-font-4.49.1.orig/Makefile 18 +++ terminus-font-4.49.1/Makefile 19 @@ -92,9 +92,9 @@ otbdir = $(prefix)/share/fonts/terminus
|