History log of /openbmc/phosphor-host-postd/ (Results 1 – 25 of 82)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
fe51495e04-Sep-2024 Cosmo Chou <cosmo.chou@quantatw.com>

Change primary postcode interface to byte array

Change primary code to std::vector<uint8_t> to meet the changes in
phosphor-dbus-interface.

[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-in

Change primary postcode interface to byte array

Change primary code to std::vector<uint8_t> to meet the changes in
phosphor-dbus-interface.

[1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/74633

Change-Id: Ib5822973a1dbc6aa8c52f4e81b56091dc33b5f08
Signed-off-by: Cosmo Chou <cosmo.chou@quantatw.com>
Signed-off-by: Potin Lai <potin.lai@quantatw.com>

show more ...

d62ef55916-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: Ia5d22931711ae5704dfafa0a7786909087d488ee
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

dd3928b017-Jun-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://githu

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://github.com/codespell-project/codespell

Change-Id: I611b83efacd76580d19d91acfb6c6e8a09f40f4a
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...

fad2660124-Jun-2024 Willy Tu <wltu@google.com>

test: Initialize slot in SdBusMock

In the default constructor for SdBusMock the slot was initialized and
we override it in this test case which can lead to memory errors.

Change-Id: I522ee63505d988

test: Initialize slot in SdBusMock

In the default constructor for SdBusMock the slot was initialized and
we override it in this test case which can lead to memory errors.

Change-Id: I522ee63505d98861a1d45abd01144d1eef7aa727
Signed-off-by: Willy Tu <wltu@google.com>

show more ...

95aa444008-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 ...

72d5507205-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 ...

676fd83d29-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 ...

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

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

0522592f15-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 ...

42c2b56812-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 ...

0ea7357e10-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 ...

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

38b0946c26-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 ...

65d1753c12-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 ...

30751ec221-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 ...

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

56127ef812-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 ...

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

723b97f104-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


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

803e848422-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 ...

5efea6a311-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>

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

18119acc16-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 ...

1234