diff options
author | Doug Gilbert <dgilbert@us.ibm.com> | 2014-02-19 16:33:26 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-11 12:44:48 -0500 |
commit | d83e0f05717dc06edc537dcab1deb1758ba7dcf5 (patch) | |
tree | d9dc4791f8ad3f368830d31979f2b925af558246 /src/include/runtime/interface.h | |
parent | 646efbab03ef380876d843f9ab244f0c08b3fda1 (diff) | |
download | talos-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.h | 45 |
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); |