History log of /openbmc/smbios-mdr/include/mdrv2.hpp (Results 1 – 22 of 22)
Revision Date Author Comments
# 1d73dccc 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: I1210c7b95e65a82cc5675ada03441af6727a3930
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# abdccd3a 26-Jan-2024 Josh Lehan <krellan@google.com>

Add assoc-trim-path option and Board match

When a custom object path is being used (not the default object path
that comes from IPMI), allow the Board interface to be a valid
interface for associati

Add assoc-trim-path option and Board match

When a custom object path is being used (not the default object path
that comes from IPMI), allow the Board interface to be a valid
interface for associating the Inventory object with, not just the
System interface.

The purpose is to support large systems of the blade server style,
which have CPU and DIMM attached to a Board that is itself attached to
a System, not attached to the System directly.

Adding the assoc-trim-path option, disabled by default, to drop the
rightmost path component when setting up this association. This
bypasses the Board and associates the CPU and DIMM directly with the
underlying System.

Cleaning up the systemInfoUpdate() function, to correct a logic error
in which the match rule would not be set up for later if an exception
happened the first time. Also sleeping, to work around a race condition
with Object Mapper.

Tested: I tested it both with and without the assoc-trim-path option,
and it seemed to have the desired effect. With this option enabled, I
was able to attach CPU and DIMM to the proper System, even though there
was a Board object in the hierarchy between them.

Change-Id: Ibb5302e01b9d1b0453bdb14092ede594a9e71415
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...


# c6d87a5c 08-Feb-2024 Josh Lehan <krellan@google.com>

Clean up some buffer allocations

While investigating some memory corruption, I found two bugs: the
backing store the SMBIOS data gets loaded into was left uninitialized,
and the buffer used for the

Clean up some buffer allocations

While investigating some memory corruption, I found two bugs: the
backing store the SMBIOS data gets loaded into was left uninitialized,
and the buffer used for the version check was allocated using a pointer
where a size should have been used instead.

Tested: While I can not say for sure this solves the corruption, it
seems to make it much less frequent, during my testing. I am not saying
it is gone, but I can no longer reproduce it.

Change-Id: Ic5d28a0d55cfb179c1bd73e95df2a6bf119f6d8c
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...


# 027277a4 11-Sep-2023 Josh Lehan <krellan@google.com>

Refactor MDRV2 class to allow more than one

Refactored the main MDRV2 class to allow more than one object of this
class to exist at the same time. All hardcoded paths have been made
parameters to th

Refactor MDRV2 class to allow more than one

Refactored the main MDRV2 class to allow more than one object of this
class to exist at the same time. All hardcoded paths have been made
parameters to the constructor, so that they can be varied at runtime as
needed, to avoid overlap.

Also did some necessary internal cleanups to facilitate this.

Tested: Created multiple copies of the MDRV2 object at the same time,
it worked, all appeared on D-Bus, under distinct object paths and
inventory paths. Destructed the MDRV2 object, it disappeared from
D-Bus, constructed it again, it came back.

https://gist.github.com/Krellan/6930bc2ed1ac16b93afcc3a12c02e545

Change-Id: Icd1ebf50086b526cf0cff149eb8ddc59da78f0a9
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...


# f079e836 19-Sep-2023 Josh Lehan <krellan@google.com>

Initialize first byte in IPMI cache file

In the IPMI cache file, the first byte of this file was always
essentially random, because it was in a structure that had this field
uninitialized. Fixing it

Initialize first byte in IPMI cache file

In the IPMI cache file, the first byte of this file was always
essentially random, because it was in a structure that had this field
uninitialized. Fixing it, by arbitrarily choosing the value 0x01.

Added a new constant "mdrDirVersion" for this, and also added a similar
constant for "smbiosDirVersion" (which was being initialized, but to a
magic number directly in the code, not a constant).

Tested: Cache files now appear consistently.

Change-Id: I1f13ae973965b1a7105e2ac054ae30c52f45e2a9
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...


# f2d8bb48 26-Jul-2023 Jonathan Doman <jonathan.doman@intel.com>

Fix compilation warnings

Various small issues:
* Member initialization order
* Comparison of different signedness
* Unused parameters
* Unused variable

Change-Id: Ie59db239b4216ad089f7cf0f289e6ed3d

Fix compilation warnings

Various small issues:
* Member initialization order
* Comparison of different signedness
* Unused parameters
* Unused variable

Change-Id: Ie59db239b4216ad089f7cf0f289e6ed3d6ac8e18
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>

show more ...


# c39d3dfc 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: I172b14c1a881c734851b7dc6e0e90ee2e11cce03
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 33ae81fe 26-Apr-2023 Jason M. Bills <jason.m.bills@intel.com>

Update to the new sdbusplus namespace format

