summaryrefslogtreecommitdiff
path: root/kernel/src/scheduler/ap_startup.c
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2023-02-01 04:00:48 +0100
committerAleksa Vuckovic <aleksav013@gmail.com>2023-02-01 04:00:58 +0100
commitbf20ce47a9d5dcad841e4549a68f4ec3db3c57de (patch)
treeec01a57faea74ae9b0dc46ffb71221b4765114bf /kernel/src/scheduler/ap_startup.c
parent03fa5edfa5562f2fd3a8895d85da2cdcdbb92377 (diff)
AP -> long mode; testing mutex
Diffstat (limited to 'kernel/src/scheduler/ap_startup.c')
-rw-r--r--kernel/src/scheduler/ap_startup.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/kernel/src/scheduler/ap_startup.c b/kernel/src/scheduler/ap_startup.c
index 43b1a51..3bb4ab2 100644
--- a/kernel/src/scheduler/ap_startup.c
+++ b/kernel/src/scheduler/ap_startup.c
@@ -1,5 +1,11 @@
-// this C code can be anywhere you want it, no relocation needed
-void ap_startup(int apicid) {
- // do what you want to do on the AP
- while(1);
+#include <atomic.h>
+
+void ap_startup(void) {
+ lock(cnt_lock);
+ cnt++;
+ unlock(cnt_lock);
+
+ for(;;) {
+ __asm__ volatile ("hlt;");
+ }
}