FAPI2: Multicast API 1/2: Platform-breaking changes
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: I83084fe336307fc0f8a5213d1a86ffa021adac36
Original-Change-Id: Ia0990f26890dc5c719caca608cd134a4964a3acf
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71305
Tested-by: Jenkins Server <8e3f934e4c44875bc48d33da3ea13d93ba9a233f@us.ibm.com>
Reviewed-by: Matt K. Light <19ba8ed73a0b3c376c81fced381f1ac0f483b7c2@us.ibm.com>
Reviewed-by: Joachim Fenkes <c56b754bead9abd519c2e7d8d1ad462e33365b70@de.ibm.com>
Reviewed-by: Gregory S. Still <4249770c9038596e9483266bcd48707ac69ee60b@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <ab93eca12e43608f33daa16a67357cd7b7e867ab@us.ibm.com>

open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot