History log of /openbmc/intel-ipmi-oem/include/sdrutils.hpp (Results 1 – 18 of 18)
Revision Date Author Comments
# 1bcced08 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: Id2036ab746164981596b3ee36259f3ca5d3f1334
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# dcff1506 28-Sep-2022 Vernon Mauery <vernon.mauery@linux.intel.com>

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Maue

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# b37abfb2 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I59c0a8c4b89131ecd3e9a841ed37ef3b8dcf8e9d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# f944d2e5 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie7375047bd567aa052d3bd35a6dd7008779a05b4

show more ...


# bd51e6a9 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia9932efb6a9335e80b3f2376d2d62e1b65866f44


# 06aa21ab 28-Oct-2020 Josh Lehan <krellan@google.com>

sensorcommands: Add IPMI reading logging instrumentation

Noteworthy sensor readings, such as the first reading,
a new minimum or maximum value, or ending a good or
bad streak of read

sensorcommands: Add IPMI reading logging instrumentation

Noteworthy sensor readings, such as the first reading,
a new minimum or maximum value, or ending a good or
bad streak of readings, will now have some useful logging output.

Tested: Example logs
```
root@bmc:~# journalctl --no-pager | grep 'IPMI sensor'
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor0: First reading, value=6 byte=51
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor0: Range min=0 max=30, Coefficients mValue=118 rExp=-3 bValue=0 bExp=0 bSigned=0
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor1: First reading, value=7 byte=59
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor1: Range min=0 max=30, Coefficients mValue=118 rExp=-3 bValue=0 bExp=0 bSigned=0
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor2: First reading, value=1.437 byte=12
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor2: Range min=0 max=30, Coefficients mValue=118 rExp=-3 bValue=0 bExp=0 bSigned=0
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor3: First reading, value=1.437 byte=12
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor3: Range min=0 max=30, Coefficients mValue=118 rExp=-3 bValue=0 bExp=0 bSigned=0
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor4: First reading, value=1.96 byte=17
Jan 01 00:03:16 bmc ipmid[2865]: IPMI sensor sensor4: Range min=0 max=30, Coefficients mValue=118 rExp=-3 bValue=0 bExp=0 bSigned=0
...
```
Machine and sensors names are replaced.

Signed-off-by: Josh Lehan <krellan@google.com>
Change-Id: Idf7c8d4285b286fdc0afb3f0e7260c2d4915b326
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# 17eadbfb 06-Feb-2021 Kuiying Wang <kuiying.wang@intel.com>

Fix sensor missing issue.

There is issue for "BMC randomly unable to get sensor readings".
When invoking "ipmitool sdr" from Linux OS (host), it only
returns three sensors like follo

Fix sensor missing issue.

There is issue for "BMC randomly unable to get sensor readings".
When invoking "ipmitool sdr" from Linux OS (host), it only
returns three sensors like following partial records:
[root@localhost ~]# ipmitool sdr
CPU Power | 0 Watts | ok
Memory Power | 0 Watts | ok
Total Power | 0 Watts | ok
[root@localhost ~]#

There 2 caches sensorTree and sensorDataRecords.
When sensorDataRecords cache and sensorTree cache is not sync,
which causes this issue, like sensorTree cache has 10 sensors
but there are just 5 sensors in sensorDataRecords cache.
Most important sensorDataRecords cache is not necessary,
ipmiStorageGetSDR could get data from dbus directly and
no any performance impact.

Using sensorMapUpdatePeriod(10s) but not sensorMapSdrUpdatePeriod(60s),
60 seconds are too long to answer user with some SDR content
at the first time of BMC bootup.

Tested:
All sensors could be listed even at booting phase.
Could print correct sensor set along with the boot progress.