The sdbusplus namespace format was updated in [1]. This updates the
local namespaces to the new format.

[1]: https://github.com/openbmc/sdbusplus/commit

Update to the new sdbusplus namespace format

The sdbusplus namespace format was updated in [1]. This updates the
local namespaces to the new format.

[1]: https://github.com/openbmc/sdbusplus/commit/5011340e14da7fc04f8b20721c4631f778200edd

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

show more ...


# a3f5b385 26-Apr-2023 Jason M. Bills <jason.m.bills@intel.com>

Update class name to MDRV2

In this sdbusplus change, [1], the class name in server.hpp was updated
from MDR_V2 to MDRV2. This updates the local class name to match.

[1]: https://github.com/openbmc/

Update class name to MDRV2

In this sdbusplus change, [1], the class name in server.hpp was updated
from MDR_V2 to MDRV2. This updates the local class name to match.

[1]: https://github.com/openbmc/sdbusplus/commit/5011340e14da7fc04f8b20721c4631f778200edd

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

show more ...


# bb9c622d 03-Nov-2022 Gobinath Krishnamoorthy <gobinathk@google.com>

Use mobo's object system iface to find mobo path.

This change use system interface to find the inventory object path
of the root board in the system. This replaces the `ReScan`
method to get the roo

Use mobo's object system iface to find mobo path.

This change use system interface to find the inventory object path
of the root board in the system. This replaces the `ReScan`
method to get the root object path. The `ReScan` implementation in
EntityManager never upstreamed and that CL was abandoned.
CL: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/46128

TESTED:

busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0 \
> xyz.openbmc_project.Association.Definitions Associations
a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/motherboard"

busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1 \
> xyz.openbmc_project.Association.Definitions Associations
a(sss) 1 "chassis" "processors" "/xyz/openbmc_project/inventory/system/board/motherboard"

busctl --verbose get-property xyz.openbmc_project.ObjectMapper \
/xyz/openbmc_project/inventory/system/board/motherboard/processors \
xyz.openbmc_project.Association endpoints
ARRAY "s" {
STRING "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0";
STRING "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1";
};

Signed-off-by: Gobinath Krishnamoorthy <gobinathk@google.com>
Change-Id: Idc6f8c58324c7618a2c4c5a2c4079599c7c29cf4

show more ...


# 77b9c478 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: Ibc88a5de1e7a11d332410985f29698b24aeae983

show more ...


# 0435a483 01-Feb-2022 Arun P. Mohanan <arun.p.m@linux.intel.com>

SMBIOS version check

As per SMBIOS specification(DSP0134) conformance guidelines, before
parsing the SMBIOS data the system needs to check for anchor string
and SMBIOS version information.

Define E

SMBIOS version check

As per SMBIOS specification(DSP0134) conformance guidelines, before
parsing the SMBIOS data the system needs to check for anchor string
and SMBIOS version information.

Define Entry Point structure and implement SMBIOS version check
support.

Tested:
Verified BMC is able to validate the version information from the
SMBIOS table data which BIOS sends.

Jan 01 00:00:20 intel-obmc smbiosmdrv2app[429]: SMBIOS VERSION - 3.2

Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
Change-Id: I6dfa9eb23f02343a47937747e8e9070b8f0cb227

show more ...


# 5f2d6275 22-Sep-2021 Alex Schendel <alex.schendel@intel.com>

Add FW Version in journalctl log

Adds version logging for BIOS active
version on every AC cycle and BMC reboot.
Log format: VERSION INFO - BIOS - <version info>
Where <version info> is the set of
le

Add FW Version in journalctl log

Adds version logging for BIOS active
version on every AC cycle and BMC reboot.
Log format: VERSION INFO - BIOS - <version info>
Where <version info> is the set of
letters and numbers describing the version.
User can retrieve FW versions by running:
journalctl | grep "VERSION INFO":

Tested:
AC Cycle:
VERSION INFO - BIOS - xxxxxxxx.xxx.xxxx.xxx.xxxxxxxxxx

BMC reboot:
VERSION INFO - BIOS - xxxxxxxx.xxx.xxxx.xxx.xxxxxxxxxx

Change-Id: Ibac6886aa2e1187fca83e36c870a0f887b20e4f6
Signed-off-by: Alex Schendel <alex.schendel@intel.com>

show more ...


# 08e4a6df 23-Aug-2021 Jie Yang <jjy@google.com>

smbios-mdr: Parse PCIE slot tables

System slot tables have SMBIOS table type 9. Parse system slot tables
and select all PCIE slots. PCIE slot inventory DBus objects will have
the xyz.openbmc_project

smbios-mdr: Parse PCIE slot tables

System slot tables have SMBIOS table type 9. Parse system slot tables
and select all PCIE slots. PCIE slot inventory DBus objects will have
the xyz.openbmc_project.Inventory.Item.PCIeSlot interface defined in
phosphor-dbus-interfaces.

