FIH: Extend control flow integrity protection

Current CFI implementation ensures that functions called by FIH_CALL
macro cannot be skipped unnoticeable. But still sections within a
function could be skipped and these skips are not caught by CFI.

This patch extends the CFI functionality to make possible to apply more
granular checks within a function. Add a set of macros to track the
internal critical steps inside a function. Functions can call these
macros to protect critical steps from physical attacks.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Co-authorized-by: David Hu <david.hu@arm.com>
Change-Id: I3b3a3d3ade69063ed29bda067ea2f5a270df1def
2 files changed