feat(rmm): add support for multiple rec and cpu

Changes to support creating and
executing  multiple rec on multiple cpus.
Added per REC shared buffer between Host and Rec.

Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: Ib6dbd814ee9f68df4a53f9cfdc8b7f9c905c35fe
diff --git a/realm/realm_debug.c b/realm/realm_debug.c
index e9eb61e..d7989ca 100644
--- a/realm/realm_debug.c
+++ b/realm/realm_debug.c
@@ -19,19 +19,17 @@
  */
 void realm_printf(const char *fmt, ...)
 {
-	host_shared_data_t *guest_shared_data = realm_get_shared_structure();
+	host_shared_data_t *guest_shared_data = realm_get_my_shared_structure();
 	char *log_buffer = (char *)guest_shared_data->log_buffer;
 	va_list args;
 
 	va_start(args, fmt);
-	spin_lock((spinlock_t *)&guest_shared_data->printf_lock);
 	if (strnlen((const char *)log_buffer, MAX_BUF_SIZE) == MAX_BUF_SIZE) {
 		(void)memset((char *)log_buffer, 0, MAX_BUF_SIZE);
 	}
 	(void)vsnprintf((char *)log_buffer +
 			strnlen((const char *)log_buffer, MAX_BUF_SIZE),
 			MAX_BUF_SIZE, fmt, args);
-	spin_unlock((spinlock_t *)&guest_shared_data->printf_lock);
 	va_end(args);
 }
 
@@ -46,18 +44,16 @@
 /* This is used from printf() when crash dump is reached */
 int console_putc(int c)
 {
-	host_shared_data_t *guest_shared_data = realm_get_shared_structure();
+	host_shared_data_t *guest_shared_data = realm_get_my_shared_structure();
 	char *log_buffer = (char *)guest_shared_data->log_buffer;
 
 	if ((c < 0) || (c > 127)) {
 		return -1;
 	}
-	spin_lock((spinlock_t *)&guest_shared_data->printf_lock);
 	if (strnlen((const char *)log_buffer, MAX_BUF_SIZE) == MAX_BUF_SIZE) {
 		(void)memset((char *)log_buffer, 0, MAX_BUF_SIZE);
 	}
 	*((char *)log_buffer + strnlen((const char *)log_buffer, MAX_BUF_SIZE)) = c;
-	spin_unlock((spinlock_t *)&guest_shared_data->printf_lock);
 
 	return c;
 }