diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2018-12-05 16:47:55 +0100 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2019-02-13 21:37:51 -0600 |
commit | b9b668e5916e3310eacb95496cc0792d819b25f0 (patch) | |
tree | 78ce2d1f1a4ed46f5c1ad4d5c0536e8acb34b4ea /src/hwpf/plat_target.H | |
parent | 6eb2a4c0f0d838967f29d124ae466b8c1920bf37 (diff) | |
download | talos-sbe-b9b668e5916e3310eacb95496cc0792d819b25f0.tar.gz talos-sbe-b9b668e5916e3310eacb95496cc0792d819b25f0.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/70866
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/hwpf/plat_target.H')
-rw-r--r-- | src/hwpf/plat_target.H | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/hwpf/plat_target.H b/src/hwpf/plat_target.H index 1d32dbb8..8606ffa1 100644 --- a/src/hwpf/plat_target.H +++ b/src/hwpf/plat_target.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -33,6 +33,7 @@ #include <stdint.h> #include <target_types.H> #include <target_states.H> +#include <multicast_defs.H> #include <assert.h> #include <plat_target_parms.H> #include <vector> @@ -53,6 +54,13 @@ static const uint8_t PCI0_CHIPLET = 0x0D; // namespace fapi2 { + template<TargetType K, MulticastType M, typename V> + static constexpr void plat_apply_target_limits(void) + { + static_assert(!(K & TARGET_TYPE_MULTICAST), + "Multicast targets are not supported on this platform"); + } + typedef enum plat_target_type { PPE_TARGET_TYPE_NONE = 0x00, |