commit | 927d0930ca70a3767ffae6ae092d51d3a8415250 | [log] [tgz] |
---|---|---|
author | Ninad Palsule <ninadpalsule@us.ibm.com> | Mon Mar 06 11:42:02 2023 -0600 |
committer | Patrick Williams <patrick@stwcx.xyz> | Fri Apr 21 15:21:16 2023 -0500 |
tree | 25834a2faeb470562d31e2e6ec5cca322f744a2c | |
parent | c096cf78fe626923f81067a5b97283aa856d8b74 [diff] |
Add a new dbus interface to get list of consoles The "xyz.openbmc_project.Console.Access" interface will provide a single property containing the name of the abstract socket for the object hosting the interface. The caller can use mapper function to find the list of registered consoles. The bmcweb can exploit this interface by putting console for each console object. The SocketName attribute provides unix abstract socket name and it's first character is always null, the attribute type is an array of bytes types instead of string type. The byte array does not include a null terminator. For example, object path and property exposed for host console is as follows: Object: /xyz/openbmc_project/console/host Property: SocketName -> "\0obmc-console.host" The tree for console0: $ busctl tree xyz.openbmc_project.Console.console0 `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/console `-/xyz/openbmc_project/console/console0 The introspect for console0: busctl introspect xyz.openbmc_project.Console.console0 /xyz/openbmc_project/console/console0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .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.Console.Access interface - - - .SocketName property ay 22 0 111 98 109 99 45 99 111 110 115 ... - Related commits: 1) phosphor-dbus-interface: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/61486 2) obmc-console: https://gerrit.openbmc.org/c/openbmc/obmc-console/+/62496 3) bmcweb: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62525 Change-Id: Ic50d311b327d9a4d917e4656af3ebeebfe95b5c9 Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>
YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.
Before defining a new D-Bus interface or modifying an existing one, please read through the documented set of the common requirements and expectations.
This project can be built with meson
. The typical meson
workflow is: meson builddir && ninja -C builddir
.
The meson files used to handle the YAML files are automatically generated and found under the gen
subdirectory. When adding or removing YAML files, this must be regenerated. This can be done with the helper script found in the gen
subdirectory: cd gen && ./regenerate-meson
.
Only the xyz/openbmc_project and org/freedesktop interfaces are built by default. Other interfaces can be enabled by meson options:
-Ddata_com_ibm=true
-Ddata_org_open_power=true
Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir