/openbmc/phosphor-logging/extensions/openpower-pels/ |
H A D | repository.hpp | 13 namespace pels namespace 19 * The class handles saving and retrieving PELs on the BMC. 116 * @brief A structure for keeping a breakdown of the sizes of PELs 155 * @param[in] repoSize - The maximum amount of space to use for PELs, 157 * @param[in] maxNumPELs - The maximum number of PELs to allow 250 * @brief Subscribe to PELs being added to the repository. 266 * @brief Unsubscribe from new PELs. 278 * @brief Subscribe to PELs being deleted from the repository. 294 * @brief Unsubscribe from deleted PELs. 314 * @brief Returns the attributes map so that others can traverse PELs. [all …]
|
H A D | README.md | 3 This extension will create PELs for every OpenBMC event log. It is also possible 9 - [Passing in data when creating PELs](#passing-pel-related-data-within-an-openbmc-event-log) 10 - [Default UserData sections for BMC created PELs](#default-userdata-sections-for-bmc-created-pels) 20 - [Handling PELs for hot plugged FRUs](#handling-pels-for-hot-plugged-frus) 37 RAWPEL="/tmp/pels/pel.5" 76 sends down PELs when it is configured in IPMI communication mode. The PEL is 210 ## Default UserData sections for BMC created PELs 212 The extension code that creates PELs will add these UserData sections to every 226 The PEL message registry is used to create PELs from OpenBMC event logs. 492 space gets close to being full, the code will remove a percentage of PELs to [all …]
|
H A D | host_notifier.hpp | 13 namespace openpower::pels namespace 19 * This class handles notifying the host firmware of new PELs. 22 * notified about new PELs. 24 * Some PELs do not need to be sent - see enqueueRequired() and 41 * The host firmware has a finite amount of space to store PELs before 46 * PELs from being sent, and the first PEL that hits this will have 128 * PELs at this time. 131 * staging area to hold the PELs before sending them up 132 * to the OS is full. This will stop future PEls from being 137 * of already sent PELs. [all …]
|
H A D | paths.hpp | 8 namespace pels namespace 27 * @brief Returns the maximum size in bytes allocated to store PELs. 32 * @return size_t The maximum size in bytes to use for storing PELs. 37 * @brief Returns the maximum number of PELs allowed 42 * @return size_t The maximum number of PELs to allow in the repository. 46 } // namespace pels
|
H A D | pel_paths.cpp | 24 namespace pels namespace 34 logIDPath /= fs::path{"pels"} / fs::path{"pelID"}; in getPELIDFile() 41 repoPath /= "pels"; in getPELRepoPath() 47 return std::filesystem::path{"/usr/share/phosphor-logging/pels"}; in getPELReadOnlyDataPath() 64 } // namespace pels
|
H A D | repository.cpp | 28 namespace pels namespace 468 // - deconfig flag - Can be cleared for PELs that call out in updatePEL() 617 "{NUM_PELS} PELs", in prune() 623 // BMC informational PELs should only take up 15% in prune() 628 // BMC non informational PELs should only take up 30% in prune() 633 // Non BMC informational PELs should only take up 15% in prune() 638 // Non BMC non informational PELs should only take up 15% in prune() 643 // Bring the total number of PELs down to 80% of the max in prune() 675 // When counting PELs, count every PEL in prune() 688 // After the above pruning check if there are still too many PELs, in prune() [all …]
|
H A D | manager.hpp | 24 namespace pels namespace 140 * of PELs (and therefore OpenBMC event logs). 247 std::string getResolution(const openpower::pels::PEL& pel) const; 254 std::string getEventId(const openpower::pels::PEL& pel) const; 286 void updateProgressSRC(std::unique_ptr<openpower::pels::PEL>& pel) const; 383 * @brief Prunes old PELs out of the repository to save space. 415 void checkPelAndQuiesce(std::unique_ptr<openpower::pels::PEL>& pel); 425 void updateEventId(std::unique_ptr<openpower::pels::PEL>& pel); 457 bool updateResolution(const openpower::pels::PEL& pel); 466 void updateDBusSeverity(const openpower::pels::PEL& pel); [all …]
|
H A D | sbe_ffdc_handler.cpp | 38 namespace pels namespace 271 openpower::pels::phal::FFDCData ffdcUserData; in process() 274 openpower::pels::phal::convertFAPItoPELformat( in process() 283 pf.format = openpower::pels::UserDataFormat::json; in process() 284 pf.subType = openpower::pels::jsonCalloutSubtype; in process() 300 pdf.format = openpower::pels::UserDataFormat::text; in process() 321 } // namespace pels
|
H A D | manager.cpp | 40 namespace pels namespace 45 namespace rg = openpower::pels::message; 141 auto pel = std::make_unique<openpower::pels::PEL>(pelData, obmcLogID); in addPEL() 144 // PELs created by others still need this field set by us. in addPEL() 394 auto pel = std::make_unique<openpower::pels::PEL>( in createPEL() 557 // Remove the OpenBMC event logs for the PELs that were just removed. in pruneRepo() 598 // An event for 1 PEL uses 48B. When all PELs are deleted at once, in pelFileDeleted() 694 void Manager::checkPelAndQuiesce(std::unique_ptr<openpower::pels::PEL>& pel) in checkPelAndQuiesce() 732 std::string Manager::getEventId(const openpower::pels::PEL& pel) const in getEventId() 757 void Manager::updateEventId(std::unique_ptr<openpower::pels::PEL>& pel) in updateEventId() [all …]
|
H A D | service_indicators.hpp | 6 namespace openpower::pels::service_indicators namespace 52 * which callouts inside PELs should have their LEDs asserted, 84 * It only does the above for PELs that were created by the BMC 111 * It will ignore all PELs except for those created by the BMC or 192 } // namespace openpower::pels::service_indicators
|
H A D | host_notifier.cpp | 20 namespace openpower::pels namespace 38 // Subscribe to be told about new PELs. in HostNotifier() 43 // Subscribe to be told about deleted PELs. in HostNotifier() 49 // Add any existing PELs to the queue to send them if necessary. in HostNotifier() 99 // Manufacturing testing may turn off sending up PELs in enqueueRequired() 341 // Reset the state on any PELs that were sent but not acked back in hostStateChange() 453 // Start sending PELs again, from the event loop in ackPEL() 482 // The only PELs that will be sent when the in setHostFull() 504 } // namespace openpower::pels
|
/openbmc/openbmc/meta-ibm/recipes-phosphor/logging/ |
H A D | phosphor-logging_%.bbappend | 1 PACKAGECONFIG:append:witherspoon-tacoma = " openpower-pels" 2 PACKAGECONFIG:append:p10bmc = " openpower-pels" 10 FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/com.ibm.Hardware.Chassis.Model.Raini… 11 FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/com.ibm.Hardware.Chassis.Model.Raini… 12 FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/com.ibm.Hardware.Chassis.Model.Evere… 13 FILES:${PN}:append:p10bmc = " ${datadir}/phosphor-logging/pels/com.ibm.Hardware.Chassis.Model.Bonne… 20 install -d ${D}/${datadir}/phosphor-logging/pels 21 …hassis.Model.Rainier2U_dev_callouts.json ${D}/${datadir}/phosphor-logging/pels/com.ibm.Hardware.Ch… 22 …hassis.Model.Rainier4U_dev_callouts.json ${D}/${datadir}/phosphor-logging/pels/com.ibm.Hardware.Ch… 23 ….Chassis.Model.Everest_dev_callouts.json ${D}/${datadir}/phosphor-logging/pels/com.ibm.Hardware.Ch… [all …]
|
/openbmc/phosphor-logging/extensions/openpower-pels/tools/ |
H A D | peltool.cpp | 40 using namespace openpower::pels; 41 namespace message = openpower::pels::message; 42 namespace pv = openpower::pels::pel_values; 68 return std::string(phosphor::logging::paths::extension()) + "/pels/logs"; in pelLogDir() 292 * @param[in] hidden - Boolean to include hidden PELs 293 * @param[in] includeInfo - Boolean to include informational PELs 295 * termination PELs 463 * @brief Print a list of PELs or a JSON array of PELs 465 * @param[in] hidden - Boolean to include hidden PELs 466 * @param[in] includeInfo - Boolean to include informational PELs [all …]
|
/openbmc/phosphor-logging/test/openpower-pels/ |
H A D | pel_utils.hpp | 1 #include "extensions/openpower-pels/paths.hpp" 10 * @brief Test fixture to remove the pelID file that PELs use. 17 pelIDFile = openpower::pels::getPELIDFile(); in SetUpTestCase() 34 pelIDFile = openpower::pels::getPELIDFile(); in SetUp() 35 repoPath = openpower::pels::getPELRepoPath(); in SetUp() 36 registryPath = openpower::pels::getPELReadOnlyDataPath(); in SetUp()
|
H A D | meson.build | 15 '../../extensions/openpower-pels/host_notifier.cpp', 16 '../../extensions/openpower-pels/repository.cpp', 46 '../../extensions/openpower-pels/repository.cpp', 60 '../../extensions/openpower-pels/temporary_file.cpp', 89 'test-openpower-pels-' + t.underscorify(),
|
H A D | host_notifier_test.cpp | 16 #include "extensions/openpower-pels/data_interface.hpp" 17 #include "extensions/openpower-pels/host_notifier.hpp" 29 using namespace openpower::pels; 156 // Test dealing with how acked PELs are put on the 199 // Test that hidden PELs need notification when there 264 // Test that PELs are enqueued on startup 267 // Give the repo 10 PELs to start with in TEST_F() 288 // Test the simple path were PELs get sent to the host 315 // Add a few more PELs. They will get sent. in TEST_F() 342 // it will send PELs [all …]
|
H A D | user_header_test.cpp | 17 #include "extensions/openpower-pels/pel_types.hpp" 18 #include "extensions/openpower-pels/private_header.hpp" 19 #include "extensions/openpower-pels/user_header.hpp" 25 using namespace openpower::pels; 103 using namespace openpower::pels::message; in TEST() 195 using namespace openpower::pels::message; in TEST() 217 using namespace openpower::pels::message; in TEST() 239 using namespace openpower::pels::message; in TEST() 262 using namespace openpower::pels::message; in TEST() 284 using namespace openpower::pels::message; in TEST() [all …]
|
H A D | pel_values_test.cpp | 16 #include "extensions/openpower-pels/pel_values.hpp" 20 using namespace openpower::pels; 21 using namespace openpower::pels::pel_values;
|
H A D | pel_paths.cpp | 16 #include "extensions/openpower-pels/paths.hpp" 22 namespace pels namespace 77 } // namespace pels
|
H A D | pce_identity_test.cpp | 16 #include "extensions/openpower-pels/pce_identity.hpp" 20 using namespace openpower::pels; 21 using namespace openpower::pels::src;
|
H A D | repository_test.cpp | 16 #include "extensions/openpower-pels/paths.hpp" 17 #include "extensions/openpower-pels/repository.hpp" 26 using namespace openpower::pels; 129 // Add some PELs to the repository in TEST_F() 216 // Add 2 PELs in TEST_F() 624 // Prune PELs, when no HMC/OS/PHYP acks 630 // Add 10 4096B (on disk) PELs of BMC nonInfo, Info and nonBMC info, in TEST_F() 658 // Sanity check the very first PELs with IDs 1 to 4 are in TEST_F() 670 EXPECT_EQ(sizes.total, 4096 * 18); // 90% of 20 PELs in TEST_F() 671 EXPECT_EQ(sizes.bmcInfo, 4096 * 3); // 15% of 20 PELs in TEST_F() [all …]
|
/openbmc/openbmc-test-automation/docs/ |
H A D | openbmc_test_tools.md | 208 -a Display all PELs 209 -l List PELs 210 -n Show number of PELs 212 -h Include hidden PELs 213 -f,--info Include informational PELs 214 -t,--termination List only critical system terminating PELs 216 -D,--delete-all Delete all PELs 219 --archive List or display archived PELs
|
/openbmc/phosphor-logging/extensions/openpower-pels/registry/ |
H A D | run-ci.sh | 2 /usr/bin/env python3 extensions/openpower-pels/registry/tools/validate_registry.py \ 3 -s extensions/openpower-pels/registry/schema/schema.json \ 4 -r extensions/openpower-pels/registry/message_registry.json
|
/openbmc/openbmc-test-automation/lib/ |
H A D | pel_utils.py | 93 Set True to get hidden PELs else False. 95 Set True to get informational PELs else False. 213 Set True to get hidden PELs else False. 242 Set True to get hidden PELs else False. 271 Set True to get hidden PELs else False. 327 number_of_pels Number of PELS to be returned.
|
/openbmc/phosphor-logging/extensions/openpower-pels/registry/tools/ |
H A D | validate_registry.py | 24 for entry in registry_json["PELs"]: 40 for entry in registry_json["PELs"]: 60 for entry in registry_json["PELs"]: 90 for entry in registry_json["PELs"]:
|