| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After some feedback from users of the new IPMI API, they wanted to see
two things:
1) don't require ipmid/api.hpp and ipmid/registration.hpp to be able to
write new handlers
2) only require including ipmid/api.hpp (instead of ipmid/api.h)
So now, by simply including ipmid/api.hpp instead of ipmid/api.h
(deprecated), handlers incorporating the new IPMI API can be written.
Change-Id: I446dcce70cff03d4ecc28c658292d052485f77fc
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
| |
These two files have now been replaced with newer APIs and can be removed.
Change-Id: If60227b24188c6796211ca43379169f9a95c9cb3
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
In order to be compatible with older versions of GCC that did not have
the experimental filesystem moved over to the standard paths, the code
would splice the experimental code into the std namespace. This is no
longer necessary with yocto 2.6 and the latest versions of GCC.
Change-Id: I2db13c52a91456318795819f2d45c3386b4c56d2
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
types.hpp is required by utility.hpp, which is exported, so it needs to
be exported as well. This moves it to the include/libipmid directory,
changes the Makefile to export it, and changes all the files that
include it so it can be found in the right place.
Change-Id: I30ec365446e4de466c266ec4faa327478460ec05
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are functions that are used widely by ipmid providers, so it makes
sense to put them in libipmi.so (the library that all providers must
link against).
Tested-by: use nm to inspect the binaries to see that the symbols are in
the expected library.
arm-openbmc-linux-gnueabi-nm libipmid.so.0.0.0 \
| grep getDbusObject
0001063c T _ZN4ipmi13getDbusObjectERN9sdbusplus....
Change-Id: I1221f807f2711c5301c5574623564ea1ae48a437
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
From IPMI spec, response should be complete code only.
Tested:
ipmitool raw 0x00 0x04 0x02 0x00
Change-Id: I48a9f71e01c89ee1125d515c50e3e2655510d0ce
Signed-off-by: Jia, Chunhui <chunhui.jia@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code gets unspecified initializatio order for the global/static
variables in a shared library.
If unluck, a global/static variable may be initialized in *constructor*
function, and then initialized by the default contructor.
For exmaple, if `std::unique_ptr<xxx> var{nullptr};` is initialized in
constructor function, below init order may occur:
1. It is initialized in constructor;
2. Then it is initialized as nullptr;
And eventually when the code is to use the variable, we got nullptr.
We met such issues before on openbmc/openbmc#1581, and the technical
details could be found at [this SO question][1] and [this gcc email][2]
The solution is to specify the init_priority attribute, to make the
global/staic variables inititalize earlier than the contructors.
[1]: https://stackoverflow.com/questions/43941159/global-static-variables-initialization-issue-with-attribute-constructor-i
[2]: https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00863.html
Change-Id: I901a6a5cddec12aec9512fe58b16735fa2ad90d7
Signed-off-by: Lei YU <mine260309@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This starts a transition to common ipmid libraries that providers can
link against. It will allow for a cleaner separation between common
ipmid functionality and daemon type specific code. This is needed so we
can resolve all of the symbols in the providers at link time instead of
discovering bad linkage by building and running a full ipmi daemon.
In future commits libraries will be packaged for libipmid and libipmid-host
which provide all of the symbols used by the current set of ipmid
providers.
This is the first step, it just separates and renames the headers.
Legacy symlinks are still kept around for compatability. It also adds
stub libraries so that external users can start linking as intended.
Change-Id: I6bbd7a146362012d26812a7b039d1c4075862cbd
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
IPMI Spec Section 19.2:
Unless otherwise noted, Reserved bits and fields in commands(request messages)
and responses shall be written as '0'.
Return "out of range" error for unsupported power policy
and also return the supported policies on success.
Change-Id: I51d63b86ef0d3076438649abc49c63267c57cbd5
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/phosphor-host-ipmid#115
Change-Id: Iab7f878b8b3011caa95f532f99062af9cbc1c33c
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a new dbus interface for the chassis capabilities, and
store the chassis capabilities using phosphor settings manager
Tested By:
ipmitool -H $BMCIP -U root -P 0penBmc -I lanplus raw 0 5 0 2 4 6 8 0xa
ipmitool -H $BMCIP -U root -P 0penBmc -I lanplus raw 0 0
Change-Id: Id01555358adfec3814fd03b3e6d422916c861039
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is just a refactoring to use the c++17 std::variant interfaces
instead of the mapbox::variant specific ones. We should be able to use
mapbox::variant and std::variant interchangeably now.
Tested:
Built against sdbusplus with mapbox::variant and sbusplus using
std::variant. Both variant compile and test out.
Change-Id: I6fbaad3d12dd34968db6a10f3d74a65e07d0f0cc
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
| |
The common timer class from sdbusplus offers all the timer goodness that
we currently use. The unit test is also no longer needed (and has been
added to sdbusplus's version of the timer.hpp implementation).
Change-Id: I278817489433a29ca739f70fdacd8bb897797d66
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Standard clib methods should be explicitly grabbed from the standard
namespace.
Change-Id: I8bcfcb260a99180d535ec8102c1a24c318cbc209
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
| |
Change-Id: I4aa3c984992236bb5b4a5c62c3d42a33c12d55de
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
| |
Change-Id: I23a70eb540ccde5d2aba467426769feffb07b516
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving headers from ".h" to ".hpp"
Reworked the header inclusion a bit so that host-ipmid is treated as a
library, and local headers aren't.
renamed apphandler.h => apphandler.hpp
renamed chassishandler.h => chassishandler.hpp
renamed globalhandler.h => globalhandler.hpp
renamed sensorhandler.h => sensorhandler.hpp
renamed storageaddsel.h => storageaddsel.hpp
renamed storagehandler.h => storagehandler.hpp
renamed systemintfcmds.h => systemintfcmds.hpp
Change-Id: I9d4ce3dd57e2e996800f9020a10cc10cdf2c3914
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the IPMI set power restore policy command 0x06.
This command can be used to configure the power restore policy.
This configuration parameter is kept in nonvolatile storage.
The power restore policy determines how the system or chassis
behaves when AC power returns after an AC power loss
Tested:
Run the below command to check the current Power Restore Policy:
ipmitool -H <IP> -P 0penBmc -I lanplus chassis status
Run the below command to change it:
ipmitool -H <IP> -P 0penBmc -I lanplus chassis policy always-off
Change-Id: I224912890f9a9e8b4dc98f840cd6f223c9f7dfe5
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
|
|
|
|
|
| |
Change-Id: I7c2a527b4751a560703a61fcbe9638b150546af5
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#3327
Change-Id: Ib0cbfccdd91b6cdd2267a48b312d2736a4ce8fbc
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
|
|
| |
If <filesystem> exists, use that, if it doesn't, try
<experimental/filesystem>. Either way, access it from std via a
namespace splice.
Change-Id: I5b35ee9f74b88e188cb3ca3fed9abaec64933697
Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Noticed D-bus method invoked as part of the callback method
invoked from async thread returns error
Switching to use sd_event loop timer for callback after timer
expiry
Resolves openbmc/openbmc#3130
Change-Id: Ibe87a6b3aa179cc887593c7dea635c11d9ea844c
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
It returns a counter value proportional to the system operating
power-on hours.
Partially Resolves openbmc/openbmc#2979
Change-Id: Ib0cd43fe5cbc055ae84991577d766bedae58d775
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get boot options is returning wrong value when
boot device is set to cdrom followed by setting boot
device to bios.
In the IPMI spec the boot device selector has options
for both "boot source" (default/disk/crdom/network)
and "boot mode" (default/bios/safe/diag). Since this
isn't a bit field, you can't override for eg both the
source and mode at the same time.
The solution is if a set boot device is mapping to a boot
source, then reset the boot mode D-Bus property to default,
or vice versa. This way the ipmid code can determine which
property is not at the default value
Resolves openbmc/openbmc#3067
Resolves openbmc/openbmc#3068
Change-Id: I072c82a161d56f118510fe1f9e5c75cb5c610295
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
|
|
|
|
|
|
|
|
|
| |
setBootMode and setBootSource methods are introduced
by refactoring code from ipmi_chassis_set_sys_boot_options
for code reuse.
Change-Id: I30b641239686b0411a0995468d098f5ad3d61754
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
-host-ipmid is very noisy in terms of journal logging. A small step
towards cleaning that up.
-Also converted printfs to phosphor-logging.
Partially Resolves openbmc/openbmc#2507
Change-Id: I749c19c18d1cabf6f0216830c8cb0a08ee43d6de
Signed-off-by: Aditya Saripalli <aditya0124@gmail.com>
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 82feb17d0c244ed04b82b0fbed3c0a9456986a86.
The fix for armv5 futures is provided in yocto 2.4
Resolves openbmc/openbmc#3010
Change-Id: Ifc7e224f6f1fa115e0299642e8866b82d6e4f38c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 5bfbde351aabe2096de99ee959a8a2e50edcf84c.
See https://github.com/openbmc/openbmc/issues/2740 for details. This
commit causes ipmid to fail to load.
From github user artemsen:
> ipmid[995]: ERROR opening [/usr/lib/host-ipmid/libapphandler.so.0]:
> /usr/lib/host-ipmid/libapphandler.so.0: undefined symbol: _ZTINSt13__future_base12_Result_baseE
As reported by Lei:
> This issue prevent all P8 systems (with ast2400) booting with latest
> OpenBMC, because ipmid fails to load libapphandler.so and cause watchdog
> will not be kicked and always timeout on power on.
As suggested by James Feist:
> We probably should just revert the changes until we update to yocto
> 2.4 which has the newer version of GCC with the fix for armv5 futures
> as the backport seemed to fail.
Change-Id: I0059cc3f939c1e3e5f88531fcb14ae3faa451387
Tested: Booted a ast2400 machine and checked journal
Signed-off-by: Joel Stanley <joel@jms.id.au>
|
|
|
|
|
|
|
|
|
| |
Add command with support for chassis identify.
Resolves openbmc/openbmc#2621
Change-Id: Ie656b71eba68141117838363456c6e075225e3e6
Signed-off-by: James Feist <james.feist@linux.intel.com>
|
|
|
|
|
|
|
|
|
| |
Spelling errors found using github.com/lucasdemarchi/codespell
A tool to fix common misspellings.
This tool is licensed under GNU General Public License, version 2.
Change-Id: I78e9d126f19fd9fb2e3f2fa9fe8c2404dc505f82
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#2356
Change-Id: If775a01a97f29a60575c03f26d32bba0315af920
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#2355
Change-Id: Ic7b0efb35887c987a1626e5d88f8a9513d22004f
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#2008.
Change-Id: Id79d1f61a3e627fef28b071e2a415e94de14634f
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Handle the fact that a settings object can now implement multiple
interfaces, and also the fact that multiple settings objects
can implement the same interface.
Change-Id: Icf55b08fe2d355a10f7007489dfddb128e05d90e
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
|
|
| |
Fixes openbmc/openbmc#1947
Change-Id: I099bd308f5e0ee92b7addf9727afd641d45730ea
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
|
|
|
|
|
| |
Change-Id: Ic6de2d3d82d6e55c6abf73bae2fc0a23a36286b9
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
| |
Change-Id: I2de92a1d82939a539e19aca69561ad58a171a5d0
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
| |
Change-Id: Ief3d9ab2311a597670767cf9931913e5afef4fee
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#2128
Change-Id: If2927d14adb3a9332b2a2ea595b57bd4b34671bc
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
if bmc is not configured with host network data
then don't send the blank override,send the ipmi
error.
Resolves openbmc/openbmc#2033
Change-Id: Idbbb9a81df568be376f2111cd2bafd4c04e13097
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
| |
Change-Id: I5a54c32fe13f7f0314f0d6a902193b16ca4556fd
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
| |
Change-Id: If7cd999889b3ce19b746c3223012920d79e63099
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
|
|
|
|
|
| |
Change-Id: I41a35d274476f69681c2516b84900f0e0c358181
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Host network config will be referring to xyz settings namespace.
Resolves openbmc/openbmc#1678
Resolves openbmc/openbmc#556
Change-Id: I77e4b015595990b3f44733ff4977b462ddf9a70a
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
|
|
|
|
|
|
|
| |
Resolves openbmc/openbmc#1777
Change-Id: I78df77abeca8f37cc1cdb6ae8e1e2d4b3690dc52
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The host response can be extremely fast when requesting
a soft power off. So fast in fact, that it may respond
before the obmc mapper has registered the softoff dbus
object and interface. When this happens, ipmid does not
see softoff running so it goes down a different (and
incorrect) shutdown path.
This code change has the host response go directly to
the softoff dbus interface (instead of using mapper).
Once mapper is refactored in openbmc/openbmc#1661, this
software can go back to using it.
Resolves openbmc/openbmc#1743
Change-Id: I08df84783adef80c4eb91277d8d7aa6dc264730d
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Create a file to ensure the soft power off service is
not run when the host is requesting a power off
or reboot. There's no need to notify the host (i.e.
soft power off) when they are initiating it.
Change-Id: Ic9f8e7110d30f477ceae38bba9d684559d9503d3
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
| |
Formatting only change
Change-Id: Ide817b09af864adc20c090311e4b6083e3044212
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
|
|
|
|
|
|
|
| |
Fixes openbmc/phosphor-host-ipmid#102
Change-Id: I3e7456401b7265a51578f9aa08bef2ae3f326849
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
| |
As part of Soft Power Off, there may be a timer that would be
running. This patch will stop the timer when IPMI daemon receives
response from host for SoftPowerOff sequence of commands.
Change-Id: Idacbff36444629623f8754de3d81d292ca19bb85
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
|