summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add first user layer support.Richard Marian Thomaiyar2018-11-137-1/+478
| | | | | | | | | Exposes user layer library which will be used by both apphandler and netipmid for RAKP. Password is decrypted from the special file which is used by pam-ipmi. Change-Id: Ia6b99d4359a03843f19cd0e18f7269ad2e3cdb44 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* Add well-known nameJames Feist2018-11-081-0/+2
| | | | | | | | | | | For looking up the service a well-known name is very useful. Also dbus-broker default permissions require a well-known name to do matches. Tested-by: Found well-known name on dbus. Change-Id: Ieb85e808a1315204096c24a8d48a0e4a52fce764 Signed-off-by: James Feist <james.feist@linux.intel.com>
* Correct spelling of timestamp variableJason M. Bills2018-11-081-1/+1
| | | | | | | | The timestamp variable in the ipmi_add_sel_request_t struct was misspelled. Change-Id: I465432d021882f3966c44aec8cbdd779122521f6 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
* softoff: Convert to sdeventplus loopWilliam A. Kennington III2018-11-073-24/+18
| | | | | | | | Tested: Builds and passes unit tests Change-Id: I6c37fa7088b7bcfbfc9f8b93185b826782a72c6a Signed-off-by: William A. Kennington III <wak@google.com>
* read_fru_data: use structured bindings in fru loopPatrick Venture2018-11-071-5/+1
| | | | | | | Use structured bindings for first/second in fru loop. Change-Id: Ief5460946ead910ccae653ebb6f9d894805b756d Signed-off-by: Patrick Venture <venture@google.com>
* read_fru_data: use std::find_if instead of raw loopPatrick Venture2018-11-071-10/+7
| | | | | | | Use std::find_if to find matching item instead of using a raw loop. Change-Id: I1814d66dc8c6b33cb8ea12317105dfa70c47fe60 Signed-off-by: Patrick Venture <venture@google.com>
* build: set language to C++Patrick Venture2018-10-311-0/+1
| | | | | | | Set the language in the build to C++. Change-Id: Ib1d19c2c05676d7f4bc2095c8492560e8c77f068 Signed-off-by: Patrick Venture <venture@google.com>
* app/channel: fixup c-style castingPatrick Venture2018-10-311-1/+1
| | | | | | | Fix up c-style casting in app/channel.cpp:102 Change-Id: Ie6da0ff238856e01305127395d48ec161a30c4a1 Signed-off-by: Patrick Venture <venture@google.com>
* cleanup: scope reductionPatrick Venture2018-10-316-20/+17
| | | | | | | | | | | | | | [app/channel.cpp:102]: (style) The scope of the variable 'resp' can be reduced. [ipmisensor.cpp:310]: (style) The scope of the variable 'i' can be reduced. [ipmid.cpp:506]: (style) The scope of the variable 'num_handlers' can be reduced. [read_fru_data.cpp:82]: (style) The scope of the variable 'fruId' can be reduced. [sensorhandler.cpp:256]: (style) The scope of the variable 'p' can be reduced. [storageaddsel.cpp:68]: (style) The scope of the variable 'p' can be reduced. Also delete two extra vertical lines. Change-Id: I8e72f8e1d94381f456674abf523d2f2fbdd8046d Signed-off-by: Patrick Venture <venture@google.com>
* MAINTAINERS: Update Emily's IRC nickEmily Shaffer2018-10-301-1/+1
| | | | | Change-Id: I57dbf3449b92bb2138f66449f85e25d30c5cf01b Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
* host-ipmid: ipmid-api: drop extern C linkingPatrick Venture2018-10-251-10/+1
| | | | | | | | Header not used by any C code at this point, drop extern C linking and unused headers associated with C compilation. Change-Id: Icdb1dd220d158256562a2529d9aa7b03ed1e2196 Signed-off-by: Patrick Venture <venture@google.com>
* configure: Use generic CXX compiler macroWilliam A. Kennington III2018-10-181-1/+1
| | | | | | | | | | | | | | | | | This uses the AX_CXX_COMPILE_STDCXX() instead of AX_CXX_COMPILE_STDCXX_1{4,7}() so that the error messages we generate make slightly more sense. We get errors like: configure.ac:24: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX Instead of: ./configure: line 5132: syntax error near unexpected token `noext' ./configure: line 5132: `AX_CXX_COMPILE_STDCXX_20(noext)' Change-Id: I05512c977b8b3215a02b5d4dc6dba30ac2b83728 Signed-off-by: William A. Kennington III <wak@google.com>
* configure: Don't check for sdbusplus twiceWilliam A. Kennington III2018-10-181-3/+0
| | | | | | | The second check is entirely unnecessary. Change-Id: I465577c50c0b9476a368373dae1b066b3a758a9e Signed-off-by: William A. Kennington III <wak@google.com>
* Convert variant usage to std interfaceWilliam A. Kennington III2018-10-1813-78/+121
| | | | | | | | | | | | | 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>
* Use the common timer classVernon Mauery2018-10-1816-524/+27
| | | | | | | | | 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>
* Remove direct uses of mapboxJames Feist2018-10-182-9/+11
| | | | | | | | | | sdbusplus is moving to std::variant, remove direct uses of mapbox to limit breakage. Tested-by: It built Change-Id: I3fe0ba0d96b6aad302927363b9596cc1bcce2393 Signed-off-by: James Feist <james.feist@linux.intel.com>
* cleanup: transition to find_ifPatrick Venture2018-10-172-22/+16
| | | | | | | | | | [utils.cpp:81]: (style) Consider using std::find_if algorithm instead of a raw loop. [storageaddsel.cpp:170]: (style) Consider using std::find_if algorithm instead of a raw loop. Change-Id: I7ebbb6428fbbae9196912837d2ac9820420b77df Signed-off-by: Patrick Venture <venture@google.com>
* cleanup: exception catching by referencePatrick Venture2018-10-171-1/+1
| | | | | | | [sensorhandler.cpp:650]: (style) Exception should be caught by reference. Change-Id: Iec747c2dff988fcf6c6ca29715afa1c44cceee6d Signed-off-by: Patrick Venture <venture@google.com>
* cleanup: c-style castingPatrick Venture2018-10-173-12/+9
| | | | | | | | | | | | | | | | [ipmisensor.cpp:308]: (style) C-style pointer casting [sensorhandler.cpp:302]: (style) C-style pointer casting [sensorhandler.cpp:376]: (style) C-style pointer casting [sensorhandler.cpp:404]: (style) C-style pointer casting [sensorhandler.cpp:405]: (style) C-style pointer casting [storageaddsel.cpp:157]: (style) C-style pointer casting [storageaddsel.cpp:187]: (style) C-style pointer casting Added missing const in reportSensorEventAssert and reportSensorEventDeassert as the *pTable->func(...) take the const pointer and the casting then was using the proper const casting. Change-Id: I54a591b4e5e678b8ec3cae2633617a5f7aac7a66 Signed-off-by: Patrick Venture <venture@google.com>
* Fix the exponent B in writesensors mako templateKirill Pakhomov2018-10-151-3/+3
| | | | | | | | | expB has been mistyped as exp() function, resulting in a build error upon providing bExp as signed integer in config.yaml Change-Id: Ibc7ed45e445c4f37b7a6ccdf10346177a3317b0b Signed-off-by: Kirill Pakhomov <k.pakhomov@yadro.com>
* types: Convert ScaledOffset to doubleEmily Shaffer2018-10-111-1/+1
| | | | | | | | | | | ScaledOffset is derived from incoming int64 using pow() and there is a use case for having a fractional or negative ScaledOffset. Since it's derived internally and applied internally this change should have no impact on external interfaces. Change-Id: I419e4de089d3845295157fff440c5d8e029e7c96 Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Tested: Ran ipmitool sensor list to check value sanity
* Fix IPMI SEL reservations and cancellationsJason M. Bills2018-10-053-16/+43
| | | | | | | | | | | | | | | | | | | | | | | Per the IPMI Spec, the SEL must be reserved to Delete an entry Clear the SEL Get a partial entry Add a partial entry The current SEL reservation must be cancelled when A SEL entry is added A SEL entry is deleted The SEL is cleared The device is reset A new reservation is requested This change adds a reservation status to track when a reservation is active and a method to cancel the current reservation, and it uses that to cancel the reservation in the Delete, Clear, and Add SEL methods. Change-Id: Ifd72e6d06ecc622855bd9ce8cc3928cbd0f2c34b Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
* Fix clang-format issue in sensorhandler.cppJason M. Bills2018-10-051-4/+3
| | | | | | | | | | A clang-format issue in sensorhandler.cpp was introduced by commit 0fbdbce22771dac6fe8d651e4c8155645807b83d that is causing CI to fail for changes to phosphor-host-ipmid. This commit updates sensorhandler.cpp with the latest clang-format changes. Change-Id: If37a25c50ee04264ce55c8c7959a4fee2aba4045 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
* Fix compile error with g++ 7.3Yong Li2018-10-051-0/+1
| | | | | | | | | | Get the below error message when compiling with g++ 7.3: selutility.hpp:131:6: error: 'chrono' in namespace 'std' does not name a type Change the include order to fix this issue Change-Id: Ieaac302dd2e411a71736cbbe3f92431e30f3f5ea Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
* apphandler: Fix buffer underflow in ipmi_app_get_device_guidEmily Shaffer2018-10-011-0/+12
| | | | | Change-Id: I7e27130bbe8bfc847f81968d850abacb8914ad78 Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
* sensorhandler: fix buffer overflow in Get SDREmily Shaffer2018-10-011-3/+17
| | | | | Change-Id: Id49f6294a506a870696554715b4835c7d7e6207b Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
* sensorhandler: fix buffer overrun in ipmi_fru_get_sdrEmily Shaffer2018-09-281-11/+6
| | | | | Change-Id: Ic12598027a92495e49f7cb06aa28f77c0727be44 Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
* openbmc oem code: add ethStatsCmdPatrick Venture2018-09-251-0/+1
| | | | | | | ethStatsCmd is used by phosphor-ipmi-ethstats Change-Id: I481bf00b71cd483720c1d4824f7267a0c1e7e51f Signed-off-by: Patrick Venture <venture@google.com>
* add std namespace prefix to common methodsPatrick Venture2018-09-2510-158/+182
| | | | | | | | Standard clib methods should be explicitly grabbed from the standard namespace. Change-Id: I8bcfcb260a99180d535ec8102c1a24c318cbc209 Signed-off-by: Patrick Venture <venture@google.com>
* move filesystem inclusion to bottom of listPatrick Venture2018-09-256-82/+80
| | | | | Change-Id: I4aa3c984992236bb5b4a5c62c3d42a33c12d55de Signed-off-by: Patrick Venture <venture@google.com>
* oemrouter: add std namespace where missingPatrick Venture2018-09-251-16/+17
| | | | | | | | Found the std namespace declaration missing. It's not required, but encouraged. Change-Id: I83a90ad768f5b8aada98cfd02e244df34008e03d Signed-off-by: Patrick Venture <venture@google.com>
* replaced c headers with cpp where applicablePatrick Venture2018-09-2513-36/+13
| | | | | Change-Id: I23a70eb540ccde5d2aba467426769feffb07b516 Signed-off-by: Patrick Venture <venture@google.com>
* rename headers to match stylePatrick Venture2018-09-2536-115/+87
| | | | | | | | | | | | | | | | | | 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>
* apphandler: Add "System Name" System Info parameterXo Wang2018-09-251-0/+15
| | | | | | | | | Use the BMC's hostname to respond to requests for the "System Name" parameter. Signed-off-by: Xo Wang <xow@google.com> Change-Id: I23845aab6091a0d003b6f8370d2b67fc11e580e8 Signed-off-by: Patrick Venture <venture@google.com>
* apphandler: Implement Get/Set System Info ParameterXo Wang2018-09-253-8/+193
| | | | | | | | | | | | | | | | Implement Get System Info Parameter using the parameter storage code to back the string-type parameters. Supports up to 255 chunks (known as "sets" in the spec) for those parameters. Currently, iterated reads by chunk of a string parameter will repeatedly invoke that parameter's callback, which can result in chunks being incoherent with each other if the string changes between invocations. This is noted in a TODO comment. Stub out Set System Info Parameter. Full implementation for that is pending support for read-only flags in the parameter storage code. Change-Id: If0a9d807725ccf1f1f62e931010024841575469c Signed-off-by: Xo Wang <xow@google.com> Signed-off-by: Patrick Venture <venture@google.com>
* Get Device ID: Add handling of availability bitAlexander Amelkin2018-09-251-2/+32
| | | | | | | | | | | Make "Device available" bit in Firmware Version 1 field reflect the ready state of BMC as indicated in DBus by CurrentBMCState property of xyz.openbmc_project.State.BMC interface. Change-Id: Ic108507882c68d6cc70b40849668732f7b759ef6 Signed-off-by: Alexander Amelkin <a.amelkin@yadro.com> Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
* Implement Set Channel access commandTom Joseph2018-09-252-0/+128
| | | | | | | | The only option supported is the access mode for disabling or enabling the network IPMI. Change-Id: I2e6b20c317fec19e1e71b3adfc211e6fb847f737 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Implement chassis set power restore policy commandYong Li2018-09-253-0/+94
| | | | | | | | | | | | | | | | | | 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>
* apphandler: Add storage for Get/Set System Info ParameterXo Wang2018-09-243-0/+100
| | | | | | | | | | | All but one standard System Info Parameter and most (all?) OEM parameters are string type. Add a interface to connect string callbacks to System Info Parameter selector codes. Also add a convenience call that can connect a static string to a parameter selector code. Change-Id: I5e35d0418b8ddf5b2575fac093acfc7d7ca2217c Signed-off-by: Xo Wang <xow@google.com> Signed-off-by: Patrick Venture <venture@google.com>
* sensorhandler: Remove legacy functionsAdriana Kobylak2018-09-241-213/+3
| | | | | | | | | | | | | | The legacy sensors in the /org/openbmc/sensors path have been moved to the phosphor-ipmi-sensor-inventory%/config.yaml files and this path has been deprecated (From openbmc/openbmc rev: 8de4ff9fe3e3a5cbd7af150c126e97b182aa44cc). Remove the legacy functions that searched this deprecated path. Tested: Powered on a witherspoon to the host OS and there were no errors for the sensors that were moved out of the old path. Change-Id: Ifced118defdb3fe30abf26e332d847e8d3707477 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
* app/watchdog: Only log internal failures onceWilliam A. Kennington III2018-09-211-10/+35
| | | | | | | | | | | | | | | | | Logging internal failures to the phosphor-logger is a slow process that can take up to 5 seconds. If we do this for each watchdog reset for a relatively fast watchdog we will clog up the channel and fill the ESEL log with errors. We probably don't want that kind of information to build up. Instead, only report errors to the ESEL when the state of the internal watchdog transitions from HEALTHY -> UNHEALTHY. Tested: Works on zaius when booting and terminating the watchdog daemon while it is ticking. Produces the expected single error in the log and only delays the IPMI channel once. Change-Id: I8110ba66c4a85e188666a34cb6d055bdbec30622 Signed-off-by: William A. Kennington III <wak@google.com>
* storagehandler: add missing cstdint headerPatrick Venture2018-09-121-0/+2
| | | | | Change-Id: I3837f2f3219e6b641ebb237a405ce36bd2374c0f Signed-off-by: Patrick Venture <venture@google.com>
* openbmc oem code: add blobTranserCmdPatrick Venture2018-09-121-0/+1
| | | | | | | BlobTransferCmd is used by phosphor-ipmi-blobs Change-Id: I48b0e7a764d7fb5fb834320fbe415e4849f06cd8 Signed-off-by: Patrick Venture <venture@google.com>
* Handle SdBusError exception in SEL commandsTom Joseph2018-09-121-11/+41
| | | | | Change-Id: Ia79b3e2ea4ca8783c912c9864be32107d170d561 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* add iana header to store OEM NumbersPatrick Venture2018-09-104-9/+23
| | | | | | | | The iana.hpp header is installed to identify OEM IPMI numbers used, to avoid namespace conflicts. Change-Id: Ifd629817e3b921f86a5ea4cf2c2965a44a2d8201 Signed-off-by: Patrick Venture <venture@google.com>
* add .clang-formatPatrick Venture2018-09-0767-4365/+4311
| | | | | Change-Id: I7c2a527b4751a560703a61fcbe9638b150546af5 Signed-off-by: Patrick Venture <venture@google.com>
* add missing header: mapPatrick Venture2018-09-061-0/+2
| | | | | Change-Id: I453bad9fa811934daea59fdb9a2cc51524403783 Signed-off-by: Patrick Venture <venture@google.com>
* Add -flto to CXXFLAGSAndrew Geissler2018-08-271-3/+6
| | | | | | | | | | Per openbmc/openbmc#3364, adding -flto to CXX flags in order to reduce overall library and binary sizes. Ref: https://gcc.gnu.org/wiki/LinkTimeOptimization Change-Id: Idacb03d1ce6ad0253979f5e8b2638ac5129a6216 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
* Use visitor instead of pulling values directlyJames Feist2018-08-092-4/+29
| | | | | | | | | | | Sensor thresholds pull out an int64_t and immediately assign it to a double. Use a visitor instead to avoid the intermediate and add flexibility / saftey to type readings. Tested-By: Verifed sensor list still worked. Change-Id: If49bf54ec1c0636b3549d433b86ecdbd1ea99b0d Signed-off-by: James Feist <james.feist@linux.intel.com>
* Handle the case to turn off the Chassis Identify LEDTom Joseph2018-08-081-0/+6
| | | | | | | Resolves openbmc/openbmc#3327 Change-Id: Ib0cbfccdd91b6cdd2267a48b312d2736a4ce8fbc Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
OpenPOWER on IntegriCloud