Skip to content
Snippets Groups Projects
Commit 1501fe53 authored by John Hodge's avatar John Hodge
Browse files

Kernel/armv7 - Debug output added

parent 1baac59e
No related merge requests found
...@@ -15,4 +15,4 @@ A_OBJ += mm_phys.o mm_virt.o proc.o proc.ao ...@@ -15,4 +15,4 @@ A_OBJ += mm_phys.o mm_virt.o proc.o proc.ao
#main.c: Makefile.BuildNum.$(ARCH) #main.c: Makefile.BuildNum.$(ARCH)
POSTBUILD = objcopy $(BIN) -F binary $(BIN) POSTBUILD = arm-elf-objcopy $(BIN) -O binary $(BIN)
...@@ -18,30 +18,46 @@ ivt_fiq: b . @ 0x1C FIQ (Fast interrupt) ...@@ -18,30 +18,46 @@ ivt_fiq: b . @ 0x1C FIQ (Fast interrupt)
.globl _start .globl _start
_start: _start:
ldr r0, =DEBUG_UART_PADDR ldr r2, =UART0_PADDR
ldr r1, 'A' mov r1, #'A'
str r0, r1 str r1, [r2]
ldr r0, =kernel_table0-KERNEL_BASE ldr r0, =kernel_table0-KERNEL_BASE
mcr p15, 0, r0, c2, c0, 1 @ Set TTBR1 to r0 mcr p15, 0, r0, c2, c0, 1 @ Set TTBR1 to r0
mcr p15, 0, r0, c2, c0, 0 @ Set TTBR0 to r0 too (for identity) mcr p15, 0, r0, c2, c0, 0 @ Set TTBR0 to r0 too (for identity)
mov r1, #'c'
str r1, [r2]
mov r0, #1 mov r0, #1
mcr p15, 0, r0, c2, c0, 2 @ Set TTCR to 1 (50/50 split) mcr p15, 0, r0, c2, c0, 2 @ Set TTCR to 1 (50/50 split)
mov r1, #'e'
str r1, [r2]
mov r0, #3 mov r0, #3
mcr p15, 0, r0, c3, c0, 0 @ Set Domain 0 to Manager mcr p15, 0, r0, c3, c0, 0 @ Set Domain 0 to Manager
mov r1, #'s'
str r1, [r2]
@ Enable VMSA @ Enable VMSA
mrc p15, 0, r0, c1, c0, 0 mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #1 orr r0, r0, #1
orr r0, r0, #1 << 23 orr r0, r0, #1 << 23
mcr p15, 0, r0, c1, c0, 0 mcr p15, 0, r0, c1, c0, 0
ldr r2, =0xF1000000
mov r1, #'s'
str r1, [r2]
@ Enable access faults on domains 0 & 1 @ Enable access faults on domains 0 & 1
mov r0, #0x55 @ 01010101b mov r0, #0x55 @ 01010101b
mcr p15, 0, r0, c3, c0, 0 mcr p15, 0, r0, c3, c0, 0
mov r1, #'2'
str r1, [r2]
@ @
@ Check for security extensions @ Check for security extensions
@ @
...@@ -55,6 +71,8 @@ _start: ...@@ -55,6 +71,8 @@ _start:
orreq r0, #0x2000 orreq r0, #0x2000
mcreq p15, 0, r0, c1, c0, 0 mcreq p15, 0, r0, c1, c0, 0
mov r1, #'-'
str r1, [r2]
@ Prepare for interrupts @ Prepare for interrupts
cps #18 @ IRQ Mode cps #18 @ IRQ Mode
...@@ -63,6 +81,13 @@ _start: ...@@ -63,6 +81,13 @@ _start:
ldr sp, =abortstack+0x1000 ldr sp, =abortstack+0x1000
cps #19 cps #19
mov r1, #'a'
str r1, [r2]
mov r1, #'r'
str r1, [r2]
mov r1, #'m'
str r1, [r2]
ldr sp, =0x80000000-4 @ Set up stack (top of user range) ldr sp, =0x80000000-4 @ Set up stack (top of user range)
ldr r0, =kmain ldr r0, =kmain
mov pc, r0 mov pc, r0
...@@ -309,5 +334,5 @@ kernel_exception_map: ...@@ -309,5 +334,5 @@ kernel_exception_map:
stack: stack:
.space MM_KSTACK_SIZE, 0 @ Original kernel stack .space MM_KSTACK_SIZE, 0 @ Original kernel stack
; vim: ts=8, ft=armv7 // vim: ts=8, ft=armv7
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment