summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/targetservicestart.C
Commit message (Collapse)AuthorAgeFilesLines
* Automatically include config.hDan Crowell2019-12-061-1/+0
| | | | | | | | | | | | | | | | | | 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>
* Update SYS's ATTR_XSCOM_BASE_ADDRESS in SMF PathsIlya Smirnov2019-09-031-0/+14
| | | | | | | | | | | | | | | | | | | | | The correct value of ATTR_XSCOM_BASE_ADDRESS was not being propagated to HDAT when SMF is enabled. The problem is that the system target has a copy of said attribute that needs to be updated with the SMF bit (bit 15) to reflect the fact that XSCOM BAR is in SMF memory. The attribute under the system target was not being updated accordingly (only those attributes under proc targets were). This commit adds a fix to update ATTR_XSCOM_BASE_ADDRESS under the system target in SMF mode. Change-Id: Icac5bb7023ac0ecc521a961681420bfc21a46eac Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83057 Reviewed-by: Nicholas E Bofferding <bofferdn@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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
* Handle processor swap between slots to 1-socket systemDan Crowell2019-08-051-8/+65
| | | | | | | | | | | | | | | | | | | | | | If a processor was booted in the second slot, it will be programmed to use the memory for that slot. When it is installed in the first slot it will then get reprogrammed to use the data for slot0. However, if the new system only contains data for that 1 slot, we won't be able to find a match to do the initial part of the boot. This change will force some values into good enough shape to get the boot far enough to do the SBE update to reprogram the memory map. Change-Id: I9b88d4181272104a8c680e9b5e84c4d204fdea05 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80680 Reviewed-by: Matt Derksen <mderkse1@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: Daniel M Crowell <dcrowell@us.ibm.com>
* Move the NVDIMM_ARMED attribute from PROC to DIMM typeCorey Swenson2019-06-211-8/+2
| | | | | | | | | | | | | | | | The attribute holds status for armed/occ_active/errors. As DIMM type it will more accurately reflect nvdimm status. Removed the workaround using the scratch register. RTC:211510 Change-Id: I8a1c686773fc7d9ba4d2788dc788764f5170c136 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79068 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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Handle NVDIMM encryption errorsCorey Swenson2019-06-181-5/+18
| | | | | | | | | | | | Update ATTR_NVDIMM_ARMED and ATTR_NV_STATUS_FLAG Update notifyNvdimmProtectionChange() Set encryption error and check before arm/disarm Change-Id: I1edf738af3460684ee93b02f06ff417c3e72d4e3 RTC:210689 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78828 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Secureboot: Enhanced Multinode Comm: TPM_POISONEDIlya Smirnov2019-03-011-0/+1
| | | | | | | | | | | | | | | | | | | This commit introduces a new attribute TPM_POISONED used to indicate that a certain TPM was poisoned during the boot. This attribute is also used to adjust the trustedboot flag in HDAT: if the primary TPM was poisoned during the IPL, the trustedboot setting is turned off in HDAT. Change-Id: I32ff6e79ebba0e38c0e8b4b9bd4aa0f52a250d9a RTC: 203645 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72129 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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* OpenPOWER support for native and compatibility mode for DD2.3Matt Derksen2019-02-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | Witherspoon (OpenPOWER) will run in native mode, which means all the processors have to be at the same level (all DD2.2 or all DD2.3). Other systems (ZZ) we support running in a mixed configuration where DD2.3 processors will be run in 2.2 compatibility mode. We also need to support arbitrary OP systems that might want to run in compatibility mode even without mixed parts. See src/usr/hwas/common/README.md for the rules and resulting mode. Change-Id: I80fb98e2687b945ba506f2d75b1533884443e10b RTC:201485 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72214 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Inform PHYP of NVDIMM protection by OCCMatt Derksen2019-01-241-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OCC is responsible for detecting the EPOW signal and triggering the save operation on the NVDIMM. Therefore, if the OCC is not running we are unprotected from a poweroff event. PHYP needs to inform the LPARs using the NV (non-volatile) memory of this state so they can behave accordingly. HBRT is responsible for telling PHYP when we get into this state. There are two ways we can detect this state: a) HBRT explicitly puts the PM complex into reset b) PRD detects a specific FIR bit The message should include this data: - what state we are in (protected or unprotected) - which processor is affected Work for this story will include: - Definition of the new message - Creating a utility function to send the message - Calling utility function to send 'unprotected' message inside of all pm reset paths at runtime Change-Id: Ib015d001d47883a247faedabedb0705ba0f1b215 RTC:201181 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68870 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: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support a default risk/init level per MRWDean Sanner2018-11-261-5/+11
| | | | | | | | | | | | | | | | | | | | | -Previously default risk/init level was always 0 and required manual overriding to change. This commit allows for a default risk level to be specified in the MRW for a per system control without involving the BMC - Note that this is dependent on a change in the SBE to not always set the valid flags on the mbox scratch regs to actually control the default (today SBE always sets the valid bits). In the future the valid bit will only be set when someone manually overrides the scratch reg. Change-Id: Ia0e935a0d436f9dbb8233a8f1f181b4c7300d6d4 CQ: SW451891 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67344 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>
* Attribute support for recursive mutexesMatt Raybuck2018-11-121-9/+38
| | | | | | | | | | | | | | | | Added a new recursive mutex attribute, new test cases, and initializers for recursive mutex attributes. Change-Id: I49e6bc4fc2fd84e5c46e5d4c5ec125270347bde5 RTC: 196793 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67939 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix reversed polarity in SBE console checkDan Crowell2018-10-171-4/+4
| | | | | | | | | | | | | | Had the if check reversed, now it isn't Change-Id: I88d2a698539188c2f2bcd71d332b8d3762bf821b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67558 Reviewed-by: Sachin Gupta <sgupta2m@in.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>
* Close windows where Hostboot HRMOR is not available to FSPNick Bofferding2018-10-121-0/+14
| | | | | | | | | | | | | | | | | | | There are certain small time windows where the core scratch register, which holds the Hostboot load address for FSP to read in order to dump Hostboot, is cleared during winkle. This change caches the Hostboot load address in a processor attribute that FSP can read/use in the event it happens to request a dump in the window where the core scratch register is not valid. Change-Id: I776df5e64f4d8ad382392662d08ee349661ba78a CQ: SW444212 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66664 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@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>
* ipmi: Remove IpmiRP dependency on targetingAndrew Jeffery2018-10-101-0/+10
| | | | | | | | | | | | | | | | | | | | 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>
* Set SBE console enable based on Hostboot config varDan Crowell2018-10-041-0/+26
| | | | | | | | | | | | | | | ATTR_LPC_CONSOLE_CNFG will shadow CONFIG_CONSOLE on the master proc, always disabled on the slave chips. Change-Id: Idf7286f91455148856b57ff66450c97862b3506e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66798 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: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Support HB running in SMFDean Sanner2018-09-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | Support SMF for P9N/P9C. Lots of minor tweaks to make this work, but the biggest is to run userspace in problem state This is needed because for SMF Hostboot will need to run in S=1, HV=0,PR=1 (and kernel in S=1, HV=1, PR=0) This commit makes P9 HB userpsace run in HV=0 PR=1 and kernel in HV=1, PR=0. Change-Id: Ia4771df5e8858c6b7ae54b0746e62b283afb4bc4 RTC: 197243 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/50530 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: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Reset ATTR_SPCWKUP_COUNT to 0 at start of MPIPLChristian Geddes2018-09-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | We were seeing issues in the newly added PM_RESET call in istep 21. This was happening because if the SKIP_WAKEUP attribute is not set then PM_RESET will attempt to enable special_wakeup on all of the EX targets before enabling auto-special wakeup. We are then expecting special wakeup done bit to be set on all of th EX targets prior to enabling auto-special wakeup on the target. IF SPCWKUP_COUNT is still set to a non-zero value from the previous IPL the call to enable special_wakeup will result in a no-op so the special wkup done bit will never be set in the GPMMR. This causes to call to enable auto-special wakeup to fail Change-Id: Iabdb5099ea9d6eb195003697de8ca074804d2d98 CQ: SW446135 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66430 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>
* Port System and Node Targets Stitching CodeIlya Smirnov2018-09-051-2/+26
| | | | | | | | | | | | | | | | | | | | HBRT's targeting doesn't map the System target to its nodes correctly because the target stitching code, that already exists on FSP, is not present in HBRT. This change ports the abovementioned code to HBRT, so that the system and node targets are correctly associated to each other at the end of targeting init. Note that unstitching is required during MPIPL to break the links between sys <-> node because only one node on which hb is running is visible during the boot. Change-Id: I9731144c480b3357ff7b4aff02d13623a1119dac CQ: SW432119 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65494 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: William G. Hoffa <wghoffa@us.ibm.com>
* Deconfig EC/EX/EQ at runtimeRoland Veloz2018-08-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applied the normal parent/child rules for EC/EX/EQ logic to be done in the runtime deconfig logic. After applying the deconfig logic, then reset the PM for the parent proc of the EX/EX/EQ. To facilitate the code changes, modified the return value of the TARGETING::getParent(...) call. It no longer returns a const * Target, considering 5 times out of 7 of it's usage, users were just staic_cast(ing) away the const. Clear out the HB reset attribute in the mpipl path. Modify PRD logic to use runtime deconfig call in malfunction alert path. CMVC-Prereq: 1066157 Change-Id: If81f2f15c6e84bf2adb6fd66c1321b8f1ddf1a86 CQ: SW443157 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64873 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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Base Core/Kernel Changes to Support the Axone Processor ChipBill Hoffa2018-08-201-0/+6
| | | | | | | | | | | | | | | - Add the new cpu type, update the pvr checks and other miscellaneous changes to support a new Axone proc chip type Change-Id: Ie2541bf826bdff65f6f11b0f16839855d69eb4d6 RTC: 173001 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64260 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>
* Enable PM Malf Alert Handling & PM Complex FFDC to HOMERAmit Tendolkar2018-08-011-0/+4
| | | | | | | | | | | | | | | | | | | 1. Enable ATTR_PM_MALF_ALERT_ENABLE so that alerts due to a PM Complex failure are sent to PHYP and related callouts, etc by PRD are enabled. This is enabled only for PHYP loads. 2. Enable ATTR_PM_RESET_FFDC_ENABLE so that on a PM Complex Reset triggered due to PM Errors (e.g. Malf alert, etc.), PM Complex FFDC is captured and stored in the HOMER to enable debug. Change-Id: I2c0b753e461a59e12f99ef029702759f508904cb CQ: SW436197 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62727 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>
* Only store HRMOR value on primary nodeMatt Derksen2018-07-231-65/+77
| | | | | | | | | | | | | | | | | | | | | | There is a single field in HDAT where Hostboot fills in an address where PHYP will then write the new HRMOR value any time it changes. The problem is that the independent Hostboot instance in each node is writing the same field with their own node-relative address. There is only 1 field so the last node in will win. Then on the mpipl we won't be able to find it. Change-Id: I18f64816f20b0a3fc2951dff457d9511ca27e1d2 CQ:SW438101 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62763 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Richard Ward <rward15@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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove invalid HRMOR setting codeChristian Geddes2018-07-181-25/+0
| | | | | | | | | | | | | | | | | At one point in time there was a plan to have the SBE read the HRMOR and set it in the keyAddr stash space that is used to talk to HB. That plan was cancelled but the code was added to Hostboot. This commit removes the old invalid code. Change-Id: I026f07065ae3fc74849ffc4c08fcebbf01aec86f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62564 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: 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Refactor re-init of targeting data during MPIPL/HBRT startupChristian Geddes2018-06-021-1/+27
| | | | | | | | | | | | | | | | | | | | There are a couple of things we have to do to targets/attrs when we either transition from Hostboot->HBRT or from HBRT->Hostboot during an MPIPL. These include resetting all of the mutex attrs so they are in the unlocked state and updating the pointer which PEER_TARGET stores as a value to reflect the change in the memory mapping. For both of these tasks we need to loop through all of the targets.This refactor allows both these tasks to be done in the same loop. Change-Id: I23614bba11b2c9eabb97a7ddc7a53937f83dc131 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58316 Reviewed-by: Martin Gloff <mgloff@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: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Set attribute PROC_MASTER_TYPE during MPIPLBill Hoffa2018-05-311-4/+20
| | | | | | | | | | | | | | | | | | | | | - During an MPIPL it is possible for the current master processor to switch (failover scenario). The PROC_MASTER_TYPE attribute needs to be updated so after an attribute sync the FSP still has the correct attribute data Change-Id: I9738c4e829a3d73672c7dab0d9483a7856116aa0 RTC: 182718 CQ: SW430670 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59612 Reviewed-by: Dean Sanner <dsanner@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: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Set Master Proc Attrs during MPIPL FSP Fail-Over ScenarioBill Hoffa2018-05-241-0/+7
| | | | | | | | | | | | | | | | | | | | - Need to account for a Service Processor Fail-Over scenario where the 'master' processor could change. Because of this, FW must re-evaluate which target pointer is the current master and update attributes accordingly. Change-Id: I83ada72389f05cc2a80d4c6a34db7d9ab3c2b3ce CQ: SW429022 RTC: 182718 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59221 Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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>
* Ensure all hbmutex attributes get re-initialized on MPIPLChristian Geddes2018-03-291-2/+6
| | | | | | | | | | | | | | | | | | | | We saw a bug where we were getting hung up on one of the i2c engine mutexes on MPIPL. We still haven't determined WHY we are seeing the mutex locked after an MPIPL but just to be safe we are now looping through all of the targets and checking each attribute to see if it is of type hbmutex. If it is then we will call mutex_init on the mutex to reset it so the mutex is ready to use. Change-Id: Ie05f7f49c4599c7cfc5d33c43d79cb977bb0cd13 CQ: SW420894 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56136 Reviewed-by: Martin Gloff <mgloff@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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add attribute to give platform more control over PM_RESETChristian Geddes2018-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | The PM_RESET hwp calls special wakeup enable on all EX targets, then will clear auto-special wakeup bit on the core if special wakeup is done. In some cases hostboot does not want these steps of the PM_RESET. This attribute gives the platform the ability to decide if they want to enable special wakeup and clear autowakeup on the cores during PM_RESET CQ:SW412666 Change-Id: I8f2e40f4b122f3ff6a048fa6931a1e47f89d3e4f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53953 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53976
* Set ATTR_RISK_LEVEL based on scratch reg bitsDan Crowell2018-02-111-2/+21
| | | | | | | | | | | | | | | | The risk level value has expanded to 2 extra bits to handle new modified settings. Change-Id: Ic3794066659fe5ebe82b330c9530a04f7eadee94 RTC: 187088 Backport: fips910 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53023 Reviewed-by: Martin Gloff <mgloff@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>
* Default to full cache usage during early HostbootDean Sanner2018-02-091-1/+12
| | | | | | | | | | | | | | Early hardware had to support a partial cache config which is inefficient. Placing this code behind a config option, defaulting to full cache usage Change-Id: I521a1d9644d754a2657993603e3e2b2aab90112a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53606 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
* Always set RISK_LEVEL regardless of valueDan Crowell2018-02-071-4/+1
| | | | | | | | | | | | | | | | | | | | Fixing a bug where we only set ATTR_RISK_LEVEL if the value is non-zero. This leads to cases where we cannot clear the value once we set it. I also changed the persistency of ATTR_RISK_LEVEL so that it doesn't persist across boots since it will always be set to a new value during each boot. Change-Id: I9df1e505755f860524a3b1af46c68f315f142066 CQ: SW415934 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53451 Reviewed-by: Dean Sanner <dsanner@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Zero out Cumulus related virtual address attribute during MPIPLChristian Geddes2018-01-311-4/+23
| | | | | | | | | | | | | | | | | | During MPIPL we want to zero out virtual address attributes because we want to insure they get recomputed on the MPIPL pass through the isteps. These values can change between boots so its important to recompute them on the MPIPL pass. Change-Id: I58f810e70ed61d9acb04bd32c92fbed45f2b78a2 RTC: 172534 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52582 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> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Populate ATTR_FABRIC_PRESENT_GROUPSIlya Smirnov2018-01-191-0/+22
| | | | | | | | | | | | | | Set the appropriate bits of the ATTR_FABRIC_PRESENT_GROUPS at the system level based on the ATTR_PROC_EFF_FABRIC_GROUP_ID attr of each proc. Change-Id: Ie76aee7c58d9843553549e2811081aacfc81f311 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52089 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>
* Compute PAYLOAD_BASE attr based on phys_addr passed from PHYPChristian Geddes2018-01-181-1/+6
| | | | | | | | | | | | | | | | PHYP is writing the physical address of their new HRMOR into the provided hdat address. Hostboot will now take that physical address and mask off 0 bit of the address. Also the PAYLOAD_BASE attribute is the unit MB so we will divide the masked address by 1 MB Change-Id: Ic01a1ad489b8051f96d77195f73848b09e2ae89b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51990 Reviewed-by: Martin Gloff <mgloff@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>
* During MPIPL expand memory size to be FULL_CACHE right awayChristian Geddes2018-01-181-1/+8
| | | | | | | | | | | | | | | | | | | | | | | When attempting MPIPL on Zeppelin we saw that we were running out of memory during the Hostboot init phase of the MPIPL flow. This was happening because HB thinks it needs to be running out of limited cache still at this point. During the attrrp init code in MPIPL we will page in a bunch of ATTR data. This fragments our page table and make future large mallocs impossible. This commit expands Hostboot's memory out to full cache size right away when hostboot is getting initialized. This will give us some breathing room during the initialization steps until we hit thread_activate where we expand the cache out to REAL_MEMORY size Change-Id: I1fcc33359de989a0ded231b52272b85e06725e18 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52056 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: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Read the hb/hyp comm area to see if hyp moved hrmorChristian Geddes2017-12-211-0/+68
| | | | | | | | | | | | | | | | | | | | | During MPIPL it is possible that the hrmor was moved while the hypervisor was running. Before this commit if the hrmor was moved then hostboot would fail when we tried to collect dump information. With this commit hostboot will read the hyp/hb comm area to see if the hypervisor has moved the hrmor and told HB, if the hyp has then hostboot will set the ATTR_PAYLOAD_BASE attribute on the system target during the target service initialization Change-Id: I89b76913ffa106656f188364a2a077f982474084 RTC: 180959 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48699 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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* During MPIPL check if SBE has set Hyp HRMOR in blComm areaChristian Geddes2017-11-141-0/+25
| | | | | | | | | | | | | | | | | | | | It is possible for the Hypervisor to move the HRMOR during runtime If this occurs, then we trigger an MPIPL, hostboot needs to be sure to set the PAYLOAD_BASE attribute to whatever the Hypervisor had the HRMOR set to before mpipling. The HRMOR is read out by the SBE during its MPIPL steps and written to the bootloader which the bootloader passes up to hostboot. Change-Id: I415b4a0465020f89f95fcde974123362067cbbca RTC:180959 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49562 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>
* Traces from bringup memory remapping for no memory behind master procMarty Gloff2017-09-291-1/+2
| | | | | | | | | | | | | | | | During debug of problems with OP / BMC systems, a trace bug was found and some debug traces were used. This commit captures select trace changes. Change-Id: I9398c0b0ccd44414e6fc360cfc68db581729db6a RTC: 149250 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46769 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> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Bringup memory remapping Fix LPC and XSCOM BAR assertsMarty Gloff2017-07-261-2/+2
| | | | | | | | | | | | | | | | | The LPC and XSCOM BAR values are checked and an assert coded in the failure leg. The condition for these asserts is being fixed. Also the LPC BAR check is being fixed to subtract out the start offset. Change-Id: I09f9989a51f6581c5b12a4a5057a4fcfa3412566 RTC:149250 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43286 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: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use Scratch Reg 3 Bit 7 to allow Attribute Overrides in Secure ModeMike Baiocchi2017-06-161-0/+24
| | | | | | | | | | | | | Change-Id: Ic9b220dc3480c13e1b1ac1c69a0be148ab5ea977 RTC:163094 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41114 Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@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>
* Use XSCOM BAR from Bootloader instead of hardcoded valueDan Crowell2017-06-071-1/+9
| | | | | | | | | | | | | | | | The memory map can be modified by the SBE such that the XSCOM BAR is not in the default location. The BAR value is passed up through the bootloader into hostboot. Change-Id: I469b7534d384bce4bb8c72f7cd78d0075ac04632 RTC: 173519 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41140 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> 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> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Setup INTP bars correctly when memory is swapped on master proccrgeddes2017-06-021-0/+67
| | | | | | | | | | | | | | | | In the event that no memory is detected behind proc0. We will attempt to use the memory behind a slave proc instead. When this occurs we must adjust the interrupt bars to account for this swap Change-Id: Ib37a190b7a7a2c655440ffd2bad56c351b4d4fa2 RTC: 173527 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40820 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: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Map BAR attributes based on data from BootloaderDan Crowell2017-06-021-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | If the master processor has no memory behind it the entire memory map must be modified. Each processor has its own statically defined map that covers both memory and MMIOs. If the master has no memory, its memory map is swapped with another processor. Each processor gets a new effective fabric id that is then used to compute all of the BAR values for those processors. The SBE boots with a certain memory map programmed into the master processor. That value is then passed up through the bootloader into Hostboot. This value is compared to the BAR values that Hostboot assumes it is using. Based on that comparison, various attributes are computed to match the effective fabric positions. Change-Id: I2b0d1959c303df8c9c28c8f0a5b5be1e77aa154f RTC: 173528 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40359 Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-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>
* Fix TPM log manager init in MPIPL modeNick Bofferding2017-05-031-0/+17
| | | | | | | | | | | | | | | - Updated some TPM specific attributes back to defaults in MPIPL mode Change-Id: I15835a6e09c335daeb90a89a3e1a4fe04e05a1ca CQ: SW387016 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39925 Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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: William G. Hoffa <wghoffa@us.ibm.com>
* Support mailbox scratch register bit for security overrideNick Bofferding2017-04-281-0/+5
| | | | | | | | | | | | | | | - Added new mailbox scratch reg 3 bit 6 for security override - Trace propagation of this bit across the chips Change-Id: Ib353a1856dc68566cb090163fab532d7a4607073 RTC: 170650 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39527 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Clear out VIRT_ADDR_BARS in MPIPLcrgeddes2017-04-141-0/+24
| | | | | | | | | | | | | | We need to clear out the XSCOM and HOMER virt addrs attributes on all procs when we start up the targeting service during MPIPL Change-Id: Ibb392c1190966d4d678bb1196d69d979032ebf21 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38942 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Set PROC_SBE_IS_MASTER on master proc when we read mbox regscrgeddes2017-04-071-0/+1
| | | | | | | | | | | | | | | | When initializing the targeting service we set up some attributes. One attribute that we are not setting that would be useful later is this PROC_SBE_IS_MASTER attribute. We know at this time which proc is master so we will set the attribute on the master proc Change-Id: Ib927a0b7dc2e6ef10d82ca699323e07516750ee9 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39003 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@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: Christian R. Geddes <crgeddes@us.ibm.com>
* Always set ISTEP_MODE based on scratch regDean Sanner2017-03-131-0/+4
| | | | | | | | | | | | | | - Currently ISTEP_MODE was only ever getting set, which would result in it being permanently stuck in istep mode after a successful boot. Change to clear/set based on scratch reg flag Change-Id: I0d6061502ee7454c7f3d2356b1f127bc810636be Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36891 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@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 a global to track when targeting has been loadedMike Baiocchi2017-03-081-0/+4
| | | | | | | | | | | | | | | This commit adds a global that keeps track of when targeting has loaded along with functions to get and set this global. Change-Id: Iddd65018918089163ebc03f042bfdd1bed31e730 RTC:165205 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37595 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@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>
* Support DRTM RIT protectionNick Bofferding2017-03-031-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added mailbox scratch register 7 definition - Added DRTM functions - Added set/clear security switch register functions - Added additional security switch bit definitions - Added secureboot extended library to host DRTM functions - Inhibited TPM start command in DRTM flow - Added new config options for DRTM and DRTM RIT protection - Added new DRTM attribute to indicate if DRTM is active - Added new DRTM attribute to hold DRTM payload address - Added new DRTM attribute to initiate DRTM in lieu of loading payload - Updated target service init to determine DRTM settings - Updated host start payload step to initiate DRTM if conditions are met - Updated host MPIPL service to verify DRTM payload and clean up DRTM HW state - Updated host gard step to verify DRTM HW state - Rerouted PCR extensions to PCR 17 in DRTM boot - Use locality 2 for all PCR extensions in DRTM boot - Inhibit extension logging (for now) in DRTM boot - Only extend seperator to PCR 17 in DRTM boot Change-Id: Id52c36c3a64ca002571396d605caa308d9dc0199 RTC: 157140 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35633 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Timothy R. Block <block@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support reading RISK_LEVEL from mbox scratch regsDean Sanner2017-02-201-0/+8
| | | | | | | | | | | Change-Id: I350c5aa31322914d573caf3df47da2e459da6aa3 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36584 Reviewed-by: Martin Gloff <mgloff@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: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
OpenPOWER on IntegriCloud