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/sys/kernel.S | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'src/sys')

diff --git a/src/sys/kernel.S b/src/sys/kernel.S
index 4a3c096..356cedd 100644
--- a/src/sys/kernel.S
+++ b/src/sys/kernel.S
@@ -3,9 +3,16 @@
 .globl kernel_main
 kernel_main:
 	bl sysinit
+	///https://wiki.osdev.org/ARM_Paging
+	// Query the ID_MMFR0 register
+	mrc p15, 0, r0, c0, c1, 4
+	bl uart_hexn
+	// Switch to user mode
 	cps #0x10
 	// Intentional undefined instruction
-	.word 0xf7f0a000
+	//.word 0xf7f0a000
+	// This will fail in user mode
+	mrc p15, 3, r0, c15, c0, 0
 	// Supervisor Call #1 - Does nothing special
 	svc #1
 	mrs r0, cpsr
@@ -15,7 +22,6 @@ kernel_main:
 	mrs r0, cpsr
 	bl uart_hexn
 1:
-	//bl schedule
 	wfe
 	b 1b
 
-- 
cgit v1.2.1