diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2018-11-28 10:25:41 +0100 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-02-14 16:26:35 -0600 |
commit | 7d9e00e84843d669f115cb9f51ef587321dae39a (patch) | |
tree | 3087350793d929fa51b0c4d9753bae319e144479 /src/import/hwpf/fapi2/include/fapi2_hw_access.H | |
parent | 5e4b564b9cc39812e3be3f022175edc8a0404ee6 (diff) | |
download | talos-hostboot-7d9e00e84843d669f115cb9f51ef587321dae39a.tar.gz talos-hostboot-7d9e00e84843d669f115cb9f51ef587321dae39a.zip |
FAPI2: Multicast API 2/2: Introduce the actual multicast functions
Chip targets gain a getMulticast() method to generate MC sub-targets.
The meaning of getParent()/getChildren() is updated to reflect MC
specialties.
Add an API call to update the multicast group mapping table per chip.
For details, please see hwpf/fapi2/docs/topics/multicast_doc.C
Change-Id: I4cea561fd14324b1accedf4ffaae9943159caf71
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69457
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70946
Diffstat (limited to 'src/import/hwpf/fapi2/include/fapi2_hw_access.H')
-rw-r--r-- | src/import/hwpf/fapi2/include/fapi2_hw_access.H | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/import/hwpf/fapi2/include/fapi2_hw_access.H b/src/import/hwpf/fapi2/include/fapi2_hw_access.H index d2a4d0191..4c7142369 100644 --- a/src/import/hwpf/fapi2/include/fapi2_hw_access.H +++ b/src/import/hwpf/fapi2/include/fapi2_hw_access.H @@ -76,6 +76,26 @@ inline void setOpMode(const OpModes i_mode); inline OpModes getOpMode(void); //-------------------------------------------------------------------------- +// Multicast mapping functions +//-------------------------------------------------------------------------- + +/// @brief Set up or replace the multicast group mapping for a given chip +/// @param[in] i_chip The chip whose multicast map is to be replaced +/// @param[in] i_mappings A list of multicast group mappings +/// @return FAPI2_RC_SUCCESS if the map was updated, otherwise error code. +/// +/// This replaces the given chip's map of abstract multicast groups to chip +/// specific hardware values with a new map. Any abstract group not explicitly +/// mapped via i_mappings will be unmapped after this call returns success, +/// and attempting to create multicast targets targeting unmapped groups will +/// result in error. +/// i_mappings may contain an arbitrary amount of abstract/HW pairs, but the +/// function may return an error if too many mappings are specified. +template< MulticastType M, typename V > +inline ReturnCode setMulticastGroupMap(const Target<TARGET_TYPE_PROC_CHIP, M, V>& i_chip, + const std::vector< MulticastGroupMapping >& i_mappings); + +//-------------------------------------------------------------------------- // HW Communication Functions //-------------------------------------------------------------------------- |