summaryrefslogtreecommitdiffstats
path: root/src/usr/ipmibase
Commit message (Collapse)AuthorAgeFilesLines
* Automatically include config.hDan Crowell2019-12-064-7/+3
| | | | | | | | | | | | | | | | | | Rather than having to remember to include config.h anywhere we reference a CONFIG variable (and usually forgetting), this adds it to the default compiler flags so that it gets included in every source file we build. Change-Id: I53622ab4d46c55d942e98cae6ec03049fd5b3d08 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/87475 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Zachary Clark <zach@ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com>
* Increased the BMC timeout from 5 seconds to 30 secondsRoland Veloz2019-08-121-2/+2
| | | | | | | | | | | | | | | | | | | | | On a zaius machine, the BMC was consistently hitting a checkstop with the system shutting down with error status 0x613 following istep 13.11 - mss_draminit_training. The theory was that it was hitting a timeout issue. Increasing the timeout from 5 seconds to 30 seconds abated the situation. It does appear that it was timeout issue. Change-Id: I825f461855b2a4a70c732f0dda308b2579d60a7d CQ:SW466685 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82034 Reviewed-by: Glenn Miles <milesg@ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add sequence id to IPMI timeout tracesDan Crowell2019-04-091-1/+2
| | | | | | | | | | | | | | | Adding the very important IPMI sequence id to the trace that we push out when we get a timeout on a IPMI message. Change-Id: Ia89332defba1fd2901a17fb3cefeeb7d69e9737a Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75017 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Modify IPMI Timeout ValueBill Hoffa2019-04-081-5/+7
| | | | | | | | | | | | | | | | | | | | | | | -- Currently the Timeout value for an IPMI message is assigned when the message is placed in the queue. The timeout value is the same whether we have 0 or 100 messages in the queue which leads to the occasional IPMI timeout when the BMC is sent a lot of messages in a short period of time. -- This fix is to implement the timeout as a per message timeout. I.E. if the message being put on the queue is the 3rd message on the queue it would get a timeout of 3x the timeout value. Change-Id: Ieb328d96144f2b1fe9dc39f57191e86cf4821c2c CQ: SW461931 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75538 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Move watchdog timer to prevent timeoutMatthew Raybuck2019-02-263-2/+238
| | | | | | | | | | | | | | | | | | | | The watchdog used to be set in istepdispatcher.C but due to various changes to PNOR that would cause a watchdog timeout. This commit moves the watchdog out of impiext code and into impibase which allows the watchdog to be setup as soon as the ipmi resource provider comes up. Then once the code reaches istepdispatcher the watchdog is adjusted as needed. Change-Id: Ia5f13800db22cd17b0feabc5257f8f6409f54376 CQ:SW453071 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72269 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Reduce ipmi trace spam for pnor hiomap messagesDan Crowell2018-11-272-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the PNOR accesses now going over IPMI, the IPMI traces are now completely overwhelmed by those messages. This change will skip tracing out the messages if they are the hiomap requests. Example of trace spam: 3.34945|IPMI|rp: queuing sync e8:5a 3.34946|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.34952|IPMI|dd: I>write ok e8:5a seq 26 len 6 3.35837|IPMI|dd: I>read b2h ok ec:5a seq 26 len 8 cc 0 3.35947|IPMI|rp: queuing sync e8:5a 3.35948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.35953|IPMI|dd: I>write ok e8:5a seq 27 len 6 3.36837|IPMI|dd: I>read b2h ok ec:5a seq 27 len 8 cc 0 3.36947|IPMI|rp: queuing sync e8:5a 3.36948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.36953|IPMI|dd: I>write ok e8:5a seq 28 len 6 3.43855|IPMI|dd: I>read b2h ok ec:5a seq 28 len 8 cc 0 3.43926|IPMI|rp: queuing sync e8:5a 3.43927|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 3.43933|IPMI|dd: I>write ok e8:5a seq 29 len 6 3.50860|IPMI|dd: I>read b2h ok ec:5a seq 29 len 8 cc 0 3.50902|IPMI|rp: queuing sync e8:5a 3.50902|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1 In a single boot on a system there were close to 4000 of these traces. Change-Id: Ia8944ca7f281986ec0bca7328fa56a7c0d521339 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68605 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Increase ipmi polling frequency to every 1msDan Crowell2018-11-201-1/+2
| | | | | | | | | | | | | | Changing the polling timer from 10ms to 1ms to solve a weird pnor hang we've seen. Change-Id: I796bfff7a6bce38faa56d31a935dca1aeb0a4d41 CQ: SW451298 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68931 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enable IPMI errl after targeting is initializedCorey Swenson2018-11-051-3/+0
| | | | | | | | | | | | | | | | | A recent change split IPMI into base and extended. Move the enable of IPMI errl from base to extended to avoid targeting errors. Change-Id: Ia833dd8178ff407dff1fa514b32468c5fc70e945 CQ:SW450286 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68265 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: ANDREW R. JEFFERY <andrewrj@au1.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* ipmi: Increase polling rate to decrease boot timeAndrew Jeffery2018-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | The recent introduction of the IPMI-based HIOMAP transport for the PNOR means the boot process is now heavily constrained by the speed of IPMI transfers. As an interim change to introducing interrupt-driven BT support, decrease the period of the IPMI poller to increase boot speed by a factor of about 1.7x when using the IPMI HIOMAP transport. This also slightly increases the speed of a MBOX HIOMAP boot, but the point here is that there's not a detrimental effect in this configuration. Change-Id: I853ab013e33715101383c2c80c2d1b67c1c79265 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67589 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* pnor: Introduce an IPMI-based PNOR driver implementationAndrew Jeffery2018-10-101-4/+12
| | | | | | | | | | | | | | | | | | Similar to the AST MBOX implementation, the IPMI PNOR implementation negotiates the layout of the LPC FW space with the BMC, but using IPMI rather than the AST mailbox as a protocol transport. The same protocol is still used and has simply been adapted to the new interface. Note that currently the change of transport has had a 2-3x impact on boot performance. Optimisation is an ongoing effort. Change-Id: I7f838f5b5e88ac877a725386a33df58ee5e7213c Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65942 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* ipmi: Remove IpmiRP dependency on targetingAndrew Jeffery2018-10-102-17/+0
| | | | | | | | | | | | | | | | | | | | Shortly, a PNOR implementation will be introduced that is dependent on IPMI for managing the layout of the LPC FW space. To facilitate this, remove IpmiRP's dependency on Targeting so that the ipmibase module can be moved into the base image (to be initialised before the PNOR implementation). Break the dependency by having the Targeting service initialisation fetch the maximum IPMI buffer size from the IPMI interface and populate the necessary attribute for HBRT. Change-Id: Ie51244435b0e14c9a5f0838283021b08858035f6 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65937 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* ipmi: Split into ipmibase and ipmiext modulesAndrew Jeffery2018-10-1013-0/+3017
Split the IPMI module into base and ext portions, with the BT interface, device driver and resource provider in the base portion, and all remaining IPMI functionality in the ext portion. The split is in preparation for moving the base functionality in the hostboot base image. Change-Id: Iec864f96240d79f4fadd5519d2ef46437d07c1fd Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66792 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
OpenPOWER on IntegriCloud