aboutsummaryrefslogtreecommitdiff
path: root/src/sys/kernel.S
blob: 13dcce408e0a66f6b8582ce48717d50d08a4644a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.section ".text.kernel"

.include "macros.inc"

.globl kernel_main
kernel_main:
	///https://wiki.osdev.org/ARM_Paging
	// Query the ID_MMFR0 register
	//mrc p15, 0, r0, c0, c1, 4
	bl sysinit
	bl status
	ldr r2, =ttbr_msg
	mov r0, #23
	mov r1, #0
	mov r3, #0xFF00
	bl draw_cstring

	// Intentional undefined instruction
	// .word 0xf7f0a000
	cpsie aif, #0x10
	svc #2 // Start scheduling!
2:
	wfe
	b 2b

.section .data
ttbr_msg:
	.asciz "MMU Initialized!"