summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/runtime/rt_targeting.C
Commit message (Collapse)AuthorAgeFilesLines
* Make RT_TARG id generation code common between IPL time and runtimeChristian Geddes2020-01-221-57/+2
| | | | | | | | | | | | | | | | | For axone we are writing the OMI mmio bars into hdat so the hypervisor know how to talk to the devices. IPL code needs to be able to lookup the hbrt-style ids so we can use them to make hdat entries that the hypervisor will be able to associate targets with. This commit also move rt_targeting.H to the correct include directory and updates everywhere that it is included. Change-Id: I31deaa1a9c5a7523622a8b3b12ad459e2b2feed3 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80419 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>
* Delay targeting update in CFM until all nodes are processedDan Crowell2018-10-121-43/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Before rebooting HBRT onto a new level of code, we perform a series of operations to run against the new level of targeting data. The new data is retrieved as a lid per node. Previously we processed each node completely before moving to the next one. This is problematic because the act of applying the new data to our live memory has the side effect of breaking some future accesses to attributes that are required as part of the lid processing. The fix here defers all of the live memory updates until after all of the lids have been processed, thus allowing attribute lookups to continue to work. Change-Id: I8e8aebb7f87afc5acbf8be86c0ec727f91fce64f CQ: SW447768 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67357 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 consistent enter-exit traces for all runtime interfacesDan Crowell2018-10-021-0/+5
| | | | | | | | | | | | | | | | | | Created a new 'HBRT' trace buffer that is exclusively used to bound the external calls into our runtime image. Modified the return code values to be the reasoncode of the error log we commit instead of a generic '-1' value that is not very helpful. Change-Id: Id41288ea1903bf6d11e967fcb10a8184153943c8 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64871 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: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* HBRT attrrp depends on node zero being presentMarty Gloff2018-06-211-2/+1
| | | | | | | | | | | | | | | | | Rework the code in the runtime startup() function to not depend on using Node 0 reserved memory data to discover what nodes are present and to create "invalid node" structs in iv_nodeContainer for nodes that are not present. Change-Id: I61f0dbdc94c6dd1a31a3e3453b149e7322311a6e RTC: 192967 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59497 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>
* Remove Ordinal ID as an Attribute to MatchMarty Gloff2018-04-231-9/+2
| | | | | | | | | | | | | | | | | | During the preparation for doing an HBRT concurrent code update, targets in the current reserved memory data are matched with targets in the new LID structure. One of the attributes used has been ordinal ID, but this is not always set in the LID structure, thus preventing matches to be found. It is being removed as a condition for finding a match. Change-Id: I6b0bea6a001a9ca085fb5a41da714780543655e6 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57583 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: Brian E. Bakke <bbakke@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support multiple nodes in HBRT - Concurrent Code UpdateMarty Gloff2018-04-091-48/+72
| | | | | | | | | | | | | | | | | | Enable HBRT to prepare for a concurrent code update on a multiple node system. Modify preparation function called by Host to loop through all nodes on the system. Make additional updates to go from supporting only a single node to supporting multiple nodes. Change-Id: I2d72b26abf40812641815051b968d6b540d27b00 RTC: 186584 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53952 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>
* Support multiple nodes in HBRT - Support Multiple Nodes in TargetServiceMarty Gloff2018-03-051-9/+26
| | | | | | | | | | | | | | | | | | Change to call the TargetService class initialization function with the correct maximum number of nodes rather than always defaulting to 1. Provide support to get first target iterator for a specific node. Update AttrRP::translateAddr functions to handle nodes. Change-Id: Ia3496c2f4daf0b78999bde35565f4541fedb0b4d RTC: 186869 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53190 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: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Bug fixes for concurrent update of HBRTDan Crowell2018-02-241-88/+189
| | | | | | | | | | | | | | | | | | | Fixed a bug where the wrong copy of the attribute was being used after our code update preparation was run. Fixed a bug due to not having enough memory allocated to update the attribute values during the transition. Added space to initial reserved memory to allow for new attributes to be added at runtime. Change-Id: I97c4d20ff1c369398be470fef718bbd001f71c1b CQ: SW417526 ForwardPort: yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54685 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>
* Concurrent code update of HBRT - Enable Interface for HostMarty Gloff2018-01-161-146/+175
| | | | | | | | | | | | | | | | | | Includes changes to enable the host interface for HBRT concurrent update. Also includes some changes for fixing prior review comments, for fixing bugs found in end-to-end testing, and for removing temporary code used when the LID was unavailable. Change-Id: I221bbd299567c8b0dad058cae4620b94f7bff7c8 RTC: 181285 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51498 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian E. Bakke <bbakke@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@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>
* Concurrent code update of HBRT - Update StructureMarty Gloff2018-01-081-0/+532
| | | | | | | | | | | | | | | | | | Update Hostboot targeting data in the new targeting structure from the current targeting data. It will have the logic to save and restore values as appropriate. Change-Id: I7ae4a0c2e58548f6f1a6229f40b9fda833670e86 RTC: 180908 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48504 Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Brian E. Bakke <bbakke@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>
* Concurrent code update of HBRT - Runtime InterfaceMarty Gloff2017-10-191-1/+24
| | | | | | | | | | | | | | | Create the runtime interface for PHYP to call. Change-Id: I1ec7ca2df4491b5a6fa83e12261679165d177a27 RTC: 180906 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48209 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support runtime target translation for PhypNick Bofferding2016-03-291-311/+88
| | | | | | | | | | | | | | | | | | | | | | - Added ordinal IDs to system XML files - Added new HBRT_HYP_ID attribute to proc, membuf, core targets - Removed duplicate target type extensions - Customize HBRT_HYP_ID attributes in istep 21 based on payload type - Updated runtime translation interfaces for simple, efficient lookup - Added templated memoizer to speed up simple input/output functions - Generate ordinal IDs in common attribute parser - Added various test cases RTC: 146153 CMVC-Coreq: 989094 Change-Id: Ic60996f3b7c3197191f8939f362c578b54475df4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22254 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins 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> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Update constants and comments for P9 PIR formatDan Crowell2016-02-291-34/+31
| | | | | | | | | | | | | | | Implemented a set of macros and constants that can be used everywhere to translate a PIR into its component parts and pull out individual pieces of data from a complete PIR. Also added and updated the references to the old ATTR_FABRIC_NODE_ID with ATTR_FABRIC_GROUP_ID. Change-Id: If9735f53940e5849a648729e4bf8ca0cfbb09f6e RTC: 88055 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/706 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-10/+10
| | | | | | | 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>
* HBRT fapi wakeup supportDoug Gilbert2014-03-201-0/+400
RTC: 98665 Change-Id: Ib9e9f8f3656989975cc08a29304ba7faa25c59e4 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9364 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
OpenPOWER on IntegriCloud