History log of /openbmc/smbios-mdr/ (Results 1 – 25 of 123)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c13c875422-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Provide wrap file for boost

Currently local build on the system without boost can fail with
the following message:
"""
meson.build: ERROR: Dependency "boost" not found, tried system
"""
Provi

meson: Provide wrap file for boost

Currently local build on the system without boost can fail with
the following message:
"""
meson.build: ERROR: Dependency "boost" not found, tried system
"""
Provide "boost.wrap" file to fix the issue.

Change-Id: I47af3febe4fc95e730d37305ce7d5c9230fb8a72
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...

b86e4f1901-Apr-2024 Jason M. Bills <jason.m.bills@intel.com>

Use the new CPUModel enum names from libpeci

libpeci was updated with new CPUModel names, so update uses here to
match.

Change-Id: I60db4ea624bdb8defe3d937cc48fb798e5f49207
Signed-off-by: Jason M.

Use the new CPUModel enum names from libpeci

libpeci was updated with new CPUModel names, so update uses here to
match.

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

show more ...

4e1cf09908-Mar-2024 Jonathan Doman <jonathan.doman@intel.com>

cpuinfoapp: Make PECI features optional

Add a feature flag `cpuinfo-peci` to optionally disable the features in
cpuinfoapp that rely on PECI (PPIN, SST), to support configurations that
want I2C-base

cpuinfoapp: Make PECI features optional

Add a feature flag `cpuinfo-peci` to optionally disable the features in
cpuinfoapp that rely on PECI (PPIN, SST), to support configurations that
want I2C-based SSPEC detection but don't want to use libpeci.

Tested: Disabled `cpuinfo-peci` and verified SSPEC was still written
into the Model property.

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

show more ...

abdccd3a26-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 ...

06eb630015-Feb-2024 Josh Lehan <krellan@google.com>

Enable support for SMBIOS version 3.4

As the currently supported 3.5 standard is a superset of 3.4, according
to a glance at the https://www.dmtf.org/standards/smbios spec, enabling
support for 3.4

Enable support for SMBIOS version 3.4

As the currently supported 3.5 standard is a superset of 3.4, according
to a glance at the https://www.dmtf.org/standards/smbios spec, enabling
support for 3.4 should be as straightforward as simply adding it to
this allowlist of supported versions.

This change is inspired by the proposed
https://github.com/openbmc/smbios-mdr/issues/6 which suggests a similar
change for 3.1 version. The only reason I am not adding 3.1 at the same
time here, is that I only have a 3.4 SMBIOS in the machine I am testing
now.

Tested: The SMBIOS from my host is no longer needlessly rejected for
being of 3.4 version.

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

show more ...

0f7704a320-Feb-2024 Konda Reddy Kachana <kkachana@google.com>

Add effectiveFamily, effectiveModel and Step to AMD Zen family

Reference:
https://kib.kiev.ua/x86docs/AMD/AMD-CPUID-Spec/25481-r2.28.pdf

Change-Id: Ic4df2ab047a561e565ea3c72321d3e0dc42067e4
Signed-

Add effectiveFamily, effectiveModel and Step to AMD Zen family

Reference:
https://kib.kiev.ua/x86docs/AMD/AMD-CPUID-Spec/25481-r2.28.pdf

Change-Id: Ic4df2ab047a561e565ea3c72321d3e0dc42067e4
Signed-off-by: Konda Reddy Kachana <kkachana@google.com>

show more ...

d8dd120808-Aug-2023 Yaswanth Reddy M <yaswanthx.reddy.munukuru@intel.com>

Increase timeout to 2-sec for syncing SMBIOS data

MDRv2 (Send Data Set Done) command, sent from bios to BMC
is taking more time in some cases.
The timeout should be 2 sec instead of 0.02 sec.

Teste

Increase timeout to 2-sec for syncing SMBIOS data

