95aa4440 | 08-Apr-2024 |
Rajaganesh Rathinasabapathi <Rajaganesh.Rathinasabapathi@amd.com> |
Change Aspeed PCC device name validation
Latest Aspeed PCC driver adds dual node support. Aspeed PCC devices are named as "aspeed-lpc-pcc<ID>".
Change device name string check to substring check.
Change Aspeed PCC device name validation
Latest Aspeed PCC driver adds dual node support. Aspeed PCC devices are named as "aspeed-lpc-pcc<ID>".
Change device name string check to substring check.
Tested on AMD CRB system.
Change-Id: I486471bc28c2d6cd6fdcf5e7a115ba455f71003e Signed-off-by: Rajaganesh Rathinasabapathi <Rajaganesh.Rathinasabapathi@amd.com>
show more ...
|
72d55072 | 05-Dec-2023 |
cchoux <cosmo.chou@quantatw.com> |
Add Aspeed PCC driver support
Add support for Aspeed Post Code Capture driver.
In order to fetch post code from Aspeed PCC driver, please set `snoop-device` and `post-code-bytes` as below. - snoop-
Add Aspeed PCC driver support
Add support for Aspeed Post Code Capture driver.
In order to fetch post code from Aspeed PCC driver, please set `snoop-device` and `post-code-bytes` as below. - snoop-device = aspeed-lpc-pcc - post-code-bytes = 8
Tested on Harma system.
Change-Id: I5806362d2a54d1ed7b7f821d512f79cbc3effd38 Signed-off-by: Cosmo Chou <cosmo.chou@quantatw.com> Signed-off-by: Potin Lai <potin.lai@quantatw.com>
show more ...
|
676fd83d | 29-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer retur
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`.
Change-Id: I1fb38a8715c8dbec883beaadd8519472de452e43 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
bebbda9b | 20-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: I9289bdced9919b505edbd70a0d1c41bc6abdee1e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
de7a6dd7 | 03-May-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Separate IPMI and legacy snoop code to different files
snoopd contains two implementations that have very little in common. Separate the IPMI code (functions and global objects) into its own file to
Separate IPMI and legacy snoop code to different files
snoopd contains two implementations that have very little in common. Separate the IPMI code (functions and global objects) into its own file to reduce #ifdefs and make it easier to understand. Better separate the cmdline options and help text to only be used in the applicable build configuration.
Tested: Built with -Dsnoop=enabled and verified only -h option is accepted. Built without -Dsnoop and verified -d/-r/-b options are accepted.
Change-Id: I7f14469fafd9f050f6b9f356882ce9e26fb7f206 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
0522592f | 15-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
meson_options.txt: Support for reading options from meson.options
Support has been added for reading options from meson.options instead of meson_options.txt[1]. These are equivalent, but not using t
meson_options.txt: Support for reading options from meson.options
Support has been added for reading options from meson.options instead of meson_options.txt[1]. These are equivalent, but not using the .txt extension for a build file has a few advantages, chief among them many tools and text editors expect a file with the .txt extension to be plain text files, not build scripts.
[1] https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: If8cb9035eae5ef9008c0d13488817f2143920f02
show more ...
|
42c2b568 | 12-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Iba60434850d3f636a3a1a
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Iba60434850d3f636a3a1a500fda8252b3b54e3a6 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0ea7357e | 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: I509c8567baedea7c86787f2e880900da13ebfc9f Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
fd2430d8 | 03-May-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Put rate limiting options behind #ifdef
Fixes compile issue when ENABLE_IPMI_SNOOP is set (rateLimit var set but not used).
Also add usage help text for --rate-limit option.
Tested: Compiles with
Put rate limiting options behind #ifdef
Fixes compile issue when ENABLE_IPMI_SNOOP is set (rateLimit var set but not used).
Also add usage help text for --rate-limit option.
Tested: Compiles with IPMI snoop feature enabled and disabled.
Change-Id: I13a7f6c4633577d24124667a428f047b657c0da1 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
38b0946c | 26-Apr-2023 |
Jonathan Doman <jonathan.doman@intel.com> |
Add rate limiting
A host CPU can write POST codes much faster than the BMC can handle them, considering all the D-Bus/IPC work required. Ideally `dbus-broker` would apply backpressure when it gets f
Add rate limiting
A host CPU can write POST codes much faster than the BMC can handle them, considering all the D-Bus/IPC work required. Ideally `dbus-broker` would apply backpressure when it gets full of unhandled signals, but its quota mechanism uses a simple per-user accounting that doesn't differentiate between all the connections from OpenBMC daemons running as root. So there is no way to configure it to prevent just `snoopd` from sending too many messages - instead it will disconnect arbitrary services leading to mass chaos.
So without a D-Bus policy mechanism to prevent excess memory usage, there are 2 different failure cases during a POST code storm: 1. `snoopd` continues to send messages faster than `post-code-manager` can process them, leading to `dbus-broker` consuming all the system memory. 2. `snoopd` fills up the D-Bus socket buffer. Once sd-bus fails to send a message across the socket, it starts queuing messages internally leading to `snoopd` consuming all the system memory. This only happens because we get stuck in the `snoopd` read loop during a POST code storm, and we don't process other events that would allow the write queue to drain.
As a workaround, introduce configurable rate limiting to `snoopd`. A new meson option 'rate-limit' sets the corresponding '--rate-limit' command-line parameter. These options take an integer value representing the maximum number of POST codes to process per second. The default meson option value is 1000, and the value of 0 will disable rate limiting.
Tested: Ran the POST code stress on host for 30 minutes: ``` [root@sut ~]# stress-ng --ioport 2 ```
Watched BMC process memory usage and CPU usage in `top`, verified that `post-code-manager`, `dbus-broker`, and `snoopd` each used less than 10% CPU and 2% memory on AST2600 with 512 MiB of DRAM.
Change-Id: If03a01e0cd62366d188109bb4dff52958346e1db Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
65d1753c | 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: I3f360e25af1da4b026e70cce65480641ebcac263 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
30751ec2 | 21-Nov-2022 |
William A. Kennington III <wak@google.com> |
main: Leverage sdeventplus common loop
This makes the memory leak workaround common as part of sdeventplus. Any changes to that functionality can now be shared.
Change-Id: Iad83a2a20599e07c5d937b33
main: Leverage sdeventplus common loop
This makes the memory leak workaround common as part of sdeventplus. Any changes to that functionality can now be shared.
Change-Id: Iad83a2a20599e07c5d937b334a765cc365b089c5 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
b987663f | 08-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
prettier: re-format
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML files to have consistent formatting for these file types. Re-run the formatter on the whole repository.
Change-Id: I5bb4ae5dd6d606bce6dbfe67efea1efcf6abda75 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
56127ef8 | 12-Oct-2022 |
Sunita Kumari <sunitax.kumari@intel.com> |
[Fix] lpcsnoop service exit unsuccessfully
[Issue] when BMC code reset, the lpcsnoop service exit unsuccessfully.
[Root Cause] return exit code 1 when caught SIGTERM signal.
https://github.com/ope
[Fix] lpcsnoop service exit unsuccessfully
[Issue] when BMC code reset, the lpcsnoop service exit unsuccessfully.
[Root Cause] return exit code 1 when caught SIGTERM signal.
https://github.com/openbmc/phosphor-host-postd/blob/master/main.cpp#L368 https://github.com/openbmc/sdeventplus/blob/master/src/sdeventplus/event.hpp#L115
Tested: Service exit successfully
Signed-off-by: Sunita Kumari <sunitax.kumari@intel.com> Change-Id: I47cc6d31742f1595231fe22e345ea955ad41c377
show more ...
|
aee65401 | 09-Aug-2022 |
Kumar Thangavel <thangavel.k@hcl.com> |
Disable Debug card display for postcodes if no GPIO's.
Some platforms does not have GPIO pins for debug card display. It will throw error and will not proceed furthur process. In this case, postcode
Disable Debug card display for postcodes if no GPIO's.
Some platforms does not have GPIO pins for debug card display. It will throw error and will not proceed furthur process. In this case, postcode display and selector position related code can be skipped to disabled the 7seg debug card display alone for postcodes.
It will not affect other process like postcode display in dbus, etc.
TESTED : Verified multi host postcodes are displaying in the dbus for Facebook YosemiteV35 and YosemiteV2.
Signed-off-by: Kumar Thangavel <thangavel.k@hcl.com> Change-Id: Iaa0aeec394523e1d62037650439ac60dc2488a77
show more ...
|
723b97f1 | 04-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
MAINTAINERS: remove file
The MAINTAINERS file is deprecated in favor of OWNERS.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3473ce38f7d0573086b0963dd284a6213a68bbf5
|
aebf87cc | 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: Ie85ba085aedffd41bcb6310ee57adb86cb68273d
show more ...
|
803e8484 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have the correct field.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1f1d541c8d28fa2ebbfd3bd7d87a97356b061172
show more ...
|
5efea6a3 | 11-Jul-2022 |
Willy Tu <wltu@google.com> |
enable 7seg by default for CI
Fix a build issue with 7seg.cpp
Change-Id: Iaeab1fd47612742c3ca1783fcd357769c802c7eb Signed-off-by: Willy Tu <wltu@google.com> |
f8d0e0bf | 11-May-2022 |
wukaihua-fii-na <eason.kh.wu@fii-na.com> |
7seg: modify the file operation
Open the file descriptor in main() and close the file descriptor only when the program is about to terminate. Closing the file descriptor at DisplayDbusValue() in 7se
7seg: modify the file operation
Open the file descriptor in main() and close the file descriptor only when the program is about to terminate. Closing the file descriptor at DisplayDbusValue() in 7seg.cpp will make the program using poll() to receive POST codes always return the POLLHUP and the poll() is not actually blocked, which makes the program always preempt the CPU. This modification prevents the user space program recieving POST codes via poll() from preempting the CPU too much time.
Tested: using `top` to inspect whether the program receiving POST codes from 7seg.cpp does not preempt the CPU resources.
Signed-off-by: wukaihua-fii-na <eason.kh.wu@fii-na.com> Change-Id: I0824727d8cb207c1622da12ac833a089a676661e
show more ...
|
18119acc | 16-Jun-2022 |
Patrick Williams <patrick@stwcx.xyz> |
switch experimental::fs to std::fs
std::filesystem was added to C++17 and is well supported now. Remove the older std::experimental::filesystem usage.
Signed-off-by: Patrick Williams <patrick@stwc
switch experimental::fs to std::fs
std::filesystem was added to C++17 and is well supported now. Remove the older std::experimental::filesystem usage.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8bc4db47b259906f91ea51321c4e9ee1c34ca31f
show more ...
|
c869aef3 | 07-Jun-2022 |
Willy Tu <wltu@google.com> |
Add workaround for sdevent OOM error
Process all outstanding bus events before the loop to make sure we don't hit OOM errors.
Change-Id: I52e0a018d9c89dc0c5fdfba441d0ec3d5800fdcf Signed-off-by: Wil
Add workaround for sdevent OOM error
Process all outstanding bus events before the loop to make sure we don't hit OOM errors.
Change-Id: I52e0a018d9c89dc0c5fdfba441d0ec3d5800fdcf Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
d309da4e | 20-May-2022 |
Kumar Thangavel <thangavel.k@hcl.com> |
Added default value for systemd_target meson option.
Added default value as multi-user.target for systemd_target meson option in phosphor-host-postd. So, need not to pass value from meta-phosphor fo
Added default value for systemd_target meson option.
Added default value as multi-user.target for systemd_target meson option in phosphor-host-postd. So, need not to pass value from meta-phosphor for this meson option.
TESTED : Built Facebook YosemiteV2 images and loaded on the target hardware. Verified all four host postcodes are displayed.
Signed-off-by: Kumar Thangavel <thangavel.k@hcl.com> Change-Id: I4878594b0b4876e99405a51af5fac3b2082b53ae
show more ...
|
4f26b3ee | 11-May-2022 |
Harvey.Wu <Harvey.Wu@quantatw.com> |
re-register LPC-Snoop into event loop
- According to commit 2a744b2d7, LPC-Snoop needs to be registered into event loop, so that it can record post code. But in commit 0269eaf36, the reporterSou
re-register LPC-Snoop into event loop
- According to commit 2a744b2d7, LPC-Snoop needs to be registered into event loop, so that it can record post code. But in commit 0269eaf36, the reporterSource was became a local variable in IF-ELSE which cause LPC-Snoop didn't be register into event loop.
refs: https://github.com/openbmc/phosphor-host-postd/commit/2a744b2d70ce9de8519a7c716da5009cb049db17 https://github.com/openbmc/phosphor-host-postd/commit/0269eaf36dcb486b6ac92326fa59f61c267ce7f8
TEST: root@gsz:/lib/systemd/system# journalctl -u lpcsnoop.service Jan 01 00:00:24 gsz systemd[1]: Started LPC Snoop Daemon. Jan 01 00:01:05 gsz snoopd[288]: Code: 0x1 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x2 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x2 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x3 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x3 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x4 Jan 01 00:01:05 gsz snoopd[288]: Code: 0x4 Jan 01 00:01:07 gsz snoopd[288]: Code: 0x5 Jan 01 00:01:07 gsz snoopd[288]: Code: 0x6 Jan 01 00:01:08 gsz snoopd[288]: Code: 0x5 Jan 01 00:01:11 gsz snoopd[288]: Code: 0x0 Jan 01 00:01:11 gsz snoopd[288]: Code: 0x2 Jan 01 00:01:11 gsz snoopd[288]: Code: 0x7f Jan 01 00:01:17 gsz snoopd[288]: Code: 0x48 Jan 01 00:01:17 gsz snoopd[288]: Code: 0xe Jan 01 00:01:17 gsz snoopd[288]: Code: 0x49 Jan 01 00:01:17 gsz snoopd[288]: Code: 0x4a
Signed-off-by: Harvey.Wu <Harvey.Wu@quantatw.com> Change-Id: I15b50e4c5e84778c2d918ba34345dd15036157ac
show more ...
|
60b89956 | 03-May-2022 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
README.md: Add words
Copied the description of the daemon from the second commit message.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Iac0d0b309b9cde65ea1f5ac525e86e83df87dc
README.md: Add words
Copied the description of the daemon from the second commit message.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: Iac0d0b309b9cde65ea1f5ac525e86e83df87dcfe
show more ...
|