From b9b668e5916e3310eacb95496cc0792d819b25f0 Mon Sep 17 00:00:00 2001 From: Joachim Fenkes Date: Wed, 5 Dec 2018 16:47:55 +0100 Subject: 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 Tested-by: HWSV CI Tested-by: FSP CI Jenkins Reviewed-by: Matt K. Light Tested-by: PPE CI Tested-by: Hostboot CI Reviewed-by: Daniel M. Crowell Reviewed-by: RAJA DAS Reviewed-by: Jennifer A. Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70866 Reviewed-by: Sachin Gupta --- src/import/hwpf/fapi2/include/multicast_defs.H | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/import/hwpf/fapi2/include/multicast_defs.H (limited to 'src/import/hwpf/fapi2/include/multicast_defs.H') diff --git a/src/import/hwpf/fapi2/include/multicast_defs.H b/src/import/hwpf/fapi2/include/multicast_defs.H new file mode 100644 index 00000000..943625d7 --- /dev/null +++ b/src/import/hwpf/fapi2/include/multicast_defs.H @@ -0,0 +1,42 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/import/hwpf/fapi2/include/multicast_defs.H $ */ +/* */ +/* OpenPOWER sbe Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef __FAPI2_COMMON_MULTICAST_DEFS__ +#define __FAPI2_COMMON_MULTICAST_DEFS__ + +namespace fapi2 +{ +enum MulticastType +{ + // Code points picked according to PCB spec + MULTICAST_OR = 0, + MULTICAST_AND = 1, + MULTICAST_BITX = 2, + MULTICAST_COMPARE = 4, +}; + +typedef uint32_t MulticastGroup; +} + +#endif -- cgit v1.2.1