summaryrefslogtreecommitdiffstats
path: root/src/include/runtime/interface.h
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2014-02-19 16:33:26 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-04-11 12:44:48 -0500
commitd83e0f05717dc06edc537dcab1deb1758ba7dcf5 (patch)
treed9dc4791f8ad3f368830d31979f2b925af558246 /src/include/runtime/interface.h
parent646efbab03ef380876d843f9ab244f0c08b3fda1 (diff)
downloadtalos-hostboot-d83e0f05717dc06edc537dcab1deb1758ba7dcf5.tar.gz
talos-hostboot-d83e0f05717dc06edc537dcab1deb1758ba7dcf5.zip
HB runtime OCC support for Sapphire
Change-Id: Ie730f0676fa3e35b030d88da8ce666ee61c413a3 RTC: 76683 Backport: release-fips810 CMVC-Prereq: 922520 CQ: SW256269 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9187 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/runtime/interface.h')
-rw-r--r--src/include/runtime/interface.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/include/runtime/interface.h b/src/include/runtime/interface.h
index 4ff5e0687..eccf39bbd 100644
--- a/src/include/runtime/interface.h
+++ b/src/include/runtime/interface.h
@@ -150,6 +150,51 @@ typedef struct runtimeInterfaces
*/
void (*cxxtestExecute)(void*);
+ /** Get a list of lids numbers of the lids known to HostBoot
+ *
+ * @param[out] o_num - the number of lids in the list
+ * @return a pointer to the list
+ */
+ const uint32_t * (*get_lid_list)(size_t * o_num);
+
+ /** Load OCC Image and common data into mainstore, also setup OCC BARSs
+ *
+ * @param[in] i_homer_addr_phys - The physical mainstore address of the
+ * start of the HOMER image
+ * @param[in] i_homer_addr_va - Virtual memory address of the HOMER image
+ * @param[in] i_common_addr_phys - The physical mainstore address of the
+ * OCC common area.
+ * @param[in] i_common_addr_va - Virtual memory address of the common area
+ * @param[in] i_proc_chip - The processor chip id
+ * @return 0 on success else return code
+ */
+ int(*loadOCC)(uint64_t i_homer_addr_phys,
+ uint64_t i_homer_addr_va,
+ uint64_t i_common_addr_phys,
+ uint64_t i_common_addr_va,
+ uint64_t i_proc_chip);
+
+ /** Start OCC on all chips, by module
+ *
+ * @param[in] i_proc_chip - Array of functional processor chip ids
+ * @Note The caller must include a complete modules worth of chips
+ * @param[in] i_num_chips - Number of chips in the array
+ * @return 0 on success else return code
+ */
+ int (*startOCCs)(uint64_t* i_proc_chip,
+ size_t i_num_chips);
+
+ /** Stop OCC hold OCCs in reset
+ *
+ * @param[in] i_proc_chip - Array of functional processor chip ids
+ * @Note The caller must include a complete modules worth of chips
+ * @param[in] i_num_chips - Number of chips in the array
+ * @return 0 on success else return code
+ */
+ int (*stopOCCs)(uint64_t* i_proc_chip,
+ size_t i_num_chips);
+
+
// Reserve some space for future growth.
void (*reserved[32])(void);
OpenPOWER on IntegriCloud