summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Timer: Fix the timer expire property.Ratan Gupta2018-03-202-2/+4
| | | | | | | | | | | | | | | Presently when the call back associated with timer gets called then the expire property becomes true, which is correct as it tells the timer has expired and calls the callback. On the other hand it doesn't set the expire property to false when it starts the timer. This commit sets the expire property to false when startTimer function gets called. Change-Id: I0bb4fe3c375b2a73d214ba9ccbdf25f223b11449 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* SetLan: Move the setChannel access functionRatan Gupta2018-03-202-324/+325
| | | | | | | | | | | | | | | Move the function from app/channel.cpp to the transporthandler.cpp setChannel access is disabled now as the functionality to apply the network changes would be done through timer based approach. In later commit we would create this function as callback when the network timer expires. Change-Id: Ic128a47237b2ecdbc56267227105909f8886a862 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* setlan: Remove registration of handler for Set Channel AccessRatan Gupta2018-03-201-10/+0
| | | | | | | | | | | | | Presently through set channel access command we apply the network changes which is not a standard BMC implementation. It was decided that we should apply the network changes with the timer based approach. Timer based implementation would be done in later commits. This commit only removes the registration handler for set channel access command. Change-Id: Ic67c09d0f688d30be0fc7bfcda4f3290f89baf20 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* sensor: Refactor get sensor reading implementationTom Joseph2018-03-201-72/+75
| | | | | | | | | | Legacy sensors(org.openbmc) implementation is stubbed into a separate function for clarity. Sensor type lookup is needed to populate the reading for the legacy sensors, this was done for all the sensors. With this patch sensor type lookup is done only for the legacy sensors. Change-Id: Idd33e41669d8ad33529ad9ccdbed9d4da5ecda79 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Fix set sensor reading for analog sensorsTom Joseph2018-03-161-15/+9
| | | | | | | Tested: Set temperature sensor to sensor object Change-Id: I77b8dcd6f298ca7b09aac475c2e8da4af5825940 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Change the byte order for aux firmware revisionTom Joseph2018-03-161-4/+4
| | | | | | | | | | According to the specification, any generic utilities should display each byte as 2-digit hexadecimal numbers, with byte 13 displayed first as the most-significant byte. This patch corrects the byte order so that byte 13 represents the most-significant byte. Change-Id: Ie71d2af6a9e9f14c8d1d12cea7e45a57aa15a3dd Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Remove use of legacy inventory interfaceNagaraju Goruganti2018-03-122-105/+111
| | | | | | | | | | | | | | | | | | | Made below given changes: 1.With legacy code we used to read software version info from the system file: /etc/os-release, now with new updates we will read it from the s/w object which is implementing the interface "xyz.openbmc_project.Software.RedundancyPriority" interface. 2.Removed legacy code related to inventory(FRU) for sensors Tested: 1.Verified f/w version info using below given command >ipmitool mc info -I dbus 2.Verified get sensor type info using below given command >ipmitool raw 0x04 0x2f 0x02 -I dbus Resolves openbmc/openbmc#2870 Change-Id: I384bf4aaacd56f4a871833b533b2a8a68c489959 Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* Remove use of legacy bmc control interfaceNagaraju Goruganti2018-03-121-77/+36
| | | | | | | | | | | Tested: Tested using below given command for cold/warm resets >ipmitool mc reset [ warm | cold ] -I dbus Resolves openbmc/openbmc#2919 Change-Id: I15fc5ab53b7d8b2b17bc9fa8f3f2030e93bd0483 Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* sensors: rework sensor assertionBrad Bishop2018-03-071-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch the sensor assertion logic would generate an invalid DBus message or undefined behavior in several scenarios. - A bit is both asserted and desasserted: A well behaving client won't do this but the existing logic would generate an invalid property-set message with signature ssvv. Rework the logic such that no dbus traffic occurs. - No bits are asserted: Results in an invalid message with signature ss. Rework such that no dbus traffic occurs. - Empty offset value map in configuration: Results in an invalid message with signature s. Rework such that no dbus traffic occurs. - Empty offset value map entry (either assert or deassert) in configuration: Results in an invalid variant signature. Rework such that no dbus traffic occurs. - The same bit is specified in the configuration for multiple properties or interfaces: Can result in invalid messages with a wide variety of signatures. Rework such that one message is sent for each property being updated. - Invalid bit specified in value map entry Results in undefined behavior calling bitset::test. Rework such that entries in the value map with invalid bits are ignored. Tested: Verified the OperatingSystemStatus sensor can be set by a BIOS Change-Id: I4df9472a8bdc9e44e98e1a963838da0912d10683 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* Implement Get SDR and Reserve SDR repository commandTom Joseph2018-03-015-15/+36
| | | | | | | | | | | Both Get SDR and Reserve SDR repository command is same as Get Device SDR and Reserve Device SDR command respectively. So the same implementation is shared. Resolves openbmc/openbmc#2615 Change-Id: I64e37837bc5a616bed41a3ceff7d63033d88455c Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Updates to the get device sdr command implementationTom Joseph2018-03-012-103/+43
| | | | | Change-Id: Ibf5989b144ebe4ec75bd8d42c1d1167d7b16ecda Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Refactor get sensor reading commandTom Joseph2018-03-012-60/+12
| | | | | | | | Use the functor in the generated yaml to get the sensor reading for analog sensors. Change-Id: I2535cd5015096c3e1e2baa5f9a865fc6b27e6875 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Refactor get sensor thresholds commandTom Joseph2018-03-013-119/+84
| | | | | | | | | | | | Using GetManagedObjects to get the thresholds could take upto 15~20 sec for the core temperatures. The time taken to fetch threshold properties via GetManagedObjects is proportional to the number of objects under the path. Since the dbus object path is available in the yaml it is performant to read the threshold properties directly. Change-Id: Ic22d8f4d73d8ce4eabdffd6fc7af23f73b981f66 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Add result exponent to the sensor yamlTom Joseph2018-03-013-4/+11
| | | | | | | | | | | Result exponent sets the decimal point location for the result before the linearization function is applied. This is different from the scale implemented by the sensors dbus objects. The scale is the scaling factor to get the value for the units specified for the sensor. Linearization is done after applying the scale on the raw sensor value. Change-Id: I76624c593bf6cdf40ec884c0ff0aceb58746732c Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Revert "Add chassis identify ipmi command."Joel Stanley2018-02-282-118/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* utils: Add missing functional includeBrad Bishop2018-02-271-0/+1
| | | | | | | | std::function is not found with a GCC 7.2 runtime. Tested: Built repository with GCC 7.2 Change-Id: I90d2585bb49973744bc62c68a5b10362478852c7 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* Remove unused variables.Nagaraju Goruganti2018-02-271-4/+0
| | | | | Change-Id: I9c8ea4fbf7421ceef1e509cb78dea7136fd0a94b Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* DCMI: Add get/set Configuration Parameters commandNagaraju Goruganti2018-02-222-0/+289
| | | | | | | | | | | | | | | | 1.Systemd-networkd doesn't allow to configure DHCP timings, so set is not implemented. 2.Get command to DHCP timings will return hardcoded values from systemd-networkd source code. 3.Systemd-networkd doesn't support Random Back off, so not implemented. 4.As the info about VendorClassIdentifier is not clear in the spec, Right now we are not supporting DHCP Option 60 and Option 43. We will open new issue for it. Resolves openbmc/openbmc#2752 Change-Id: I2682e5e43ceb19647e5240b095f601777213530b Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* watchdog: Implements the Watchdog Get CommandWilliam A. Kennington III2018-02-215-0/+125
| | | | | Change-Id: I2ba9fd0eeba4e828cafd1bcf6fe30e2322eaf99e Signed-off-by: William A. Kennington III <wak@google.com>
* watchdog: Implement watchdog action settingWilliam A. Kennington III2018-02-213-7/+52
| | | | | | | | We now respect the action set during the SetTimeout command. This maps to one of the actions defined by the dbus Watchdog interface Change-Id: I4d13d2539a2d955a4340bf5f915ca6f3b694550a Signed-off-by: William A. Kennington III <wak@google.com>
* watchdog: Implement initialized using the new dbus interfaceWilliam A. Kennington III2018-02-213-0/+24
| | | | | | | | | This makes it possible for the phosphor-host-ipmi or any other watchdog managing daemon to report to the caller that the watchdog was not configured if the phosphor-watchdog daemon restarts for any reason. Change-Id: Iae3a8554c2f5d1cb89368f3ce14b3d44922599c0 Signed-off-by: William A. Kennington III <wak@google.com>
* watchdog: Rewrite using sdbusplusWilliam A. Kennington III2018-02-214-180/+221
| | | | | Change-Id: I730317954819859d23fdaca7336f19f5c5b0c107 Signed-off-by: William A. Kennington III <wak@google.com>
* Add Get Repository Info CommandDhruvaraj Subhashchandran2018-02-162-0/+45
| | | | | | | | | | Adding support for Get Repository Info command, which returns information about the SDR repository. resolves openbmc/openbmc#2614 Change-Id: Id1219de8021b5403a775ad6e8577dbc8edfc60cb Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* dcmi: get sensor info: read configDeepak Kodihalli2018-02-162-4/+90
| | | | | | | | | | This commit adds the code to read dcmi sensor config, in order to respond to the 'get sensor info' command. Resolves openbmc/openbmc#2623. Change-Id: Id661ec2c1bae214b503308577d7f825a5dfeb629 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* dcmi: implement get sensor infoDeepak Kodihalli2018-02-163-46/+241
| | | | | | | | | | | | This commit implements the plumbing around the 'Get Sensor Info' command. It doesn't read the sensor information yet. That code is coming up in a subsequent commit. Refactor some of the get temperature readings code, in order to reuse certain common aspects for this commit. Change-Id: I0cb531b5b75e98cc9e76509f84f832be9997fee0 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* watchdog: Reorganize header and function namesWilliam A. Kennington III2018-02-153-108/+109
| | | | | | | | This is a refactoring of names + header cleanup and has no functional change. Change-Id: Ie90fded80b6a26927f56bb342993193530b8b8ef Signed-off-by: William A. Kennington III <wak@google.com>
* Fix failure in reading power value during PowerOff stateMarri Devender Rao2018-02-151-10/+20
| | | | | | | | | D-Bus sensor object to read power value is not created during PowerOff state. Fixed to return 0 power value if sensor object is not present. Change-Id: Ibe340cab0483c7a711081197b932aaba0408d333 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* Fix the typoRatan Gupta2018-02-131-7/+7
| | | | | Change-Id: I5eff36514969ca7e301578f0913b5da250b426c9 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* FRU: Change the type code to ASCIIRatan Gupta2018-02-131-2/+15
| | | | | | | | | | | | | | | In board and product area format there is type and length field for each field. 6-7 bit of typelength field specifies the type and first five bits specify the length.a eg:- Board Manufacturer type/length byte followed by actual number of bytes defined in first five bits of type length of Board Manufacturer field. Change-Id: Iaaf608cc93829fb1dd8d0c54a49bd467a7cadbea Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* FRU: Fix the area offset calculation of Read FRU Data responseRatan Gupta2018-02-131-8/+16
| | | | | | | | Common header contains the offset of areas This commit fixes the offset calculation. Change-Id: Iba002d1832063a329df43834d4e30d359ecaf7b0 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* FRU: Fix response for Read FRU Data CommandRatan Gupta2018-02-131-3/+11
| | | | | | | | 1) Add the count field as part of read fru command response. 2) Fix in copying the data from the offset. Change-Id: I2eaa76e82179ad65ba3af0f1795aeec40e68a0fc Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* SDR: Adding fru records as part of Get SDR commandRatan Gupta2018-02-133-14/+201
| | | | | | | | | | | Currently Get SDR only responds with physical/virtual sensor records,it doesn't support for FRU records,This commit adds the support for FRU records. Resolves openbmc/openbmc#2776 Change-Id: I34edfa892b32f4e866cf0c084d97c2f3482d40f4 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* Inventory:- making changes in the mako and the C++ structureRatan Gupta2018-02-124-110/+139
| | | | | | | | | As fru yaml would be having extra properties like entityID,entityInstance so changes were needed to make the change in the corresponding c++ structure. Change-Id: I314d1556cf07a3e212996615c1cd2f28fb6d9bba Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* apphandler.cpp: fix-up 80 charsPatrick Venture2018-02-091-38/+104
| | | | | | | Cleaned up lines to address lines >80 chars. Change-Id: I2aa8ebb91f4af875275fb00f7444698e89c53b89 Signed-off-by: Patrick Venture <venture@google.com>
* DCMI: Add Get Power Reading command to whitelist configurationMarri Devender Rao2018-02-071-0/+1
| | | | | Change-Id: I88a5a1281199447163bf8d5c6e011ec3191d21c6 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* Add Control.FanPwm as interface.Patrick Venture2018-02-071-0/+1
| | | | | | Change-Id: I20c2c162a28b7aabf14ae17ae2f456a6b10e0e6b Signed-off-by: Patrick Venture <venture@google.com> Signed-off-by: Kun Yi <kunyi@google.com>
* watchdog: Consistently return errors for dbus failuresWilliam A. Kennington III2018-02-062-4/+19
| | | | | | | | | This adds return codes for all of the dbus failures which inform the host that it should retry the IPMI command as dbus related errors should be ephemeral. Change-Id: I090f488535625a996347677a0c8addbdff0996c0 Signed-off-by: William A. Kennington III <wak@google.com>
* DCMI: Populate response buffer with power readingMarri Devender Rao2018-02-061-1/+26
| | | | | | | | | | Populate the IPMI response buffer with the power value read from the total_power sensor. Resolves openbmc/openbmc#2625 Change-Id: Ib494e40aa37aa16064a4471f79bd7f9d5c0e5c8c Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* DCMI: Read power value from the configured D-Bus object pathMarri Devender Rao2018-02-063-0/+118
| | | | | | | | | 1) Parse the power_reading JSON configuration file to get the D-Bus object path for the power reading. 2) Read the power reading value from the specified D-Bus object. Change-Id: I4b9f0703318e8db2c86d0b337e524eee6da33d08 Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
* dcmi: fix max temperature constantDeepak Kodihalli2018-02-061-1/+1
| | | | | | | | Change the max temperature constant from 128 (degrees C) to 127, because the temperature is represented with 7 bits (the 8th bit being the sign). Change-Id: I43d2edf8235ca69a4f31a72949079601c38355b1 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Support Get Sensor Thresholds CommandDhruvaraj Subhashchandran2018-02-065-0/+220
| | | | | | | | | Adding support for sensor thresholds command Resolves openbmc/openbmc#2624 Change-Id: I904c1b18c8709bceb7ecb7eec6e8e42e1f51525a Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* dcmi: get temperature readings: read temp sensorsDeepak Kodihalli2018-02-012-5/+192
| | | | | | | | | | | This commit adds the code to read temperatures from various sensors. A JSON config file tells what D-Bus object(s) to look up for a specific temperature reading. Resolves openbmc/openbmc#2626 Change-Id: Ic357ec2a53ff250a2517d68defe5850ef353568a Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* dcmi : implement get temperature readingsDeepak Kodihalli2018-02-013-0/+199
| | | | | | | | | This commit implements the plumbing around the 'Get Temperature Readings' command. It doesn't read the temperatures from the relevant sensors. That code is coming up in a subsequent commit. Change-Id: I4514b65eb3ca65d52dd35185338a2c397e9a76ca Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* sensor: Modify the Get sensor reading commandTom Joseph2018-01-311-8/+11
| | | | | | | | | | | a) Scanning is enabled for all sensors, otherwise ipmitool would report the sensors as disabled. b) Correct the error handling scenario which will occur when the D-Bus object is not present or error occurs when reading the D-Bus property. Change-Id: I49535663a242305ab02a67f8f5998647cfee7eee Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* DCMI: Implement Get DCMI capabilities info command.Dhruvaraj Subhashchandran2018-01-313-0/+194
| | | | | | | | | | This commit adds ipmi changes for supporting the get DCMI capabilities command Resolves openbmc/openbmc#2618 Change-Id: I7d0e7c132f4a8d459351e025fa2bfca9fcf1340b Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
* sensor: Modify Get Device SDR command implementationTom Joseph2018-01-302-14/+22
| | | | | | | | | | a) Specify the sensor name deduction in the yaml b) Entity ID and entity instance is populated c) Sensor owner is set to BMC address, since all the sensors are present on the BMC. Change-Id: I7b64c48ad1dbd386e12b20af459e40baf0d97cd4 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Populate entity id, instance and sensor name callbackTom Joseph2018-01-303-4/+20
| | | | | Change-Id: Ie7bf403ae15d9b1a70216aab0c57362c3d4240e7 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* sensor: Add support for multiple sensor naming patternTom Joseph2018-01-303-0/+71
| | | | | Change-Id: Ibf58d4a4f5a2783a9152f4b5f685e28ef527c5e2 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Increase timeout for host to respond to attentionsAndrew Geissler2018-01-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenBMC is dealing with some performance issues right after a reboot. Systemd does almost too good a job at parallelizing all of the services which causes a 6X hit on the processor during the initial boot once mapper is ready. In situations where the BMC is rebooted when the host is up, this performance issue coupled with errors queued up by the host to send down to the BMC, can cause OpenBMC to exceed its current 3 second timeout for attentions. This initial message from OpenBMC to the host is done to check if the host is running. If the message times out then it's assumed the host is not running which causes all sorts of issues for the system. Testing has shown it can take up to 10 seconds for the path to complete. Given the uncertainty of future performance, the unknowns on how many errors the host may have queued up, and the minimal impact a larger timeout has, this commit is increasing the timeout to 30 seconds. Resolves openbmc/openbmc#2832 Change-Id: I0d1baf601b6441a149e786e1f5de607862d86a52 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
* Remove unwarranted call to free()Deepak Kodihalli2018-01-291-1/+0
| | | | | | | | | | | Do not free() the pointer allocated by sd_bus_message_read(), because systemd will free that once the message is unreferenced. The free() in question here was causing an ipmid core dump. Resolves openbmc/openbmc#2846. Change-Id: I118f6947e7292b68744d0034c72572e4dcb99f01 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
OpenPOWER on IntegriCloud