Interface: Introduce framework feature availability

Discovering framework feature availability is required by FF-M v1.1.
It's provided in a new header psa/framework_feature.h.

As the framework features are usually coupled to build configurations,
this patch adds a framework_feature.h.in to let build system generate
the framework_feature.h base on build configurations.

This patch also fixes the TFM_ISOLATION_LEVEL validation to limit it
to [1, 2, 3] only.

Change-Id: I8b0d8e14a244f53dfd02b8e7b5da5aa57ca99077
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
index 0e025e7..bc216b8 100644
--- a/interface/CMakeLists.txt
+++ b/interface/CMakeLists.txt
@@ -9,6 +9,9 @@
 cmake_policy(SET CMP0076 NEW)
 cmake_policy(SET CMP0079 NEW)
 
+# Generate framework feature
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/psa/framework_feature.h.in
+               ${CMAKE_BINARY_DIR}/generated/interface/include/psa/framework_feature.h)
 
 if (TFM_MULTI_CORE_TOPOLOGY)
     include(${CMAKE_SOURCE_DIR}/platform/ext/target/${TFM_PLATFORM}/preload_ns.cmake)