703a1856 | 11-Nov-2020 |
Jonathan Doman <jonathan.doman@intel.com> |
Add support for dynamic SST configuration change
- Implement the CurrentOperatingConfig getters to dynamically read configuration via PECI. The approach is to read the value from PECI for each D
Add support for dynamic SST configuration change
- Implement the CurrentOperatingConfig getters to dynamically read configuration via PECI. The approach is to read the value from PECI for each D-Bus read. When the host is off, return "default" values, and when the host is on but the read fails, return the last read (cached) values. - Implement the CurrentOperatingConfig setters to modify configuration via PECI.
Tested: - Change SST-PP profile and SST-BF flag via D-Bus properties, and confirmed that host-side Linux tool shows changes. - Change while host off and confirm it's rejected. - Change while host booting and confirm it's rejected. - Read configuration while host off and confirm last known values are returned. - Read configuration while host booting and confirm actual values are returned. - Change on ICX after host booted and confirm it's rejected.
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com> Change-Id: Ie6eed8ab23bff289e01d6d125402a5509d3a9110
show more ...
|
ee03a9b5 | 11-Nov-2020 |
Jonathan Doman <jonathan.doman@intel.com> |
Add utility code to monitor host state
For SST (and possibly other PECI users), we need to know when CPU is not available (to avoid using PECI), and when BIOS is booting (to avoid race condition on
Add utility code to monitor host state
For SST (and possibly other PECI users), we need to know when CPU is not available (to avoid using PECI), and when BIOS is booting (to avoid race condition on configuring SST).
Subscribes to CurrentHostState to determine S5/S0 state, and also CoreBiosDone to determine if BIOS is done.
Tested: as part of child change Ie6eed8ab23bff289e01d6d125402a5509d3a9110
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com> Change-Id: I6a2ce21193d91a7efe53f7e48bcd57e685c903ff
show more ...
|
6d3ad586 | 11-Sep-2020 |
Zhikui Ren <zhikui.ren@intel.com> |
Get i2c addresses from configuration files.
Different platforms have different bus topology. Use the peci address and i2c address specified in json file to read data from cpu.
Tested: Update basebo
Get i2c addresses from configuration files.
Different platforms have different bus topology. Use the peci address and i2c address specified in json file to read data from cpu.
Tested: Update baseboard json file: { "Address": "0x30", "Bus": 0, "CpuID": 1, "Name": "CPU 1", "PresenceGpio": [ { "Name": "CPU1_PRESENCE", "Polarity": "Low" } ], "PiromI2cBus": 13, "PiromI2cAddress": "0x50", "Type": "XeonCPU" } Verified that correct bus addresses are used.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: Ib133958af8349b43c2f8f73c32d1aaa0d5bf52eb
show more ...
|
94c94bfb | 06-Oct-2020 |
Jonathan Doman <jonathan.doman@intel.com> |
cpuinfoapp: Add SST discovery feature
Retrieve Intel Speed Select Technology (SST) configuration values for all CPUs via PECI (OS-PCode mailbox). Each CPU may have up to three Performance Profiles (
cpuinfoapp: Add SST discovery feature
Retrieve Intel Speed Select Technology (SST) configuration values for all CPUs via PECI (OS-PCode mailbox). Each CPU may have up to three Performance Profiles (PP), each with accompanying Base Frequency (BF) information.
Discovery is started immediately, but if no CPUs are found or any unexpected PECI error is encountered, discovery is aborted and scheduled for periodic retries until complete.
The profile data is published on D-Bus using two predefined interfaces: - xyz.openbmc_project.Control.Processor.CurrentOperationConfig, which is implemented on each "cpu" object in the inventory, and contains mutable properties for OOB configuration (modifiying properties not supported yet). - xyz.openbmc_project.Inventory.Item.Cpu.OperationConfig, which is implemented on separate "config" objects and contains the readonly properties for each performance profile.
Tested: - Profiled performance of PECI operations via code instrumentation (takes ~2 min per CPU on ast2500 during BMC boot, ~2 sec during BMC idle). - Validated Redfish output against Linux driver using included python tool. - Injected PECI failures in code to test error handling, and tested with Linux OS idling on host to make sure WOP is working.
Change-Id: I0d8ae79655dfd2880cf3bae6abe600597740df7c Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
ad0e7658 | 01-Dec-2020 |
Chen Yugang <yugang.chen@linux.intel.com> |
fix for code static analyze
It's fix for issue reported by code statuc analyze, the index of array should be less than maxDirEntries, being equal to maxDirEntries should also be illegal.
Signed-off
fix for code static analyze
It's fix for issue reported by code statuc analyze, the index of array should be less than maxDirEntries, being equal to maxDirEntries should also be illegal.
Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com> Change-Id: Ib83b06262bb33cf6c76b919ce0d6c2fa34a82366
show more ...
|
26de0d73 | 18-Nov-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Fix crash issue due to non-print char
When smbios table file is broken, the parsed string type propery like version may contain non-print char, which causes smbios service crash as below:
Nov 18 17
Fix crash issue due to non-print char
When smbios table file is broken, the parsed string type propery like version may contain non-print char, which causes smbios service crash as below:
Nov 18 17:11:53 intel-obmc dbus-broker[180]: Peer :1.175 is being disconnected as it sent a message with an invalid body. Nov 18 17:11:53 intel-obmc phosphor-mapper[298]: Introspect call failed with error: generic:113, No route to host on process: xyz.openbmc_project.Smbios.MDR_V2 path: / Nov 18 17:11:53 intel-obmc smbiosmdrv2app[644]: terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' Nov 18 17:11:53 intel-obmc smbiosmdrv2app[644]: what(): sd_bus_process discard: org.freedesktop.DBus.Error.Disconnected: Connection reset by peer Nov 18 17:11:53 intel-obmc systemd[1]: Created slice system-systemd\x2dcoredump.slice. Nov 18 17:11:54 intel-obmc systemd[1]: Started Process Core Dump (PID 645/UID 0). Nov 18 17:11:57 intel-obmc systemd[1]: smbios-mdrv2.service: Main process exited, code=dumped, status=6/ABRT Nov 18 17:11:57 intel-obmc systemd[1]: smbios-mdrv2.service: Failed with result 'core-dump'.
Tested: When version string contain non-print char that means smbios table file is broken, smbios bios service will print error and clear the broken. The smbios table file will be re-generated again at the next DC cycle.
Change-Id: I001c829b22fc3afba4e863d595f943d0954824e3 Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|
a4c0870f | 18-Nov-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Revert "Replace throw with log error message."
This reverts commit 9c362668c24153066f746393f12f3869e095d523.
Keep throw error message, just fix the return value.
Change-Id: Ie084aa57d98e0afc30c6df
Revert "Replace throw with log error message."
This reverts commit 9c362668c24153066f746393f12f3869e095d523.
Keep throw error message, just fix the return value.
Change-Id: Ie084aa57d98e0afc30c6df76b9c87bb9a436749b Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|
9c362668 | 20-Oct-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Replace throw with log error message.
Replace throw with log error message and return. When run into error, log error message but not crash smbios service as throw did.
Tested: smbiosmdrv2app is wo
Replace throw with log error message.
Replace throw with log error message and return. When run into error, log error message but not crash smbios service as throw did.
Tested: smbiosmdrv2app is working well.
Change-Id: Ia2d40997987a0c84a613568d65f93006043459d0 Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|
a43eec82 | 06-Oct-2020 |
Jonathan Doman <jonathan.doman@intel.com> |
cpuinfoapp: Fix SdBusError exception in match rule
In the match rule looking for new interfaces on cpu objects, the first thing pulled out of the message is an object_path, not a string. Trying to r
cpuinfoapp: Fix SdBusError exception in match rule
In the match rule looking for new interfaces on cpu objects, the first thing pulled out of the message is an object_path, not a string. Trying to read a string first throws an exception caused by "sd_bus_message_read_basic string: System.Error.ENXIO"
Tested: Added my own interface to the cpu object from within cpuinfoapp and confirmed that the exception is no longer thrown.
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com> Change-Id: I72c226c10975159c8505f8da0cac9a7774ecb9e4
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 ...
|
608e52d1 | 18-Dec-2019 |
Cheng C Yang <cheng.c.yang@linux.intel.com> |
Add dbus service to support MDR V2 - part 2
Add send and get directory function for MDR V2 ipmi command store and get data through dbus interface.
Signed-off-by: Cheng C Yang <cheng.c.yang@linux.in
Add dbus service to support MDR V2 - part 2
Add send and get directory 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: I8c0718e20911e329086f29ad1cc227d1a6a1b91b
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 ...
|