summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf/fapi2/include/fapi2_hw_access.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/hwpf/fapi2/include/fapi2_hw_access.H')
-rw-r--r--src/import/hwpf/fapi2/include/fapi2_hw_access.H20
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
//--------------------------------------------------------------------------
OpenPOWER on IntegriCloud