summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime/hdatstructs.H
Commit message (Collapse)AuthorAgeFilesLines
* Add Physical Presence Check and Window Open FeaturesMike Baiocchi2019-11-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | This commit does the following: - Adds an interface to detect if physical presence has been asserted -- This happens in istep 6 -- If the window is open to detect this, it is then closed here - Adds an interface to possibly open the window to look for physical presence -- This happens in istep 10 -- It first checks to see if the window should be opened -- If the window is opened then the system shuts down to wait for physical presence to be asserted on the next power on - Adds the necessary attributes to support and test this functionality RTC:211220 Change-Id: I05a26ebad581875a4b9f2a51eb1ca3062f36c5fb Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84656 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Christopher J Engel <cjengel@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>
* OPAL/MPIPL: Processor Dump Area Table interfacesRaja Das2019-03-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Secure Boot: Set trusted boot enabled in HDAT considering all nodesIlya Smirnov2018-05-311-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements reporting of trusted boot status to HDAT considering all nodes of the system. To avoid inter-node communication, the check is done after the HDAT TPM info is populated for all nodes. The logic goes through all TPM Info HDAT records (for each node) and checks whether the master TPM on each node is present and functional. The result is aggregated into the trusted boot enabled bit on the master node. The check is done after the separators have been extended into TPM; this allows each primary TPM more chances to fail before we say that it's functional. Trusted boot enabled bit is reported as 1 if ALL primary TPMs on ALL booting nodes are present and functional. It is reported as 0 if at least one primary is not present or not functional. Change-Id: I926532efe85b33e95e50d84b0b5e4554852f0601 RTC: 191194 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59279 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Open Untrusted Communication for SPStephen Cprek2018-01-171-1/+21
| | | | | | | | | | | | | Change-Id: I87c7fe74349521eaec6ebf373e99f13eb1bf74f8 CQ:SW412793 Backport:release-fips910 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51742 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> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add comments for hb/hypervisor communication struct and remove TODOChristian Geddes2017-12-211-1/+11
| | | | | | | | | | | | | | | | Add comments from a previous review and also removed TODOs now that hdat code is in backing build Change-Id: Ibf561fdfd7a61b66611a065d77a73fc81dd4e7e7 RTC: 180959 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50907 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> Reviewed-by: Daniel M. Crowell <dcrowell@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>
* Add hbHypCommArea struct to end of Hostboot Data reserved mem sectionChristian Geddes2017-12-151-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | The Hypervisor needs a way to send down an address to the host so that the host can account for the HRMOR moving and still be able to boot on an MPIPL. To do this we are adding another subsection to the existing reserved memory section which already was holding VPD and attribute info. This subsection will serve as the HB-HYP communication region. For now PHYP is the only hypervisor using this space and they are only using it to store the HRMOR if they decide to move it. In order for the hypervisor to easily find where to write the HRMOR we added an address pointer to HDAT that hostboot will fill in to tell PHYP where to write the HRMOR. This is all setting up for us to be able to read the HRMOR after an MPIPL so that we can load the hypervisor in at the correct address. Change-Id: I5d3687a207296bd87d2a7120dd17505e0022b748 RTC: 180959 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48651 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: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Add HDAT Permissions type to Hostboot Reserved Memory SectionsStephen Cprek2017-08-291-3/+8
| | | | | | | | | | | | | | | Additionally pre-verified images are now marked read only Change-Id: Ieba7a4d3e787d155bb3217d52fd9f7cd6ea3dae2 RTC:178470 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44936 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: 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>
* Support new i2c device link ID formatNick Bofferding2017-07-141-0/+11
| | | | | | | | | | | | | | Change-Id: Ie79caad8ec9fe0be5421185360c5ea9b2d5dee3d RTC: 173541 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42681 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: NAGENDRA K. GURRAM <nagendra.g@in.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
* Refactor populate_HbRsvMem to use a function to fill entriesStephen Cprek2017-05-311-2/+20
| | | | | | | | | | | | | Change-Id: Ia16001250e9c7c6612b683458d8e8b593739f0f3 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40411 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Add TPM Presence Info to HDATJaymes Wilks2017-05-231-0/+3
| | | | | | | | | | | | | | | | Populate HDAT TPM Section with TPM Presence Info by refering to link IDs in HDAT PCRD section and verify that the PRCD section's list of link IDs are unique and valid. Change-Id: I49956aae129b325f55a6358caa0af4da1951b58c RTC:170638 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39658 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> 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>
* Propagate attribute overrides up to the HBRT codeDan Crowell2017-04-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Attribute overrides are stored in a separate tank of memory from the regular attribute values. This tank will be added as an additional reserved memory section for HBRT to consume (only if overrides exist). Also fixed a couple bugs encountered while testing: - No longer crashes if an error is created inside the targeting initialization code. - Added reserved bytes to RHB definition. Change-Id: I5b10f7ad8dfcb58c550868bb83c4d843f48e1aae RTC: 169942 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38547 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> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Report HW Keys' Hash size in HDATNick Bofferding2017-04-101-1/+1
| | | | | | | | | | | | Change-Id: I51a336090020a7822289c974a754ae95a8f9e3a1 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38720 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: Christopher J. Engel <cjengel@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Populate HDAT TPM InfoJaymes Wilks2017-04-101-2/+6
| | | | | | | | | | | | | | Populate TPM Info during the secureboot runtime routine. Change-Id: I02b960c175d51dc9b5941e15a529bd1587747444 RTC:166834 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37187 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: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Update the HDAT HB reserved memory fieldsCorey Swenson2017-02-281-3/+5
| | | | | | | | | | | | Change-Id: I45fb3144836877b3b495e62d06289f70af7dbdf6 RTC:168523 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35855 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> Reviewed-by: NAGENDRA K. GURRAM <nagendra.g@in.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* TPM Log Pass up to FSP HostJaymes Wilks2017-02-071-2/+13
| | | | | | | | | | | | | | | | Adds hostboot functionality to populate the HDAT area with System Security Settings, TPM Configuration bits, TPMs/Drawer and Hardware Key Hash Values in the HDAT area for passing up to FSP hosts. Change-Id: I34a9ec51d0311a0a7bc5468a8261a1276b0e5f7a RTC:125306 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35163 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add option to get reserved mem section from hdat servicecrgeddes2016-12-201-0/+23
| | | | | | | | | | | | | | | In the future, attribute/targeting hdat data will be stored in main store memory and hdat will just have a pointer to the memory location. This is setting up the ability for hdat service to provide the memory locations. Change-Id: I3d6748cb496c79465602d89e3c4f6d4508a68b35 RTC:165369 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33436 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>
* Support HB runtime data for adjunct partitionBrian Stegmiller2016-06-231-2/+20
| | | | | | | | | | | Change-Id: I7249f2b195dd02a0ab5a88b53d63cc4a1663cf9d RTC: 138638 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25373 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Elizabeth K. Liner <eliner@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-11/+11
| | | | | | | Change-Id: I5664587b4f889099290ef50d50fa9ce5e580e1eb Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11167 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support SPIRA-H HDAT FormatDan Crowell2013-07-301-42/+76
| | | | | | | | | | Change-Id: If87eedf15c1ef96ea00c1a5574ad1f6b72e697b5 RTC: 71881 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5498 Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Load a fake payloadPatrick Williams2013-03-261-21/+24
| | | | | | | | | | | | | | | | | Support loading a fake payload that simply naps all the threads. I am not enabling this via the simics_MACHINE.system.xml files because it causes drastic usability concerns for developers wanting to use the debug tools. When the payload is launched, the HRMOR changes, which means the debug tools no longer point at Hostboot. Change-Id: Ic899cf96af4d315f01c0ca4b7fc99e97c15d4dc1 RTC: 43029 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3642 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Host Data ServiceDan Crowell2012-12-131-0/+244
Implemented functions to load the Host Interface Data into memory and retrieve pointers to specific pieces of data therein. Verified in Murano and Tuleta configs. RTC: 49509 Change-Id: I18b44cd53f2cab91b83ecad283b998783e275d4f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2367 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: Melissa J. Connell <missyc@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
OpenPOWER on IntegriCloud