SPM: S-EL0 partitions support build for TC0

Add support for building Ivy for the TC0 platform. To do this
extend the Ivy build system to support building for multiple
platforms.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I47298f00ba91f498826dd3ddd690309df01cc13e
diff --git a/spm/common/sp_debug.c b/spm/common/sp_debug.c
index 64ea9c5..396253b 100644
--- a/spm/common/sp_debug.c
+++ b/spm/common/sp_debug.c
@@ -7,6 +7,7 @@
 #include <drivers/arm/pl011.h>
 #include <drivers/console.h>
 #include <sp_debug.h>
+#include <sp_helpers.h>
 #include <spm_helpers.h>
 
 static int (*putc_impl)(int);
@@ -18,6 +19,18 @@
 	return c;
 }
 
+static int putc_svccall(int c)
+{
+	/* TODO svc call */
+	svc_args args = {
+		.fid = SPM_DEBUG_LOG,
+		.arg1 = c
+	};
+	sp_svc(&args);
+
+	return c;
+}
+
 static int putc_uart(int c)
 {
 	console_pl011_putc(c);
@@ -33,6 +46,10 @@
 		putc_impl = putc_hypcall;
 		return;
 
+	case SVC_CALL_AS_STDOUT:
+		putc_impl = putc_svccall;
+		return;
+
 	case PL011_AS_STDOUT:
 	default:
 		break;