diff options
author | Christian Cunningham <cc@localhost> | 2022-01-20 14:57:57 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-01-20 14:57:57 -0700 |
commit | a9171b3f7499dfff1f40bf3503fdf13a20487b68 (patch) | |
tree | 1be5d31f8d2a2c0b787ebdd64b2f600f0fae1bbe /src/sys | |
parent | 7e501bd9e881b9d3b9dadc483218dd877b0bb25d (diff) |
Read Paging Register
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 |