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