root@intel-obmc:~# ipmitool sdr
CPU Power | 202 Watts | ok
Memory Power | 0 Watts | ok
Total Power | 312 Watts | ok
root@intel-obmc:~# ipmitool sdr
System Airflow | 14 unspecified | ok
PSU1 In Current | 1.18 Amps | ok
PSU1 Out Current | 20.80 Amps | ok
PSU2 In Current | 0 Amps | ok
PSU2 Out Current | no reading | ns
Pwm 1 | 29.79 unspecifi | ok
Pwm 2 | 29.79 unspecifi | ok
Pwm 3 | 29.79 unspecifi | ok
Pwm 4 | 29.79 unspecifi | ok
Pwm 5 | 29.79 unspecifi | ok
Pwm 6 | 29.79 unspecifi | ok
Pwm 13 | 29.79 unspecifi | ok
Pwm 14 | 29.79 unspecifi | ok
Pwm 15 | 29.79 unspecifi | ok
Pwm 16 | 29.79 unspecifi | ok
Pwm PSU1 Fan 1 | 39.98 unspecifi | ok
Pwm PSU1 Fan 2 | 39.98 unspecifi | ok
.............
PVCCD HV CPU1 | 1.18 Volts | ok
PVCCFA EHV FIVRA | 1.16 Volts | ok
PVCCINFAON CPU1 | 1.11 Volts | ok
PVCCIN CPU1 | 1.68 Volts | ok
PVNN PCH AUX | 1.03 Volts | ok
root@intel-obmc:~#

Change-Id: I729d9bcbf91f0e96c62fb5f5ebe0240a0eaa47df
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
Signed-off-by: Helen Huang <he.huang@linux.intel.com>
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>

show more ...


# 308c3a8b 22-Jul-2020 Johnathan Mantey <johnathanx.mantey@intel.com>

Allow more than 256 IPMI sensors in a system

Systems with more than 255 IPMI sensors report strange values for
sensors assigned beyond the 255 limit for a single LUN. This is due to

Allow more than 256 IPMI sensors in a system

Systems with more than 255 IPMI sensors report strange values for
sensors assigned beyond the 255 limit for a single LUN. This is due to
the sensor number assignment rolling over to 0, and then applying the
most recent SDR values to the sensor calculation.

This change assigns up to 255 sensors to a single LUN (0xFF is
reserved). When the 256th sensor is assigned the sensor gets placed in
the LUN. LUNs 0, 1, and 3 are used, as LUN 2 is special.

Another guard has been created that throws an exception when more than
765 sensors have been assigned. This makes it obvious to the system
designer the limit for IPMI sensors has been reached.

Tested:
Forced the maxmimum number of sensors in the system to be 63 per LUN.

"ipmitool sdr elist" returned correct values for every sensor even
when the sensor number displayed in the printout matched the value of
a sensor printed earlier.

"ipmitool sensor get P3V3" returns a valid reading. In my test "P3V3"
was in LUN1.

"ipmitool raw 4 0x20 0" reported 63 sensors for LUN0, and that LUN0
and LUN1 had sensors.

"ipmitool raw -l 1 4 0x20 0" reported the remaining sensor count.

"ipmitool raw 0xa 0x2d 0" returns the correct value for LUN0 Sensor 0

"ipmitool raw -l 1 0xa 0x2d 0" returns the correct value for LUN1
Sensor 0

Change-Id: Ic1708b66339e57b1b765f5a9a684e829a0ec8fba
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# c2a07d4b 30-May-2020 Patrick Venture <venture@google.com>

types: move common types into types header

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I8e6f6fbae784a8ceebcc83ac53c1beb5c7b46779


# fcd2d3a9 28-May-2020 James Feist <james.feist@linux.intel.com>

Update to latest clang-format

Update to clang-format-10

Change-Id: I1c33ef7115c7a1459164d71f63921019d2dc9a98
Signed-off-by: James Feist <james.feist@linux.intel.com>


# 262276f4 18-Oct-2019 Patrick Venture <venture@google.com>

sensor SDRs: lookup Board to set IPMI info

Looks up the board object, if there is an association, and if that board
object specifies an EntityId or EntityInstance, it will use those valu

sensor SDRs: lookup Board to set IPMI info

Looks up the board object, if there is an association, and if that board
object specifies an EntityId or EntityInstance, it will use those values
in the SDR. If the configuration of the sensor also implements one or
both of those properties, then those are used instead.

Tested: Validated if the json Board file has EntityId and
EntityInstance, those values are used in the SDR. Validated if the
configuration for the sensor has those values, then those are used
instead. Verified it works in cases where these values are not set,
etc.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I998eff9b0145ede7b386041b35f488fa6dd6714f

show more ...


