summaryrefslogtreecommitdiffstats
path: root/sensordatahandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* sensors: rework sensor assertionBrad Bishop2018-03-071-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch the sensor assertion logic would generate an invalid DBus message or undefined behavior in several scenarios. - A bit is both asserted and desasserted: A well behaving client won't do this but the existing logic would generate an invalid property-set message with signature ssvv. Rework the logic such that no dbus traffic occurs. - No bits are asserted: Results in an invalid message with signature ss. Rework such that no dbus traffic occurs. - Empty offset value map in configuration: Results in an invalid message with signature s. Rework such that no dbus traffic occurs. - Empty offset value map entry (either assert or deassert) in configuration: Results in an invalid variant signature. Rework such that no dbus traffic occurs. - The same bit is specified in the configuration for multiple properties or interfaces: Can result in invalid messages with a wide variety of signatures. Rework such that one message is sent for each property being updated. - Invalid bit specified in value map entry Results in undefined behavior calling bitset::test. Rework such that entries in the value map with invalid bits are ignored. Tested: Verified the OperatingSystemStatus sensor can be set by a BIOS Change-Id: I4df9472a8bdc9e44e98e1a963838da0912d10683 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* sensor: Add support for multiple sensor naming patternTom Joseph2018-01-301-0/+14
| | | | | Change-Id: Ibf58d4a4f5a2783a9152f4b5f685e28ef527c5e2 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Modify the service lookup for set sensor commandTom Joseph2017-12-041-6/+4
| | | | | | | | | | | With the current implementation of the generated code for the sensors, the object path corresponding to the sensor is present. But lookup was done again for the object path which was unnecessary. The current change would would only lookup the service implementing the object path and the interface corresponding to the sensor. Change-Id: I185bc49f6387428d62ab0e5cb8326497837aa67f Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* IPMI changes to mark non present as non functionalDhruvaraj Subhashchandran2017-10-111-8/+24
| | | | | | | | | When marking a unit as functional, both functional state and presence need to be checked to avoid marking non-present units as functional. Change-Id: If7b710c39f1c2590b82378ebdb7014dc924599ff Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* IPMI changes to skip updating non present coresDhruvaraj Subhashchandran2017-10-111-0/+11
| | | | | | | | | Cores which are not present need not to be updated to inventory. This change is for skipping several updates to inventory based on skipOn value. Change-Id: I29e005a715ccae1df6eeaf35561a20896ecde0ac Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* Use static path for inventory managerDhruvaraj Subhashchandran2017-09-261-5/+2
| | | | | | | | | | | During boot after sending the inventory details host is asking for the a sensor value, that request is getting blocked because the ipmid on BMC is busy with processing the inventory data. Adding an optimization in processing inventory, which will reduce the wait. Change-Id: I490c98220e0244fb6c766432aa1ea8cf25ae1502 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* sensor: Add function to map dbus info to reading fieldTom Joseph2017-09-141-0/+36
| | | | | | | | | For sensor's with reading type eventData2, the eventdata2 field is mapped to the reading field in the get sensor reading command response. Change-Id: I9ad85ddb48d6c273a22e476e29ea9bbb34c13e24 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Add function to map dbus info to assertion statusTom Joseph2017-09-141-0/+76
| | | | | Change-Id: I30aae9abd7905ae3299856d798d41e10859fed7f Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Refactor set sensor handling codeDeepak Kodihalli2017-08-151-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | A summary of the changes: - Do not generate per sensor type code to update d-bus objects corresponding to sensors. Function to update d-bus objects based on standard sensor event types, such as assertion, event data, are now generic functions - the need not be generated per sensor or per sensor type. - There's a special case where the assertion is treated as a reading (i.e read the entire assertion field as-is). In this case, code needs to be generated per sensor because the type of the mapped d-bus property can vary. In this case have a generic template function, and generate minimal code like so: inline ipmi_ret_t readingAssertion(const SetSensorReadingReq& cmdData, const Info& sensorInfo) { // Corresponding d-bus property is uint32_t return set::readingAssertion<uint32_t>(cmdData, sensorInfo); } - Make sensor-example.yaml succinct. - Make the code in writesensor.mako.cpp more pythonic. Change-Id: I84415ca6e3f756bbb51a90e290539eb086a7f78b Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Fix for reboot attempt and catch internal failures.Dhruvaraj Subhashchandran2017-08-101-11/+9
| | | | | | | | | | | The assumption was reboot attempt left will be sent through reading data in ipmi sensor data, but it is being sent as assertion so adding support to read raw data from assertion bits. Added a catch for internal failures while calling update function for sensors. Change-Id: If45d003c1c22f60e7c8a723c1ff9d077c53cad37 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* IPMI: Virtual sensor support in host ipmidDhruvaraj Subhashchandran2017-08-041-0/+258
Resolves openbmc/openbmc#1608 Change-Id: Id76446061fd0fa6dc3dead702538e424293af7ce Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
OpenPOWER on IntegriCloud