summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice
Commit message (Collapse)AuthorAgeFilesLines
* Add current istep into TI SRCDan Crowell2019-12-181-0/+4
| | | | | | | | | | | | | | | | | | Word4 of the SRC is defined to be the 'last progress code' for FSP SRCs. For Hostboot TIs, we currently leave that word zero. This change will add the same data that we put into the scratch register 5 into word4 so that we will have the failing istep for any TI we encounter. Change-Id: Iaf5ec835d45b1ea3a6ced20b5b7f7d07216c548e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/88813 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: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com>
* Automatically include config.hDan Crowell2019-12-065-10/+4
| | | | | | | | | | | | | | | | | | 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>
* Fix invalid use of vector iteratorGlenn Miles2019-10-161-3/+6
| | | | | | | | | | | | | | | | | | | Once an element of a vector is erased using an iterator, that iterator should be considered invalid and not used. The accepted practice is to update the iterator with the return value of the erase method and not to increment the iterator. CQ: SW465848 Change-Id: If6ec7887d8c2b6c6ad44a9608c474b9c118bd117 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/85220 Reviewed-by: Zachary Clark <zach@ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@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: Nicholas E Bofferding <bofferdn@us.ibm.com>
* Add wrapper to exp_getidec HWP so we can call it in platform codeChristian Geddes2019-09-201-1/+11
| | | | | | | | | | | | | | | | | | | | | There has been a trend to create more HWPs that process raw data. This allows Hostboot and Cronus to share more code. The trick is that we generally want to call these HWPs inside traditionally hostboot-only code. This new fapiwrap directory will help encapsulate all of the calls to ekb code in one place. That way if we ever need to remove HWPs/EKB code it will be easier to stub out the calls. In the past we have contaminated a lot of Hostboot-only code with calls out to EKB code. This new new directory should help avoid this issue. Change-Id: I2b2d0d1e62c97f0976c9c9ede3fe2eac30c7a40f RTC: 214627 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83029 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: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add SMF mode flag to HOMER for use by OCCChris Cain2019-04-301-0/+12
| | | | | | | | | | | | | | Change-Id: I03daab724811f09aa83c4e0d7929f0a013a2b731 RTC: 164116 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76398 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@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: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: Sheldon Bailey <baileysh@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Moving libnvdimm into a resident moduleDan Crowell2019-03-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | The nvdimm module provides the back-end of a device driver interface. That means that it has a REGISTER_ROUTE call that will run when the module is loaded. Right now the module is loaded/unloaded for several isteps, which means we end up seeing DEVFW_RC_DOUBLE_REGISTRATION errors. These are only informational, but they are still indicating a problem. This change moves the libnvdimm.so module into the list of extended initservice tasks that get loaded before we start the isteps. This is where all of our other device drivers live. I cleaned up a leftover call to libmmio.so that was there from the same kind of change previously. Change-Id: I3e2e1bc8e273b46b8c297be0d9d75ff3e660fa00 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72731 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Add ASSERT trace buffer to task crash logDan Crowell2019-03-191-1/+4
| | | | | | | | | | | | | | | | | | A common cause of task crashes is an explicit assert. Without full traces we can't differentiate an assert from a nullptr error, and we don't know which line failed. This will add the ASSERT trace to the error log that gets created for any task crash. Change-Id: Ieaccf74ab7c8688109b80b0e22818e45cfdb8028 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72557 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Dropped messages at shutdownChen Du2019-03-151-1/+9
| | | | | | | | | | | | | | | | | | | Mailbox is needed to send attrs to FSP but it is disabled after a shutdown request, which causes messages to be dropped. Solution is to process messages as normal, but after the shutdown is requested we then ignore all future attr messages Change-Id: I7f3cc4bea66f324ae9ab8dbffe59bf9a7a7edc87 CQ: SW448904 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71012 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> 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Create a common explorer accesss module expaccessChristian Geddes2019-03-111-1/+1
| | | | | | | | | | | | | | Move everything from expscom to the new, more general, expaccess. All code dealing with io to explorer should live here. Also add some ocmb communication test cases. Change-Id: Icd57bc094782873afb18ac22518aa2681db0b933 RTC: 186630 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72224 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> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
* Method to execute testcases early in the bootDan Crowell2019-02-281-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new CONFIG variable has been created that will trigger the istep dispatcher to start the CXX unit test execution at some point during the boot rather than waiting until the end. This is useful for quick targeted testing and also for early bringup of new platforms. CONFIG_EARLY_TESTCASES is the new flag, and it uses ATTR_EARLY_TESTCASES_ISTEP to determine where in the boot to stop. Changes were required in several testcases to either skip the test completely (typically due to not having enough memory) or to add additional logic to load new support libraries on demand. The Axone platform has this flag enabled by default to execute testcases at the end of istep 6.9 (host_gard). Change-Id: I1da9479e2147d68102f44d60e064c3b79cc41bb6 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71693 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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Move watchdog timer to prevent timeoutMatthew Raybuck2019-02-261-13/+21
| | | | | | | | | | | | | | | | | | | | 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>
* Load HWAS module earlier in ext init tasksChristian Geddes2019-01-281-13/+13
| | | | | | | | | | | | | | | | | | | | We were seeing crashes when an error occurred early on in the boot. Errors get processed immediatly following the loading of the IMPI module, this is because at this point we can send the logs to the BMC. If the error had a sensor callout it would attempt to branch to hwas code, prior to this commit, the HWAS commit would not be loaded in at this point causing an instruction exception. By moving the loading of the HWAS module to be prior to the loading of the IMPI module we should avoid this issue. Change-Id: I012e717577dc717dac67d9cf25a5091bb4a0fd84 CQ: SW455241 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70939 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>
* Remove trace buffer flush at end of shutdown pathNick Bofferding2018-11-291-3/+0
| | | | | | | | | | | | | | | | During early boot fails (for example, HBD secure verification fail), the trace daemon is not yet loaded. In this case, invoking trace flush on the shutdown path will hang the shutdown handler and prevent Hostboot from TIing. This patch removes that final trace flush. Change-Id: I7ce587e648da42a017ff1304d943d0f2201eced2 CQ: SW451419 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69175 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: Nicholas E. Bofferding <bofferdn@us.ibm.com>
* Fix shutdown race condition and task start error in IPMI SEL libraryNick Bofferding2018-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - Load libipmiext.so with START_TASK option, in order to notify error logger that errors can now propagate down to BMC via IPMI. Previously and erroneously, the library was loaded with the INIT_TASK option, preventing any SELs from flowing down to BMC. - Force IpmiSEL constructor to run when libipmiext.so is loaded, in order to register the shutdown handler with the init service. Without this, it's possible for the IpmiSEL constructor to run during shutdown itself, which down not handle new shutdown handler registrations properly. Change-Id: If333a8a6e1ce1ad8ca405dc2bb80fca3905ae674 CQ: SW451419 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69094 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Progress code tweaksDan Crowell2018-11-271-0/+5
| | | | | | | | | | | | | | | | | | | Added additional calls to poke the watchdog during draminit training advanced in anticipation of FSP using the progress codes as a finer granularity timeout mechanism. Started rolling the internalStep nibble of our CFAM reg istep counter as a way to show internal progress in long-running steps Change-Id: I7a3bd08d9ab71b020a05b7476b3e31f8c81c4f86 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68393 Reviewed-by: Daniel M. Crowell <dcrowell@us.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: 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: William G. Hoffa <wghoffa@us.ibm.com>
* Route scom operations on OCMB chips to exp_i2c_scom interfaceChristian Geddes2018-11-151-0/+12
| | | | | | | | | | | | | | | | | | | | | | Before we get OMI targets trained we must use i2c to access scom registers on the OCMB chip. This commit does all of the plumbing so when HWP calls getScom() on a OCMB target, the hostboot platform recognizes this as a special scom and routes it to a new i2scom DD. This device driver will truncate the scom address to 32 bits and run the exp_i2c_putscom/exp_i2c_getscom interfaces to perform the operation. Eventually we need to also support MMIO scoms to the OCMB chip, the MMIO scoms will be used after the OMI training is complete. Change-Id: I0018cc8d25f74d1253b72c3112d3e344a4248416 RTC: 196806 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67976 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins OP Build CI <op-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>
* Initial documentation for initserviceDan Crowell2018-11-091-0/+105
| | | | | | | | | | | | | | Add brief descriptions of the sub functions inside initservice Document shutdown priorities Change-Id: Ib95a4d4d14368b4863409966916bbfee3a265a1d Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68460 Reviewed-by: William G. Hoffa <wghoffa@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: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
* Inband MMIO access to OCMB (skeleton)Rick Ward2018-11-091-1/+13
| | | | | | | | | | | | | | | | This is a skeleton version of the new MMIO device driver that will give access to the OCMB. It is being pushed to allow related development to progress. Change-Id: Iefec0677e63db6af29d81389c630584ba9dff16c RTC: 189447 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68489 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Allow stopIPL to be called before istepdispatcher is loadedMatt Derksen2018-11-024-34/+49
| | | | | | | | | | | | | | | Hostboot was crashing because a graceful shutdown was requested before libistepdisp.so loaded. Change-Id: Id9206961bcbb72094ff359f26db720b92480f5fb CQ: SW445973 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68110 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Send Attn chip list for monitoringMatt Derksen2018-10-232-0/+140
| | | | | | | | | | | | | | | | | Need to let ATTN know that they need to start monitoring non-primary processors and centaurs after we determine they are functional. Change-Id: Ia33ddc87a94c0ca972accb2d6078c2f9f2e7bd2c CQ: SW446697 CMVC-Prereq: 1070543 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66717 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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Serialize all attribute synchronization callsNick Bofferding2018-10-171-1/+2
| | | | | | | | | | | | | | | Forces all FSP attribute synchronizations down to FSP to serialize in the attribute resource provider attribute synchronization daemon thread to avoid concurrenty problems. Change-Id: Ifb355ba6f42872465ea3d6f0d9009cfd6f768d7a CQ: SW448280 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67450 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>
* sio: Add test for availabilityAndrew Jeffery2018-10-151-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some components can continue to operate in the face of the SuperIO controller being unavailable on the LPC bus (specifically, the UART and boot flag processing). Other components require it present (AST-based SFC implementations and the AST mailbox). Components in the latter category can just fail with an errl when they attempt to access the controller, but for those in the former category we add an isAvailable() function in the SIO namespace to sidestep dealing with errors. Specifically, isAvailable() tests for the expected error when the SuperIO controller is disabled, and returns an errlHndl_t if any other error occurs. This way true LPC errors are propagated to the caller to commit as desired. For the moment *all* errors produced by the SIO::isAvailable() LPC bus access will result in the SIO code assuming the device is absent. We should be more precise about this, but the hardware behaviour seen under hostboot currently prevents us from being more specific. This problem is highlighted by a FIXME block in the implementation of SIO::isAvailable(). Change-Id: Id30a09b48586d2054e0cdae625ee23df68ac2aa3 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67460 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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Revert "sio: Add test for availability - LPC error tweak"Andrew Jeffery2018-10-151-15/+0
| | | | | | | | | | | | | | | | | | This reverts commit 627379aeaa27e30d66ebb0aecf218708d465162c, which incorrectly attempted to account for LPC errors during testing for SIO absence. The broken patch interprets the OPBM status as LPCHC status and expects an LPCHC SYNC Abnormal error, however as it's the OPBM status that indicates the error we never hit the LPCHC error path to populate the errl with the error RC expected by the SIO driver. Change-Id: Ib993d4a2b9b4e5018d9273a1c82f8b5c21ec9a25 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67459 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>
* sio: Add test for availability - LPC error tweakDan Crowell2018-10-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Some components can continue to operate in the face of the SuperIO controller being unavailable on the LPC bus (specifically, the UART and boot flag processing). Other components require it present (AST-based SFC implementations and the AST mailbox). Components in the latter category can just fail with an errl when they attempt to access the controller, but for those in the former category we add an isAvailable() function in the SIO namespace to sidestep dealing with errors. Specifically, isAvailable() tests for the expected error when the SuperIO controller is disabled, and returns an errlHndl_t if any other error occurs. This way true LPC errors are propagated to the caller to commit as desired. Change-Id: Ib94ceabfd4f4e9c63c114cfe3db3c954dbb6d6e5 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67315 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: ANDREW R. JEFFERY <andrewrj@au1.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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* initservice: Move ipmibase module to base imageAndrew Jeffery2018-10-102-16/+18
| | | | | | | | | | | | | | | Moving ipmibase to the base image enables the development of a new, IPMI-based PNOR implementation. This new PNOR driver will negotiate the layout of the LPC FW space using an AST MBOX-like protocol, now known as the hiomap protocol, but using IPMI as a transport. Change-Id: I22eae6b558ab38a489ac85b4d31c55ff0a87a192 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65939 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-101-9/+15
| | | | | | | | | | | | | | | | | | | | 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-101-2/+11
| | | | | | | | | | | | | | | | | | 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>
* initservice: Flush trace buffers before shutdown syscallAndrew Jeffery2018-10-081-0/+3
| | | | | | | | | | | | Change-Id: I33ee94cf691d075587537130e55c2dc7c237045b Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67074 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* HWSV - Hostboot common data structure for Attn chip Id listSrikantha Meesala2018-10-031-2/+18
| | | | | | | | | | Change-Id: If5b727934d670332c46f7fe023c85f21cf947a3e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66453 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>
* Shutdown: Move attribute sync to shutdown handlerNick Bofferding2018-10-011-15/+0
| | | | | | | | | | | | | | | Moved synching attributes into an attribute resource provider shutdown path to avoid race conditions along the shutdown path where a normal error path coupled with parallel shutdown leads to FSP attribute sync errors. Change-Id: Ibdb828f8132da1e251f880ef0e7d4fea2e4619a3 CQ: SW443737 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66431 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>
* istepdispatcher: Remove undefined symbol ENTER_INFO from TRACDCOMPAndrew Jeffery2018-09-251-2/+1
| | | | | | | | | | Change-Id: I59a7155c5d855e32d2ce6164b56a1eb132dd1d11 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66568 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-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>
* Additional tracing for shutdown eventsMatt Derksen2018-09-122-10/+42
| | | | | | | | | | | | | | | | | Hit an issue where a shutdown was called but all that is traced is a msgQ pointer. These traces should help associate the msgQ pointer to an actual task being shutdown. Change-Id: Ic22fdde1a146eec90f26d557e8af1ddec3c85c4e CQ:SW443508 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65464 Reviewed-by: Christian R. Geddes <crgeddes@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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Keep original istep error log during reconfig loopsDan Crowell2018-08-311-1/+5
| | | | | | | | | | | | | | | The original istep log may contain useful information that we don't have in the reconfig log. Instead of deleting it, just commit it as INFO. Change-Id: I7cd031997665d70227579b22701ed063d4f81bb5 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64275 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@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: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Atomically latch shutdown status and TI data together in shutdownNick Bofferding2018-08-032-75/+166
| | | | | | | | | | | | | | | | | | Consolidates updating shutdown status and the TI area into the same atomic code region to prevent race conditions where one path invokes shutdown first, but another one ends up racing ahead and replacing the correct TI data with its own. Change-Id: Ic1e185e9bb6f2fc1c512a18976b89b12d47eb823 CQ: SW440180 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63760 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: ILYA SMIRNOV <ismirno@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* bootconfig: Describe pnor boot flagsJoel Stanley2018-07-102-2/+44
| | | | | | | | | | | | | | | | | | | | The reserved boot flag is now used by a BMC to signal to the host firmware that it supports the mbox protocol[1]. Currently this has no affect on Hostboot, but in the future it will be used by skiboot. In the future hostboot could chose to use the mbox protocol to read and write PNOR. [1] github.com/openbmc/mboxbridge/blob/master/Documentation/mbox_protocol.md Change-Id: I51bc7878eabc975954371ada838d0a348b12ef9d Signed-off-by: Joel Stanley <joel.stanley@au1.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60181 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add Support for TPM Message Queue FlushingIlya Smirnov2018-07-011-0/+10
| | | | | | | | | | | | | | | Add a synchronous message handler to TPM daemon. This message handler is used to make sure that all of the traces are flushed before the daemon is shut down. Change-Id: Ibb8ea2fd12d7ded9e43f284ff44c1791e61d8767 CQ:SW435287 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55223 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Pre-set HB TI Area in doStutdown PathIlya Smirnov2018-06-302-1/+20
| | | | | | | | | | | | | | | | | | | | When a TI occurs during ECC corruption, the kernel asserts as part of the error flow, and the assert makes it into the TI area before the ECC error code, which makes it hard to debug the underlying issue. This change introduces the logging of the TI code to the HB TI area as part of the doShutdown path and a mechanism to not overwrite the first logged error code. That way the TI area will always contain the first error code that caused the TI. Change-Id: Idcd5727314aea9b92a6eb9d19ec6ed223111861a CQ:SW431570 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61661 Reviewed-by: Michael Baiocchi <mbaiocch@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: William G. Hoffa <wghoffa@us.ibm.com>
* Save HRMOR in mbox scratch reg for IPC messagingPrachi Gupta2018-06-261-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to know where the IPC message of a given node is, we save off the HRMOR of every node in a hw register. Originally, we were saving this information in the core scratch register. Since, the core scratch registers are wiped off when the cores go into the winkle state, therefore, we were writing to the register after we come out of winkle. But, at that point, we ran into race conditions because other nodes could be ahead and try to access the register on a node that is not exactly out of winkle yet. This fixes the problems by using the mbox scratch register rather than the core scratch register because they are saved off even when the cores go into winkle state. Because the registers are preseved, we can set the value prior to cores coming out of winkle, so, we don't run into the race condition where one node is trying to read a value prior to the other one writing the value. Change-Id: I822bfc8defe09cbb418edc5f36a99b7cd41eec88 CQ:SW435271 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61093 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>
* Added in a sleep after we winkle in istep 18 to avoid race conditionsPrachi Gupta2018-06-201-0/+6
| | | | | | | | | | | | | | | | | | We are adding in a sleep to make sure that all the nodes are awake from the winkle prior to writing the HRMOR in the core scratch register for IPC to function properly. CQ:SW433411 Change-Id: I01eb6c1005047c4c6eebe5c15db083e6ec9df1e0 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60992 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Disable-CI: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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: William G. Hoffa <wghoffa@us.ibm.com>
* New Global For Console DaemonIlya Smirnov2018-06-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | This change implements a new global variable that indicates whether the console daemon has been started. This variable is checked in the doShutdown path prior to printing any console traces. There may be a situation very early in the IPL where we attempt to write to console before the console daemon has been started. This causes timeouts and IPL failures. Change-Id: Ibec90d2207e5db9ef3b9507503d1ea9e2eb7cf6d CQ: SW431130 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60060 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@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: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fixes to node IPC messaging to handle non-zero base addressesBrian Bakke2018-06-072-1/+7
| | | | | | | | | | | | | | | | | | | | Current code has each Node calculate each Remote Node's IPC area remote address by performing a fixed format calculation. This change has each Node calculating its IPC area Remote address and posting this value to a local SCOM register. A Node reads a Remote Node's SCOM register to acquire the Remote IPC area address. Change-Id: I25260ce180e0d07e5e81990d4c1f99e249912491 RTC:191463 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59177 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@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: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add some MAGIC instructions to aid Simics optimizationDan Crowell2018-05-301-0/+6
| | | | | | | | | | | | | | | | 8001 - Tell Simics we are waiting on the FSP 8006 - Tell Simics we shutdown 8020 - Tell Simics which istep we're running CQ: SW423959 Change-Id: Icea13d2ed7ff73de04400c46b9b1855e94db7c84 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58104 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: Hieu C. Nguyen <hieu.nguyen@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Establish Base Support For Sending Mailbox Messages Across XBUS/ABUSMike Baiocchi2018-05-241-1/+13
| | | | | | | | | | | | | | | | | | | | This commit establishes base support for Secure Node Communications. It creates a new device driver to operate the XBUS and ABUS Link Mailboxes and adds base support for using these device drivers to send and receive messages. It also adds a test to perform a 2-chip XBUS Link Mailbox operation. Change-Id: I19510888c0922e5bb857cffc9426399e79e113ba RTC:191008 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58376 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@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: William G. Hoffa <wghoffa@us.ibm.com>
* istepdispatcher: Reset the watchog to enable itWilliam A. Kennington III2018-05-191-0/+22
| | | | | | | | | | | | | | | Performing a watchdog set command alone is not enough to re-enable the watchdog. In any instance where we want the watchdog to be running we need to issue a reset immediately after the set action to guarantee it was started. Resolves #137 Signed-off-by: William A. Kennington III <wak@google.com> Change-Id: I16b617cf26c9e6af8151ac415689a8c6956c6e11 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58547 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* istepdispatcher: When trying to set the watchdog, clear DONT_STOPWilliam A. Kennington III2018-05-191-3/+1
| | | | | | | | | | | | | | | | We intend to actually stop the watchdog so allow the set command stop it as defined in the IPMI spec. Resolves #137 Signed-off-by: William A. Kennington III <wak@google.com> Change-Id: I07152602dd0c03c0224a20e5bea3d4ff804fc093 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58546 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>
* Check if Console Library is Loaded Before Printing to ConsoleIlya Smirnov2018-05-101-2/+6
| | | | | | | | | | | | | | | | | | | | | When a failure occurs early in IPL (for instance, due to corrupt secure headers), the doShutdown path attempts to print a trace to the console, which, if the console has not been initialized yet, locks up the shutdown path, and we don't shut down gracefully. This change adds a check to make sure the console library has been loaded prior to flushing the trace in doShutdown path. Change-Id: I74942476de0a8c3f4cba41b92b05369687441f68 CQ: SW426722 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58346 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Log Hostboot state information in all error logsDan Crowell2018-04-133-2/+71
| | | | | | | | | | | | | | | | Add the Istep number and substep number to Hostboot Error Logs to assist in problem debug. These items will be added as a user data record to all Hostboot Error Logs prior to Runtime. Change-Id: Ib5d269f3c1853d6d6856669744630dc130fa7094 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54764 Reviewed-by: Martin Gloff <mgloff@us.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>
* Get Hostboot Dump after Hostboot CrashMarty Gloff2018-04-091-3/+8
| | | | | | | | | | | | | | | | | | | | | | When Hostboot has a TI with a PLID rather than a Reason Code (RC), HWSV does not attempt the Hostboot Dump. Thought is that happens per the design as the error log related to the PLID sent by Hostboot should already have the required information. There are instances where the error log does not have sufficient data and a dump would be beneficial. A path is being added so an error log can be flagged as needing a Hostboot dump. Change-Id: I97972308c70e7210f578fb818563bb9b0cd940b4 CQ: SW420219 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56600 CI-Ready: Daniel M. Crowell <dcrowell@us.ibm.com> CI-Ready: Martin Gloff <mgloff@us.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> Reviewed-by: Corey V. Swenson <cswenson@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>
* Do not elevate severity of reconfig error logDan Crowell2018-03-121-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The code as currently written will elevate the severity of any log that is used to terminate the hostboot ipl. In most cases this is the correct behavior as we always want a visible log. However, there are cases where hostboot terminates for the sole purpose of triggering a reconfig loop via the FSP in order to recover from a recoverable hardware issue. In this case the log shouldn't be visible since we don't want the customer to take any actions. The fix is to add a little bit of logic to differentiate these two scenarios to control the severity setting. Change-Id: I7253aec8c28a40c5cdebf4933ceccbecd119b9f4 CQ: SW420495 Backport: yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55379 CI-Ready: Nicholas E. Bofferding <bofferdn@us.ibm.com> CI-Ready: Daniel M. Crowell <dcrowell@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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Remove all explicit calls to special_wakeup from hostboot codeChristian Geddes2018-02-161-9/+0
| | | | | | | | | | | | | | The only time that special wakeup should be called on the hostboot platform is when it is called by other HWPs. PM_RESET will only enable special wakeup if the SKIP_WAKEUP attribute is set to 0 Change-Id: Ib9939eae857fa5113a876a717f8169e150b78318 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54148 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>
OpenPOWER on IntegriCloud