cactus: select different stdout device at runtime

cactus is used as both primary and secondary VM and for debug logging
primary VM can access to UART while secodary VM's use hypervisor call to
SPM.

Based on VM id it will be decided whether to use UART or hypervisor call
for debug logging.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I97786b893c0156815969692582b4de62c1b568fd
diff --git a/spm/cactus/cactus.h b/spm/cactus/cactus.h
index 0b06eb2..cbf2dcb 100644
--- a/spm/cactus/cactus.h
+++ b/spm/cactus/cactus.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Arm Limited. All rights reserved.
+ * Copyright (c) 2017-2020, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -26,4 +26,11 @@
 #define CACTUS_BSS_START	((uintptr_t)&__BSS_START__)
 #define CACTUS_BSS_END		((uintptr_t)&__BSS_END__)
 
+enum stdout_route {
+	PL011_AS_STDOUT = 0,
+	HVC_CALL_AS_STDOUT,
+};
+
+void set_putc_impl(enum stdout_route);
+
 #endif /* __CACTUS_H__ */