Tested:
Tests on a Intel platform. Some DBus command outputs as follows:

busctl introspect xyz.openbmc_project.Smbios.MDR_V2 \
/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3

NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -herboard/p
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - -
.LocationCode property s "PE3" emits-change writable
xyz.openbmc_project.Inventory.Item interface - - -
.Present property b true emits-change writable
.PrettyName property s "" emits-change writable
xyz.openbmc_project.Inventory.Item.PCIeSlot interface - - -
.Generation property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable
.HotPluggable property b false emits-change writable
.Lanes property u 16 emits-change writable
.SlotType property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable

busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \
/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \
xyz.openbmc_project.Inventory.Item.PCIeSlot Generation

s "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Gen5"

busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \
/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \
xyz.openbmc_project.Inventory.Item.PCIeSlot SlotType

s "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.Unknown"

Note that it shows unknown PCIE slot types, as SMBIOS system slot record
does not have the information that a PCIE slot is full-length,
half-length or low-profile.

Signed-off-by: Jie Yang <jjy@google.com>
Change-Id: Ie9179ceb57dea3f659c15939611e873411de7320

show more ...


# 18a5ab91 01-Sep-2020 Zhikui Ren <zhikui.ren@intel.com>

Move downstream package to upstream

Use upstream cpu interface

Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
Change-Id: I490482b212df4b73cbdedaba0bc5fefa229a5489


# 2ca7a0f3 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Fix some build failure issue

Fix some issues which will make build failure.
Also format the code with latest clang-format.

Tested:
Power cycle the system and after BIOS finish post, correct DIMM an

Fix some build failure issue

Fix some issues which will make build failure.
Also format the code with latest clang-format.

Tested:
Power cycle the system and after BIOS finish post, correct DIMM and CPU
information and UUID can show in Redfish.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I5833a89842bc0969829d10fed262cf43d31d8c3f

show more ...


# b4651b9c 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add system dbus service for MDR V2

Add BIOS version and UUID in smbios table and provide dbus
interface for redfish to get these information.

Tested:
DC cycle the system and waiting for BIOS enteri

Add system dbus service for MDR V2

Add BIOS version and UUID in smbios table and provide dbus
interface for redfish to get these information.

Tested:
DC cycle the system and waiting for BIOS entering setup page.
Redfish should be able to show correct UUID.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I0d364f27488d3efa24e4a9dde97086f09e94d2a2

show more ...


# 8c3fab63 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add DIMM dbus service for MDR V2

Add all DIMM information in smbios table and provide dbus
interface for redfish to get DIMM information.

Tested:
DC cycle the system and waiting for BIOS entring se

Add DIMM dbus service for MDR V2

Add all DIMM information in smbios table and provide dbus
interface for redfish to get DIMM information.

Tested:
DC cycle the system and waiting for BIOS entring setup page.
Correct DIMM information should show in Redfish.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I8c2678c5d40f4d1fde81292b21aa94e80b0ab586

show more ...


# 43c6a1da 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add CPU dbus service for MDR V2

Add all CPU information in smbios table and provide dbus
interface for redfish to get CPU information.

Tested:
DC cycle system and waiting for BIOS entering setup pa

Add CPU dbus service for MDR V2

Add all CPU information in smbios table and provide dbus
interface for redfish to get CPU information.

Tested:
DC cycle system and waiting for BIOS entering setup page.
Check CPU information in Redfish, Redfish should show correct CPU
information.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I8e6f803c516267de094a01fb1b1fa7d2420d2474

show more ...


# ec634255 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add synchronization function for MDR V2

Add synchronization function to sync smbios dir data with BMC
through dbus interface. Also add function to read smbios table
from flash file to memory.

Signe

Add synchronization function for MDR V2

Add synchronization function to sync smbios dir data with BMC
through dbus interface. Also add function to read smbios table
from flash file to memory.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I14a6c958531463ed1c6e28811f0829fdcad310de

show more ...


# eecaf820 18-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add dbus service to support MDR V2 ipmi command

Add send and get DataInfo function for MDR V2 ipmi
command store and get data through dbus interface.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux

Add dbus service to support MDR V2 ipmi command

Add send and get DataInfo function for MDR V2 ipmi
command store and get data through dbus interface.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: Ic069e4670e69de1fb92b4123da6be6588ac45244

show more ...


# 3e3269ad 02-Dec-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Add some header files of MDR

To start the work of ManagedDataRegion, add some header files to
the repo.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I9dfad809d47f37f04ca6b8

Add some header files of MDR

To start the work of ManagedDataRegion, add some header files to
the repo.

Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I9dfad809d47f37f04ca6b8a7ca2e809cae79c012

show more ...