MDRv2 (Send Data Set Done) command, sent from bios to BMC
is taking more time in some cases.
The timeout should be 2 sec instead of 0.02 sec.

Tested:
While sending mdr2 command from bios to BMC timeout is not seen.

Change-Id: I6f8a6109ea20f1ca1a1b00d497bd362934f14290
Signed-off-by: Yaswanth Reddy M <yaswanthx.reddy.munukuru@intel.com>

show more ...

c6d87a5c08-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 ...

bff853e708-Feb-2024 Josh Lehan <krellan@google.com>

gitignore: Underline nlohmann_json

The nlohmann_json external package uses an underline, not a dash.

Tested: The `git status` listing now hides it, as intended.

Change-Id: Iae5b308fcb1e269b955170e

gitignore: Underline nlohmann_json

The nlohmann_json external package uses an underline, not a dash.

Tested: The `git status` listing now hides it, as intended.

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

show more ...

b5d7222f11-Jan-2024 Jonathan Doman <jonathan.doman@intel.com>

sst: Don't always wake idle CPU

Some parts of SST are important (initial discovery, appliedConfig
change) and should use wake-on-PECI to ensure success even if the CPU is
in an idle PkgC state. Othe

sst: Don't always wake idle CPU

Some parts of SST are important (initial discovery, appliedConfig
change) and should use wake-on-PECI to ensure success even if the CPU is
in an idle PkgC state. Other parts are not important enough to justify
increasing the CPU power draw. Add a WakePolicy parameter to the
SSTInterface infrastructure to use a different policy in different
contexts.

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

show more ...

117671ed07-Dec-2023 Jonathan Doman <jonathan.doman@intel.com>

Catch PECIErrors from supportsControl()

In future backend where supportsControl() requires a PECI call, make
sure any calls are inside a try/catch so potential errors are handled.

Change-Id: Ib3503

Catch PECIErrors from supportsControl()

In future backend where supportsControl() requires a PECI call, make
sure any calls are inside a try/catch so potential errors are handled.

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

show more ...

badedf1020-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 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-17 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: Ib52f953657f0c75fcf0ea191a7eadfbd8b94c917
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

027277a411-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 ...

e05a542323-Aug-2023 David Wang <davidwang@quantatw.com>

Add CPU functional property

ProcessorSummary in bmcweb always shows disable. Because bmcweb depends
on `xyz.openbmc_project.State.Decorator.OperationalStatus` interface
and `Functional` property to

Add CPU functional property

ProcessorSummary in bmcweb always shows disable. Because bmcweb depends
on `xyz.openbmc_project.State.Decorator.OperationalStatus` interface
and `Functional` property to return CPU functional state.
In this change, include the interface into smbios-mdr and re-add the
property `Functional` removed by smbios-mdr/+/36177

Tested:
```
GET /redfish/v1/Systems/system/
"ProcessorSummary": {
"CoreCount": 112,
"Count": 2,
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
}

busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
xyz.openbmc_project.State.Decorator.OperationalStatus interface - - -
.Functional property b true emits-change writable
```

Change-Id: I1b4d239ce02d2634a54afb98e4b5e72923fda4fb
Signed-off-by: David Wang <davidwang@quantatw.com>

show more ...

f079e83619-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 ...

6076d2c319-Sep-2023 Josh Lehan <krellan@google.com>

Entered remaining CPU family text strings

The table of CPU family text strings was incomplete, missing many
entries, of processors both historical and bleeding-edge. Added the
missing entries, as pe

Entered remaining CPU family text strings

The table of CPU family text strings was incomplete, missing many
entries, of processors both historical and bleeding-edge. Added the
missing entries, as per Table 23 of DSP0134 3.7.0 spec.

Following the consistent format of whatever spelling and capitalization
the entry had in the spec, but with the dropping of special marketing
characters like (C), (R), (TM).

Tested: My CPU no longer shows up as "Unknown Processor Family".

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

