summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf/fapi2/include/fapi2_mmio_access.H
diff options
context:
space:
mode:
authorJoachim Fenkes <fenkes@de.ibm.com>2018-12-05 16:47:55 +0100
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-14 16:26:31 -0600
commit5e4b564b9cc39812e3be3f022175edc8a0404ee6 (patch)
treed8b0d443749237fd1448022bc03a9bd79dfd666a /src/import/hwpf/fapi2/include/fapi2_mmio_access.H
parenta57d9746ec970e5d74269718da7c7e7d012e00ed (diff)
downloadtalos-hostboot-5e4b564b9cc39812e3be3f022175edc8a0404ee6.tar.gz
talos-hostboot-5e4b564b9cc39812e3be3f022175edc8a0404ee6.zip
FAPI2: Multicast API 1/2: Platform-breaking changes
The Target gains a new template parameter, M, that specifies the multicast type. This is propagated through all affected header files. A new target type is introduced, TARGET_TYPE_MULTICAST, and platform specific assertions put in place to prevent users from creating such targets before the platform supports it. Target also grows a new inline function for updating MC targets. Platforms not supporting MC can provide a dummy implementation. The example platform code in fapi2/include/plat/plat_target.H is updated with minimal example code for platform implementers. Change-Id: Ia0990f26890dc5c719caca608cd134a4964a3acf Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69456 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: RAJA DAS <rajadas2@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70867 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2/include/fapi2_mmio_access.H')
-rw-r--r--src/import/hwpf/fapi2/include/fapi2_mmio_access.H8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/import/hwpf/fapi2/include/fapi2_mmio_access.H b/src/import/hwpf/fapi2/include/fapi2_mmio_access.H
index d41e59912..2718b15f0 100644
--- a/src/import/hwpf/fapi2/include/fapi2_mmio_access.H
+++ b/src/import/hwpf/fapi2/include/fapi2_mmio_access.H
@@ -50,8 +50,8 @@ namespace fapi2
/// The size of the buffer determines the number of
/// amount of bytes that are read.
/// @return fapi2::ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
-template< TargetType K, typename V >
-inline ReturnCode getMMIO(const Target<K, V>& i_target,
+template< TargetType K, MulticastType M, typename V >
+inline ReturnCode getMMIO(const Target<K, M, V>& i_target,
const uint64_t i_mmioAddr,
const size_t i_transSize,
std::vector<uint8_t>& o_data);
@@ -68,8 +68,8 @@ inline ReturnCode getMMIO(const Target<K, V>& i_target,
/// The size of the buffer determines the number of
/// amount of bytes that are written.
/// @return fapi2::ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
-template< TargetType K, typename V >
-inline ReturnCode putMMIO(const Target<K, V>& i_target,
+template< TargetType K, MulticastType M, typename V >
+inline ReturnCode putMMIO(const Target<K, M, V>& i_target,
const uint64_t i_mmioAddr,
const size_t i_transSize,
const std::vector<uint8_t>& i_data);
OpenPOWER on IntegriCloud