aboutsummaryrefslogtreecommitdiff
path: root/src/boot.S
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-02-22 23:27:39 -0700
committerChristian Cunningham <cc@localhost>2022-02-22 23:27:39 -0700
commitb5021c723a5ee267982c4779bb1b1d644e4d2d5c (patch)
tree5c65cc4e784c0ee930ea255293aeb67abcf1f723 /src/boot.S
parent8ffc1b0fd55aff5fa1014cd99db4dbb695d51a4c (diff)
Started multithreading
Diffstat (limited to 'src/boot.S')
-rw-r--r--src/boot.S19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/boot.S b/src/boot.S
index 1b4b249..9d431d7 100644
--- a/src/boot.S
+++ b/src/boot.S
@@ -13,11 +13,11 @@ reset:
mrc p15, #0, r1, c0, c0, #5
and r1, r1, #3
cmp r1, #1
- beq core1run
+ beq runcore1
cmp r1, #2
- beq core2run
+ beq runcore2
cmp r1, #3
- bge core3run
+ bge runcore3
init_core 0
@@ -52,14 +52,17 @@ reset:
ldr r3, =kernel_main
blx r3
-core1run:
+runcore1:
init_core 1
+ core_task 1
b io_halt
-core2run:
+runcore2:
init_core 2
+ core_task 2
b io_halt
-core3run:
+runcore3:
init_core 3
+ core_task 3
b io_halt
.globl io_halt
@@ -88,9 +91,13 @@ irq_handler: .word irq
fiq_handler: .word fiq
.section .data
+.globl mbox_core0
mbox_core0: .word 0
+.globl mbox_core1
mbox_core1: .word 0
+.globl mbox_core2
mbox_core2: .word 0
+.globl mbox_core3
mbox_core3: .word 0
.section .bss.estacks