SPCI: SPCI_FEATURES implementation.

Change-Id: I1bb3e32808d503ee75303a5e70b41645b2d7e86b
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index bbb115f..7928f54 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -312,6 +312,10 @@
 
 static bool spci_handler(struct spci_value *args, struct vcpu **next)
 {
+	/*
+	 * NOTE: When adding new methods to this handler update
+	 * api_spci_features accordingly.
+	 */
 	switch (args->func & ~SMCCC_CONVENTION_MASK) {
 	case SPCI_VERSION_32:
 		*args = api_spci_version();
@@ -319,6 +323,9 @@
 	case SPCI_ID_GET_32:
 		*args = api_spci_id_get(current());
 		return true;
+	case SPCI_FEATURES_32:
+		*args = api_spci_features(args->arg1);
+		return true;
 	case SPCI_YIELD_32:
 		api_yield(current(), next);