show more ...

e513c9c314-Sep-2023 Jonathan Doman <jonathan.doman@intel.com>

sst: Initialize OsMailboxCommand status

Static analyzer raised an issue on this unitialized member. It's not an
issue in current usage of the struct, but in theory the success()
function would have

sst: Initialize OsMailboxCommand status

Static analyzer raised an issue on this unitialized member. It's not an
issue in current usage of the struct, but in theory the success()
function would have UB for OsMailboxCommands created with a Throw error
policy.

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

show more ...

f59051f108-Sep-2023 Josh Lehan <krellan@google.com>

Remove obsolete CMakeLists.txt file

Since the build is now being performed by Meson, remove the obsolete
CMakeLists.txt file.

Change-Id: I9c64ecd7c34899dcdba89ad6d73f608e228e2abc
Signed-off-by: Jos

Remove obsolete CMakeLists.txt file

Since the build is now being performed by Meson, remove the obsolete
CMakeLists.txt file.

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

show more ...


0e5b658f01-Sep-2023 Josh Lehan <krellan@google.com>

gitignore: Ignore autogenerated Meson wrap files

Ignoring each autogenerated wrap file individually, to avoid
inadvertently ignoring manually created wrap files.

Although tempting, a general wildca

gitignore: Ignore autogenerated Meson wrap files

Ignoring each autogenerated wrap file individually, to avoid
inadvertently ignoring manually created wrap files.

Although tempting, a general wildcard would not make sense here,
because, in the subprojects directory, there are also some manually
created wrap files mixed in amongst the autogenerated wrap files. (I
wonder why Meson chose to do it this way, since it goes completely
against the overall design of Meson wanting to keep the build dir
separate from the source dir.)

Tested: The directory "git status" now looks clean again.

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

show more ...

21cb0e8716-Aug-2023 Michael Shen <gpgpgp@google.com>

Change MemoryInfo.attributes type to uint8_t

PDI changed the type of `attributes` from uint8_t to size_t.
However the SMBIOS spec only reserved 1 byte for this field.
So we need to keep `attribute`

Change MemoryInfo.attributes type to uint8_t

PDI changed the type of `attributes` from uint8_t to size_t.
However the SMBIOS spec only reserved 1 byte for this field.
So we need to keep `attribute` in 1 byte otherwise the field after
`attribute` will be shifted.

Tested:
Before
.MemorySizeInKB property u 1258291200

After
.MemorySizeInKB property u 33554432

Change-Id: I1e2bfa78d4259c7b86a471ed880f2c5ca923bc66
Signed-off-by: Michael Shen <gpgpgp@google.com>

show more ...

366546cf24-Jul-2023 Jonathan Doman <jonathan.doman@intel.com>

Add meson build support

