diff options
Diffstat (limited to 'src/sys')
-rw-r--r-- | src/sys/kernel.S | 10 |
1 files changed, 8 insertions, 2 deletions
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 |