#
275f7c39 |
| 30-Jan-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
Add mctpreactor for dynamic configuration of MCTP networks
While mctpd[1] may see heavy use in projects such as OpenBMC, it implements generic functionality necessary to operate MCTP as a protocol.
Add mctpreactor for dynamic configuration of MCTP networks
While mctpd[1] may see heavy use in projects such as OpenBMC, it implements generic functionality necessary to operate MCTP as a protocol. It therefore should be easy to use in other contexts, and so it feels unwise to embed OpenBMC-specific details in its implementation.
Conversely, entity-manager's scope is to expose inventory and board configuration. It externalises all other responsibilities for the sake of stability and maintenance. While entity-manager is central to OpenBMC's implementation and has little use in other contexts, embedding details of how to configure mctpd in entity-manager exceeds its scope.
Thus we reach the design point of mctpreactor, an intermediary process that encapsulates OpenBMC-specific and mctpd-specific behaviors to constrain their dispersion in either direction. The design-point was reached via discussion at [2].
mctpreactor tracks instances of transport-specific MCTP device configurations[3] appearing as a result of inventory changes, and uses them to assign endpoint IDs via mctpd.
The lifecycle of an MCTP device can be quite dynamic - mctpd provides behaviors to recover[4] or remove endpoints from the network. Their presence cannot be assumed. mctpreactor handles these events: If a device is removed at the MCTP layer (as it may be unresponsive), mctpreactor will periodically attempt to re-establish it as an endpoint so long as the associated configuration on the entity-manager inventory object remains exposed.
[1]: https://github.com/CodeConstruct/mctp/ [2]: https://github.com/CodeConstruct/mctp/pull/17 [3]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/70628 [4]: https://github.com/CodeConstruct/mctp/blob/7ec2f8daa3a8948066390aee621d6afa03f6ecd9/docs/endpoint-recovery.md
Change-Id: I5e362cf6e5ce80ce282bab48d912a1038003e236 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
8a9ff14a |
| 03-Jan-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Move unit-file-related definitions to service_files/meson.build
In the spirit of keeping-things-that-are-together-together, move the dependency declaration to where it's used. We only declare
meson: Move unit-file-related definitions to service_files/meson.build
In the spirit of keeping-things-that-are-together-together, move the dependency declaration to where it's used. We only declare the dependency on systemd to grab the unit directory path.
Change-Id: I5bdda184ade023ee38b0d33dd1c5a9c118bf3b8a Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
8eb514a4 |
| 03-Jan-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
meson: Require meson 1.1
Fixes the following warnings:
``` WARNING: Project specifies a minimum meson_version '>=0.58.0' but uses features which were added in newer versions: * 0.59.0: {'feature_o
meson: Require meson 1.1
Fixes the following warnings:
``` WARNING: Project specifies a minimum meson_version '>=0.58.0' but uses features which were added in newer versions: * 0.59.0: {'feature_option.allowed()'} * 1.1: {'meson.options file'} ```
Additionally, with the bump, fix the following warning:
``` WARNING: Deprecated features used: * 0.64.0: {'copy arg in configure_file'} ```
Change-Id: I3b678769674f64e9050b4aa85fe6775c556ea8f6 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
5bc307fb |
| 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: I882edd53856df38c8292bc3313b9342b2b1ceddd Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
255da6b4 |
| 28-Jul-2022 |
Thu Nguyen <thu@os.amperecomputing.com> |
cpusensor: Change cpusensor to intelcpusensor
cpusensor class is specifically used for Intel CPU. The name of this class and the build option should be changed to reflect with their role. The patch
cpusensor: Change cpusensor to intelcpusensor
cpusensor class is specifically used for Intel CPU. The name of this class and the build option should be changed to reflect with their role. The patch set https://gerrit.openbmc.org/c/openbmc/openbmc/+/56096 is required to prevent the build error in openbmc source.
Tested: 1. No build error.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I1f941fffa10222cdac908fd763dccc866ba0e8a6
show more ...
|
#
a62c069f |
| 18-Feb-2021 |
Jeff Lin <JeffLin2@quantatw.com> |
meson: add external sensor to meson build
Add external to unit_files to make the service can be installed.
Tested: Add configuration for exteranlSensor and verify pass.
Signed-off-by: Jeff Lin <Je
meson: add external sensor to meson build
Add external to unit_files to make the service can be installed.
Tested: Add configuration for exteranlSensor and verify pass.
Signed-off-by: Jeff Lin <JeffLin2@quantatw.com> Change-Id: I1ca650cc15d8191fdbecc25d5b5ba099f3ee1920
show more ...
|
#
49d12d89 |
| 11-Feb-2021 |
Ed Tanous <edtanous@google.com> |
Fix mcu option
If the mcu temp sensor is not included in a build, it isn't showing up. This is due to meson_options.txt having 2 different names for mcu; mcu, and mcu-temp. The upstream recipe use
Fix mcu option
If the mcu temp sensor is not included in a build, it isn't showing up. This is due to meson_options.txt having 2 different names for mcu; mcu, and mcu-temp. The upstream recipe uses mcu to key, so lets just do that.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ib84c96b97c534c81e9e4e83c838dffe4e26b6957
show more ...
|
#
3a18b860 |
| 04-Feb-2021 |
Lei YU <yulei.sh@bytedance.com> |
meson: Fix psusensor
The psu sensor's process name was incorrectly set to psutempsensor and is inconsistent with the service unit. Fix this and use `psu` as the configure option instead of `psu-temp
meson: Fix psusensor
The psu sensor's process name was incorrectly set to psutempsensor and is inconsistent with the service unit. Fix this and use `psu` as the configure option instead of `psu-temp`, because it is really psusensor including temperature/current/voltage/fan sensors.
Tested: Verify the build binary is named as `psusensor`.
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: Iee6bcdbb948a58dd10cfe26ab268944f1f9a14e6
show more ...
|
#
feb19ef0 |
| 07-Nov-2019 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
Add support for building with meson
Follow the OpenBMC herd and support a modern, comprehensible build framework.
To build with meson: meson build ninja -C build OR bitbake dbus-sensors
Add
Add support for building with meson
Follow the OpenBMC herd and support a modern, comprehensible build framework.
To build with meson: meson build ninja -C build OR bitbake dbus-sensors
Add -Dtests to match de-facto OpenBMC meson usage conventions.
Maintain existing per-sensor config flags; however, do not define targets when opting out of a sensor class.
One noteable omission is support for subprojects or vendoring.
The OpenBMC CI scripts look for meson.build before looking for CMakelists so approval of this patch would change the build system during CI to meson.
meta-phosphor change to update the recipe to meson is also coming shortly.
Change-Id: I27d8c8f5761850d760428ed813eecd41e8f47c33 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|