Tested:
1. Project builds with each meson option turned on or off.
2. Unit tests build and pass.
3. On platform FW built with updated recipe
(I23fabdf57b8d6ac35c3aea0ece66

Add meson build support

Tested:
1. Project builds with each meson option turned on or off.
2. Unit tests build and pass.
3. On platform FW built with updated recipe
(I23fabdf57b8d6ac35c3aea0ece667be118de4b61):
a. SMBIOS blob store library is properly picked up by IPMI blob
store manager and handles OEM IPMI commands.
b. smbiosmdrv2app is running and populates objects on D-Bus.
c. cpuinfoapp is running and populates objects on D-Bus.

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

show more ...

85aaf53b28-Jul-2023 Jonathan Doman <jonathan.doman@intel.com>

Add README.md

Add a high level description of this repository.

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

f2d8bb4826-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 ...

410bbc2712-Jul-2023 Joseph Fu <joseph.fu@quantatw.com>

Populate MemoryTotalWidth property

The "MemoryTotalWidth" property did not display correct information
from the smbios file. Add function to transfer "totalWidth" type and
return data in sdbusplus f

Populate MemoryTotalWidth property

The "MemoryTotalWidth" property did not display correct information
from the smbios file. Add function to transfer "totalWidth" type and
return data in sdbusplus format.

Tested:
Before
```
root@qbmc:root@qbmc:~# busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.Inventory.Item.Dimm
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.AllowedSpeedsMT property aq 0 emits-change writable
.CASLatencies property q 0 emits-change writable
.ECC property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.FormFactor property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MaxMemorySpeedInMhz property q 4800 emits-change writable
.MemoryAttributes property y 2 emits-change writable
.MemoryConfiguredSpeedInMhz property q 4800 emits-change writable
.MemoryDataWidth property q 64 emits-change writable
.MemoryDeviceLocator property s "DIMM0" emits-change writable
.MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemorySizeInKB property t 33554432 emits-change writable
.MemoryTotalWidth property q 0 emits-change writable
.MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemoryTypeDetail property s "SynchronousUnbuffered" emits-change writable
.RevisionCode property q 0 emits-change writable
```
After patching, MemoryTotalWidth property get correct value.
```
root@qbmc:~# busctl introspect xyz.openbmc_project.Smbios.MDR_V2 /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.Inventory.Item.Dimm
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.AllowedSpeedsMT property aq 0 emits-change writable
.CASLatencies property q 0 emits-change writable
.ECC property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.FormFactor property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MaxMemorySpeedInMhz property q 4800 emits-change writable
.MemoryAttributes property y 2 emits-change writable
.MemoryConfiguredSpeedInMhz property q 4800 emits-change writable
.MemoryDataWidth property q 64 emits-change writable
.MemoryDeviceLocator property s "DIMM0" emits-change writable
.MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemorySizeInKB property t 33554432 emits-change writable
.MemoryTotalWidth property q 72 emits-change writable
.MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemoryTypeDetail property s "SynchronousUnbuffered" emits-change writable
.RevisionCode property q 0 emits-change writable
```

Change-Id: I355ef057d7d28e4507d7c91eb45ab2453ed1923e
Signed-off-by: Joseph Fu <joseph.fu@quantatw.com>

show more ...

a1ff244515-Jun-2023 Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>

Populate Memory attributes

Add support to populate MemoryMedia, Slot and Socket attribute values
to dbus attributes.

Tested:
Memory attributes MemoryMedia,Slot and Socket are populated in dbus
thro

Populate Memory attributes

Add support to populate MemoryMedia, Slot and Socket attribute values
to dbus attributes.

Tested:
Memory attributes MemoryMedia,Slot and Socket are populated in dbus
through busctl command
Command:
busctl introspect xyz.openbmc_project.Smbios.MDR_V2
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0
Response:
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
....

xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - -
.LocationCode property s "BANK 0 CPU0_DIMM_A" 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.Dimm interface - - -

.MemoryAttributes property u 8388610 emits-change writable
.MemoryConfiguredSpeedInMhz property q 19460 emits-change writable
.MemoryDataWidth property q 64 emits-change writable
.MemoryDeviceLocator property s "BANK 0 CPU0_DIMM_A" emits-change writable
.MemoryMedia property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemorySizeInKB property u 1468006400 emits-change writable
.MemoryTotalWidth property q 0 emits-change writable
.MemoryType property s "xyz.openbmc_project.Inventory.Item.D... emits-change writable
.MemoryTypeDetail property s "SynchronousRegistered" emits-change writable
.RevisionCode property q 0 emits-change writable
xyz.openbmc_project.Inventory.Item.Dimm.MemoryLocation interface - - -
.Channel property y 0 emits-change writable
.MemoryController property y 0 emits-change writable
.Slot property y 65 emits-change writable
.Socket property y 1 emits-change writable
.....

Signed-off-by: poram srinivasa rao <poramx.srinivasa.rao@intel.com>
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: Iabc2a58642167344711550b669ed4f207fb39d45

show more ...

12345