From a9171b3f7499dfff1f40bf3503fdf13a20487b68 Mon Sep 17 00:00:00 2001
From: Christian Cunningham <cc@localhost>
Date: Thu, 20 Jan 2022 14:57:57 -0700
Subject: Read Paging Register

---
 src/util/status.c | 15 +++++++++++++--
 src/util/time.c   |  5 +++++
 2 files changed, 18 insertions(+), 2 deletions(-)

(limited to 'src/util')

diff --git a/src/util/status.c b/src/util/status.c
index ac801d1..dd2b899 100644
--- a/src/util/status.c
+++ b/src/util/status.c
@@ -124,12 +124,14 @@ void status(void)
 		write_cchar(&g_Drawer, '!', 0xFF00FF);
 	}
 
+
 	g_Drawer.x = 0;
 	g_Drawer.y = 9;
+	write_string(&g_Drawer, "SVC      IRQ      FIQ      User/SYS\n");
 	for(int i = 0; i < 128; i++)
 		write_char(&g_Drawer, ' ');
 	g_Drawer.x = 0;
-	g_Drawer.y = 9;
+	g_Drawer.y = 10;
 
 	unsigned long sp = (unsigned long)getsvcstack();
 	write_hex32(&g_Drawer, sp);
@@ -143,14 +145,23 @@ void status(void)
 	sp = (unsigned long)getsysstack();
 	write_hex32(&g_Drawer, sp);
 	write_char(&g_Drawer, '\n');
+	/* WRITE Stack Values
 	for(unsigned long i = 1; i <= 14; i++) {
-		write_hex32(&g_Drawer, *(unsigned long*)(0x4000 - i*4));
+		write_hex32(&g_Drawer, *(unsigned long*)(0x2000 - i*4));
 		if(i % 6 == 0) {
 			write_char(&g_Drawer, '\n');
 		} else {
 			write_char(&g_Drawer, ' ');
 		}
 	}
+	write_char(&g_Drawer, '\n');
+	*/
+	unsigned long coren;
+	asm volatile (
+	"mrc p15, #0, %0, c0, c0, #5\n"
+	"and %0, %0, #3" : "=r"(coren) :: "cc");
+	write_string(&g_Drawer, "Status Updated by Core #");
+	write_10(&g_Drawer, coren);
 
 	g_Drawer.x = x;
 	g_Drawer.y = y;
diff --git a/src/util/time.c b/src/util/time.c
index 035ff82..a0c539b 100644
--- a/src/util/time.c
+++ b/src/util/time.c
@@ -1,6 +1,11 @@
 #include <symbols.h>
 #include <sys/core.h>
 
+void routing_core0cntv_to_core0fiq(void)
+{
+	store32(0x80, CORE0_TIMER_IRQCNTL);
+}
+
 void routing_core0cntv_to_core0irq(void)
 {
 	store32(0x08, CORE0_TIMER_IRQCNTL);
-- 
cgit v1.2.1