# caed905d 14-Jun-2019 Jason M. Bills <jason.m.bills@linux.intel.com>

Fix IPMI SEL sensor numbers

The IPMI SEL sensor numbers are off by one because the SEL assumed
that sensor numbers start at 1 when they actually start at 0.

Tested:
Confirme

Fix IPMI SEL sensor numbers

The IPMI SEL sensor numbers are off by one because the SEL assumed
that sensor numbers start at 1 when they actually start at 0.

Tested:
Confirmed that the sensor number in a SEL event matches the number
for that sensor in the SDR.

Change-Id: I3e205a89cd6bb3529b0fbe937058dee75c7acc62
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# a9423b6e 29-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Improve sensor tree handling in sdrutils.hpp

This change adds a bimap of sensor number to path to improve
lookup of both types.

Also, with the current implementation each time a

Improve sensor tree handling in sdrutils.hpp

This change adds a bimap of sensor number to path to improve
lookup of both types.

Also, with the current implementation each time a sensor number is
requested, the sensor tree must be retrieved from dbus and
parsed. This is fairly expensive and mostly unnecessary
because the sensor tree doesn't change often.

To help improve performance, this change also caches the sensor
tree and number mapping so requests can be returned quickly.
The sensor tree cache is cleared whenever a sensor interface
is added or removed. Regenerating the sensor tree cache
causes the sensor number map cache to also be regenerated so
both contain the latest sensor information.

Tested: Manually added SEL events to verify that they are
mapped to the correct sensors.

'ipmitool sel list' command with 105 SEL entries improved from
8.25 seconds to 1.50 seconds.

Change-Id: I0366e41985c980cbfa28f66a2a979f30ab98141a
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# f426f334 04-Jan-2019 James Feist <james.feist@linux.intel.com>

Set pwm as sensor type fan

It was being defaulted to reserved.

Change-Id: Idb2f328b0efba3246bf58ffaa6f50c20b6899e23
Signed-off-by: James Feist <james.feist@linux.intel.com>


# 52341e85 28-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Update sdrutils.hpp for use outside of intel-ipmi-oem

This change makes some minor improvements to match what was
up for review in phosphor-host-ipmid and removes sdrutils.hpp
depend

Update sdrutils.hpp for use outside of intel-ipmi-oem

This change makes some minor improvements to match what was
up for review in phosphor-host-ipmid and removes sdrutils.hpp
dependencies on local files so it can be used outside of
intel-ipmi-oem.

Change-Id: Id126069cbe348fac4923c82f99ba96ebd7c35902
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# 360f593b 14-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Fix checking of string::npos in sensor type parsing

The current string parsing to get sensor type from the path
does not correctly check for string::npos after the calls
to rfind().

Fix checking of string::npos in sensor type parsing

The current string parsing to get sensor type from the path
does not correctly check for string::npos after the calls
to rfind(). This change adds proper string::npos checking
after each rfind() before the position is used.

Tested: Ran 'ipmitool sensor list' and confirmed that the
sensor units are displayed properly.

Change-Id: If9a7113d105fdf7f4450a22d4b881cf2b5a9c090
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# 17add596 12-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Fix display of sensor units

An earlier change modified getSensorTypeStringFromPath() and
removed the comparison function for the sensor units map.
Because they are char* and the type

Fix display of sensor units

An earlier change modified getSensorTypeStringFromPath() and
removed the comparison function for the sensor units map.
Because they are char* and the type string failed, the default
sort and find map functions don't work and sensor units appear
as unspecified.

This change fixes the type string and adds the char* comparison
function back in so find() can correctly find the sensor unit.

Tested: Ran the 'sensor list' command and verified that the units
are correctly displayed.

Change-Id: Iac29b763dfd899ced9cb8885ddfa0f2edb8c4d64
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# 3f7c5e40 03-Oct-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Add Intel-specific IPMI sensor commands

Also includes SDR storage commands that are required to support
the 'ipmitool sensor list' command.

Change-Id: Id1830097d93882114085fce72

Add Intel-specific IPMI sensor commands

Also includes SDR storage commands that are required to support
the 'ipmitool sensor list' command.

Change-Id: Id1830097d93882114085fce723f0b92367b2db48
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...