summaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
* Moving libnvdimm into a resident moduleDan Crowell2019-03-224-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* OPAL/MPIPL: Processor Dump Area Table interfacesRaja Das2019-03-214-18/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support to collect processor architected register data. SBE <--> Hostboot : ------------------- During first boot, hostboot reserves memory to copy architected register data by SBE and sends address to each SBE (see commit 9f49d11b). During MPIPL SBE collects architected register data and copies to reserved memory. Hostboot <--> Hypervisor : -------------------------- HDAT/SPIRAH has new ntuple (Processor Dump Area) to pass various architected register data. During IPL/runtime hypervisor reserves memory for architected register data and updates SPIRAH. During MPIPL (istep 14.8), hostboot converts SBE formated architected registers data to HDAT format and copies to hypervisor reserved memory. It uses NACA/SPIRAH pointers to get hypervisor reserved memory details. Hostboot has to update SPIRAH ntuple after loading new LID to memory. Hence this patch introdues below new attributes: - PDA_CAPTURED_THREAD_REG_ARRAY_ADDR - PDA_CAPTURED_THREAD_REG_ARRAY_SIZE - PDA_THREAD_REG_ENTRY_SIZE - PDA_THREAD_REG_STATE_ENTRY_FORMAT Change-Id: Idc7489e8cf6fc68fe80f028ba6deb97aa72486bf CC: Sampa Misra <sampmisr@in.ibm.com> CC: Daniel M. Crowell <dcrowell@us.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/61627 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>
* Security List Binary Dump Chip-op SupportRaja Das2019-03-212-3/+48
| | | | | | | | | | | | Change-Id: I4a4b7c8fccab508ee59e5e6330b27b07b5ae91f8 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71417 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: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: MURULIDHAR NATARAJU <murulidhar@in.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Update UCD class member variables and functionsMike Baiocchi2019-03-201-18/+2
| | | | | | | | | | | | | | | | | This commit makes Ucd class member variables to hold the I2C information stored in an attribute of the UCD. It also makes updateUcdFlash() a member function. Change-Id: I66221f0bd1b7dbe82ed4547c0635fbf99628471b RTC:205979 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/74674 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@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>
* UCD flash update invokerNick Bofferding2019-03-204-1/+34
| | | | | | | | | | | | | | | | | | Implements the main algorithm for finding applicable UCDs to perform flash update on and walking the UCD flash image table of contents to find the image associated with a UCD. Also adds a check to skip the update if simics is running. RTC: 201991 Change-Id: Ib35abec2f0a2ed22ae8d41a2acecd146f699bc43 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/73484 Tested-by: Jenkins Server <pfd-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: Matthew Raybuck <matthew.raybuck@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>
* Improve performance of general PG algorithmMatthew Raybuck2019-03-183-3/+74
| | | | | | | | | | | | | | | | | | | The previous PG algorithm had several places where targets would be rechecked or modified unnecessarily. This commit restructures the PG algorithm and pulls all related code out of discoverTargets and adds it to checkPartialGoodForDescendants which will be called by discoverTargets. Change-Id: I045f17f7ac22c673633cd3d951997b2371be1b8d RTC:206066 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72732 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: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Tweak page eviction parameters to handle low mem betterDan Crowell2019-03-181-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are memory constrained in some configurations during 10.2 because we are forced to pin large chunks of memory to hold a few data partitions. In some instances we have run out of free memory completely. The fact that we don't hit this all the time indicates it is purely based on timing and the random nature of page allocations. A few changes were made to better handle these kinds of low memory situations: - Any time we dip into the kernel's private stash of free pages we will force memory periodics to run. This should free up some pages so that the kernel's stash can remain full. - The size of the kernel's private page stash is increased from 4 to 10. We need this larger number due to the increased layers involved in paging code in/out with secureboot enabled. - The LRU algorithm was modified to keep pages around longer. A page will not be evicted under normal circumstances until we go 10 refresh cycles without an access (up from 3). This should help balance out the increased number of forced periodics that could now come into play. Change-Id: I289d866270db9d70cac275d8c98ab185caaade05 CQ: SW458623 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/73189 Reviewed-by: Nicholas E. Bofferding <bofferdn@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add functions to get Device Id and MFR revision from UCDMatthew Raybuck2019-03-181-0/+46
| | | | | | | | | | | | | | | | This will add the necessary functions to properly read the Device Id and MFR revision from the UCD90* devices on a ZZ or Zeppelin system. Change-Id: I38ffdffb62bf1c1af8941819cdbd74458308879f RTC:205979 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/73185 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add std::remove_all_extends to HB STL libraryAndre Marin2019-03-151-0/+7
| | | | | | | | | | Change-Id: I6fa0e9930a9d8340416ab3c775238f60931882d8 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72688 Tested-by: Jenkins Server <pfd-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: Chen Du <duchen@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support UCD discoveryNick Bofferding2019-03-151-1/+14
| | | | | | | | | | | | | | | | | | - Added new attribute to indicate if target should be assumed present - Added that attribute to SP/BMC/UCD targets - Check for assumed present UCDs in discover targets - Iterate through every UCD for data flash update RTC: 201991 Change-Id: Ia535a58ea0355582621a23d3c1b50b2417ad362f Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/73047 Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Dropped messages at shutdownChen Du2019-03-152-2/+24
| | | | | | | | | | | | | | | | | | | 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>
* Fix issues with how we were handling new .so added for AxoneChristian Geddes2019-03-131-2/+1
| | | | | | | | | | | | | | | | | | This commit addresses two problems, one is that we were loading and unloading expaccess.so in the ocmbcomm tests when it is included in the extended image. Also we had mmio.so listed as a DEP lib in istep 12, this caused it to get unloaded after that step. This .so is also part of the extended image. To remove compile errors I added these new .so's to the listdeps.pl script. Change-Id: I83292a53e0021c05468605e62f9b00cefc2af268 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/73182 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@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 callouts for NVDIMM errorsCorey Swenson2019-03-112-2/+9
| | | | | | | | | | | | | | | | | | - Add part callout for NVDIMM controller - Add part callout for Backup Power Module - Call new procedure for NVDIMM errors Change-Id: I33d14b8e4220ced3c632c8174eaed5faca4f088d RTC:199645 CMVC-Prereq:1077602 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71977 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: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use thread_local for globals that require itGlenn Miles2019-03-112-15/+17
| | | | | | | | | | | | | Change-Id: I84294a60c53da2501b7bb1b53fe84d9f9709f8b1 RTC:147599 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72379 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> 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>
* Support thread local storageJaymes Wilks2019-03-111-0/+115
| | | | | | | | | | | | | | | | | | | | | | | Generally adds support to declare variables as thread_local - Add support in HBRT start assembly to skip adjusting TLS relocations - Add support in linker to generate tagged TLS entries - Update linker to process TLS relocations correctly - Update TLS code to ignore top half of module ID - Update module images to hold a "module ID" - Update custome linker to update module ID during binary link - Update TLS code to track TLS sections via module ID Change-Id: I1589550d7787beb08827ca24a728397dedf0373b RTC: 147599 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71709 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* UCD Flash Update: Support I2C SMBUS operations for UCD flash updateNick Bofferding2019-03-086-28/+199
| | | | | | | | | | | | | | | | | - Adds I2C SMBUS operations for UCD flash update - Creates UCD component ID + trace name - Creates stub for UCD flash update entry point Change-Id: Id75cdd137b5a4924998c04bdbdce9218610a4906 RTC: 201992 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72229 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: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enhance RAS for case where boot firmware image is too big to loadNick Bofferding2019-03-082-0/+4
| | | | | | | | | | | | | | | | Provides a better fail indicator when the boot firmware image is too big to load Change-Id: I23831068aafa693109b7af1d084dd168ea755213 CQ: SW437090 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72919 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: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Force VPD IO through HW (Axone) ,add plat function to get OCMB VPDRoland Veloz2019-03-074-5/+44
| | | | | | | | | | | | | | | | | This commit follows up on previous work that pulled in the code that can find the correct EFD given a SPD blob of data which has the DDR SPD and the EFD for the DDIMM. This commit adds ocmb_spd.C which provides a DeviceFW::SPD read interface for OCBM targets, and hooks is up to the platform implementation of the FAPI interface platGetVPD for OCMB target. Also this commit forces all VPD IO in Axone to go through HW, which will actually read from the new EEPROM cache in pnor. RTC: 203718 Change-Id: I270500898c422d4c78daa3b917b1b2e5b049e856 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72165 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Updates to testcases for AxoneDan Crowell2019-03-071-4/+4
| | | | | | | | | | | | | | | | | | Disabling a few testcases temporarily until Axone gets off the ground. Cleaned up some bad traces, etc in existing code. Add CI support for AXONE config Change-Id: I7a2140366e225971c91a50cec1f7e822e4847078 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72186 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@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: Christian R. Geddes <crgeddes@us.ibm.com>
* Secure Boot: Log error when attribute override attempted in secure modeLuis Fernandez2019-03-061-2/+3
| | | | | | | | | | | | | | | | | | | | While in secure boot, the first time an attribute override is attempted, an error is logged to let the User know that the override did not take. A flag was created in hb only attributes which tracks if attribute override has been attempted. Change-Id: Ife99e0cfa17934a02abeb291dfd7e06fe86e75e2 RTC: 205071 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72079 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@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>
* Add interface to look up model type of master processor on targetServiceChristian Geddes2019-03-051-1/+15
| | | | | | | | | | | | | | | | | | While going through IPL flow updates for Axone I realized it would be handy to have a targetService utility function that told us what MODEL we are running hostboot for. This commit introduced the interface TargetService::getProcessorModel() which will return the model of the master processor. Change-Id: Ia4c9a578bc39f08c69946b6fbbcb800707342e7d Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72587 Reviewed-by: Matthew Raybuck <matthew.raybuck@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: Matt Derksen <mderkse1@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>
* Secureboot: Enhance Error Callouts For New Multinode Trustedboot TransferMike Baiocchi2019-03-051-1/+8
| | | | | | | | | | | | | | | | | This commit adds many checks to callout potential issues with the new multinode trustedboot transfer protocol. It also improves some TPM-related traces. Change-Id: Ice3f8be0668cc63321eeb2562bb8ffe610284b6a RTC:203642 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72363 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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Revert "SMF: Create New UVBWLIST Partition"Ilya Smirnov2019-03-051-1/+0
| | | | | | | | | | | | | | | | | | | This reverts commit 9de9d8f7c5b5c73247dc69925a594fcd07ce060c. The logic for passing the XSCOM white/blacklist to Ultravisor will change drastically. The change in logic makes the UVBWLIST partition unneeded. This commit reverts all changes associated with UVBWLIST partition. Change-Id: Ife2b983a90be766f494c12bd60f5ac8cb394aa24 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72487 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: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* SMF: Memory Distribution Logic ImprovementsIlya Smirnov2019-03-011-2/+2
| | | | | | | | | | | | | | | | | | An improvement to the memory distribution logic was suggested in which the variable that keeps track of doubling the amount of memory per pass could be removed. This commit removes the variable and introduces a couple of other small changes. Change-Id: I35cae2d6c2beac2ce91d94f439fd0dec1f782afc Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68859 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Matthew Raybuck <mraybuc@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> 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>
* Unit Tests For SMF Secure Mem DistributionIlya Smirnov2019-03-011-12/+45
| | | | | | | | | | | | | | | | This change introduces the unit tests (and helper functions) to test the SMF memory distribution algorithm. Change-Id: I0084f869d582e96354f06ec76c3de416c9838701 RTC: 192411 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68679 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: FSP CI Jenkins <fsp-CI-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>
* Allow child/parent lookups between DIMM and OCMB_CHIP targetsChristian Geddes2019-03-011-2/+6
| | | | | | | | | | | | | | | Some hwps are trying to use the FAPI interfaces to lookup this relationship. We can support it so might as well allow it. Change-Id: I4677fdcabbce9798bf068263a916eedc2ee4eb44 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72552 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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use NVDIMM lids for updateMatt Derksen2019-03-011-5/+2
| | | | | | | | | | | | | | | | | This will enable grabbing NVDIMM images from lids. Change-Id: I7b8da696dd629ba41834a98e9e2cc1b9c0d872b4 CMVC-Prereq: 1075393 RTC: 201197 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71045 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Secureboot: Enhanced Multinode Comm: TPM_POISONEDIlya Smirnov2019-03-011-1/+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>
* Initialize and test alt-master PNOR access in all bootsBill Hoffa2019-03-011-7/+12
| | | | | | | | | | | | | | | | | | - Update to istep 10 (call_host_slave_sbe_update) to validate the alternate master pnor chip in all boots (no-op for systems with only one pnor chip) - Updates to pnor callout logic to callout as a PNOR part for several of the error paths Change-Id: I9218f9a14496444288ea7985e1fb080c25f7f201 RTC: 200449 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71489 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>
* Improve performance of Partial Good logicMatthew Raybuck2019-03-011-0/+4
| | | | | | | | | | | | | | | | | | | | The function PARTIAL_GOOD::findRulesForTarget() would call masterProcChipTargetHandle() to figure out if a rule applied to a specific target based on the ATTR_MODEL of a system. Since finding the master proc that way is an expensive operation, findRulesForTarget() will now use an instance variable initialized once instead of querying for it repeatedly thereby increasing performance substantially. Change-Id: I6e9c01daf356fe21d76d920f5d3210717f5094c1 CQ:SW450113 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72620 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@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: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Framework for NVDIMM updateMatt Derksen2019-02-285-4/+32
| | | | | | | | | | | | | | | | | This includes framework to update the firmware running on the NV controller. The controller requires 12V power to update, so this function in inside hostboot. Change-Id: I0733d83ff6ba2fc3f026d49c72784b1295bd3eed RTC:201197 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69879 Reviewed-by: Roland Veloz <rveloz@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: 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 support for native and compatibility mode for DD2.3Matt Derksen2019-02-283-15/+27
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Secureboot: Enhanced Multinode Comm: Add size of quote & signature to slv quoteIlya Smirnov2019-02-261-1/+1
| | | | | | | | | | | | | | | | | | This commit adds the size of the quote and signature fields returned from the TPM as part of enhanced multinode comm to the generated slave quote. This will make it easier to process the slave quote for remote attestation. Change-Id: Iab0d66bf5c34f49441fec346c6964458c58cff1f RTC: 203645 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72357 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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Revert "Enhance RAS for case where boot firmware image is too big to load"Daniel M. Crowell2019-02-232-6/+2
| | | | | | | | | | This reverts commit ee1cd5b0adfaf133abe846ccbaebe48d7dbded0f. We overran our size constraint in the bootloader. Change-Id: Ib579b5971e5f03131a0b6580cd698e7f725dd383 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72401 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* HB:Cme fir attribute reset fixPrasad Bg Ranganath2019-02-221-2/+5
| | | | | | | | | | | | CQ:SW455727 Change-Id: I854779403ab138f193ad7fc3ff188b4e7d48388e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72122 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: Prem Shanker Jha <premjha2@in.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enhance RAS for case where boot firmware image is too big to loadNick Bofferding2019-02-222-1/+5
| | | | | | | | | | | | | | Provides a better fail indicator when the boot firmware image is too big to load Change-Id: Ibb8765dec430b4e38de1d82e74e144c7ea8f3959 CQ: SW437090 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/61989 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>
* Secureboot: Enhanced Multinode Comm: Master NodeIlya Smirnov2019-02-204-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | This commit introduces the logic to create the master node nodecomm request to the slave nodes and logic to process the responses from the slave nodes. The data from the slave nodes (the slave quote) is hashed and extended into PCR1. The binary quote blob is also included in the TPM log as a log message. Additional changes: the logic to relocate the TPM log to increase its size, and the logic to allow uint8_t* instead of char* as the TPM log message. Change-Id: Ide4465f0d4a91aec815c9db5d765cdbde231dcd3 RTC: 203644 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71407 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com> 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: 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>
* Secureboot: Enhanced Multinode Comm: Slave NodeIlya Smirnov2019-02-194-19/+78
| | | | | | | | | | | | | | | | | | | | | | This commit introduces the logic to create the slave response for the new enhanced multinode comm protocol. The slave response consists of an eye catcher, node ID, quote and signature data from TPM, PCR contents of the slave node TPM, Attestation Key Certificate, and the TPM log. All of the above data is packaged into a binary blob to be sent back to the master node. Change-Id: I927c6ca937e6c07af4185cf54c782697c5d822f6 RTC: 203643 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70791 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> 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: Christopher J. Engel <cjengel@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enable mss_scrub on MPIPL if NVDIMM is configuredTsung Yeung2019-02-193-9/+11
| | | | | | | | | | | | | | | | NVDIMM restore blows away the scrub settings so it needs to be reinitialized during MPIPL Change-Id: I67f74c71e98b8907351eb7477bf197a941aefb8d Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71786 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: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Handle partial-bad MCS logic correctlyDan Crowell2019-02-191-5/+9
| | | | | | | | | | | | | | | | | One of the rewritten PG rules was incorrect for modules that have a MCS marked bad, e.g. Sforza. Change-Id: I30672b51f81ba74b51ece6e878e462106c090350 CQ: SW457231 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72010 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: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Support reading UCD flash update LIDsNick Bofferding2019-02-182-11/+72
| | | | | | | | | | | | | | | | | | | - Added support to read a single LID container and securely verify it - Added new compile flag CONFIG_UCD_FLASH_UPDATES to enable/disable future TI UCD9090/UCD90120A flash updates - Created shell function to hold the UCD flash update logic Change-Id: I94f3e43558af5d7951febdf6ff0685c120d2db0e RTC: 201992 CMVC-Prereq: 1076388 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71945 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> 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>
* Add new path in EEPROM device op to allow reading from new EECACHEChristian Geddes2019-02-169-134/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | Recently a new EECACHE section was introduced to Hostboot. This section gets populated with a copy of every PRIMARY_VPD eeprom (someday could contain other eeprom roles also) during host_discover_targets. This commit add support to allow users to select where they want to perform their EEPROM device operation. If they pass CACHE to the deviceOp macro then a read will come from the pnor cache, writes will write to pnor cache and then also write to the eeprom HW. If HARDWARE is passed in then reads and writes will be directly done on the eeprom hardware. If AUTOSELECT is passed the code will check our cache to see if we have a copy of the eeprom in question, if we have a copy we will go the CACHE path, if no copy exists we will go the HARDWARE path. Along with this change some reorganization was done w/ the eeprom related files. RTC: 196805 Change-Id: If2c4e5d3e338a1a10780740c1a019eb4af003b73 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70822 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> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Better logging for Partial Good Issues (2/2)Matt Raybuck2019-02-154-18/+32
| | | | | | | | | | | | | | | | | | | PG issues were only ever displayed in traces. This commit creates a new error log user detail section that will display the PG vector and highlight which entries have issues. In addition, targets that are determined to be non-functional will be added to the log and a hardware callout will be added if a chip is found non-functional. Change-Id: I9b401bcd5686951303946789034671c1a395fb91 RTC:180365 CMVC-Prereq:1075293 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70004 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> 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> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Update FAPI2 functions to handle new template parms for multicast supportduchen2019-02-142-35/+51
| | | | | | | | | | | | | | Include changes 70177, 70867, 70946 and get them compiling Due note that this will not compile as is because we still need some changes on the ekb side. List of such changes include: 1) fapi2_hw_access.H: MulticastGroupMapping not defined 2) fapi2_target.H: plat_apply_target_limits() and mcUpdateHandle() not defined 3) multicast_defs.H: MulticastCoreSelect enum not defined Change-Id: Ib828644d1535c65f4adcf9b3715cf0b1316f5700 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71310 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add EEPROM caching device opChristian Geddes2019-02-133-25/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a new EEPROM_CACHE deviceOp and registers the OCMB_CHIP, PROC, and DIMM targets to it. This is part of the larger effort to transition for a "VPD" cache to an "EEPROM" cache in pnor. The deviceOp is currently called in hwasPlat's platPresenceDetect if the target in question has a ATTR_EEPROM_VPD_PRIMARY_INFO associated with it. The layout for the new EECACHE section in pnor is defined in eepromCache_const.H. Essentially it is a header that contains an array of record headers that tell where in the EECACHE pnor section a given cached EEPROM can be found. All EEPROM targets will be allocated space in the EECACHE section but only present targets will have their cache filled in. RTC: 196805 Change-Id: I49c341c9784be04ddf0259bd444f06c9baf8c6f1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70520 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add more agressive memory allocation callsDan Crowell2019-02-122-1/+3
| | | | | | | | | | | | | | | | | | | | | If we hit a situation where we can't allocate a page of memory, this will force a coalesce (defrag) a few times and then eventually trigger other memory reclamation actions. Also tweaked a few spots in the kernel to enhance debug: - add more stops to look at errors (HB_BREAK_ON_ERROR) - add more backtrace calls - add a new debug flag to count the extra coalesce calls Change-Id: Ibac7079a44a12dc61e41304de4c4ae518c206d13 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71653 Tested-by: Jenkins Server <pfd-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> 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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add missing implied include to populate_hbruntime.HDan Crowell2019-02-121-1/+3
| | | | | | | | | | | | | Discovered some missing includes while doing some creative compiles. Change-Id: Ia77addd7bc8d0b10db1ed63a7e598c0f4892c0c8 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71654 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>
* Disable NVDIMM Trigger Before Draminit and Deassert DDR_RESETn During MPIPLTsung Yeung2019-02-125-11/+30
| | | | | | | | | | | | | | | | | | | | - Per the JEDEC spec, DDR_RESETn is masked from the DRAM when the NVDIMM is armed. This could cause the training to fail if the trigger is not disabled before training. Two scenarios where this can happen are warm reboot and cold boot before the backup power module can deplete the charge - Deassert DDR_RESETn in MPIPL before triggering the restore. - Fix the config flag to enable NVDIMM code Change-Id: I9d25c2f653fc54d379f0dbab49218f5b59a407a0 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70035 Reviewed-by: Matt Derksen <mderkse1@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add call to p9a_ocmb_enable to istep 10.4Christian Geddes2019-02-111-1/+2
| | | | | | | | | | | | | | | | Per IPL Flow doc for P9 Axone, p9a_ocmb_enable needs to be called on all processors during istep 10.4 RTC: 195553 Change-Id: I50fa98959008cccfe0620c8bc6e62f33ee91c135 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71229 Reviewed-by: Roland Veloz <rveloz@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* HBBL LPC Error CheckingBill Hoffa2019-02-083-8/+25
| | | | | | | | | | | | | | | | | | - To avoid IPL delays, the LPC status register should be checked prior to loading the entire PNOR image (done via LPC). If an error condition occurs, HBBL should fail out. Change-Id: I5d716213f468e28191db794bf3e5480af547b26e CQ: SW446254 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68442 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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
OpenPOWER on IntegriCloud