diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2023-02-01 04:00:48 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2023-02-01 04:00:58 +0100 |
| commit | bf20ce47a9d5dcad841e4549a68f4ec3db3c57de (patch) | |
| tree | ec01a57faea74ae9b0dc46ffb71221b4765114bf /kernel/src/scheduler/ap_startup.c | |
| parent | 03fa5edfa5562f2fd3a8895d85da2cdcdbb92377 (diff) | |
AP -> long mode; testing mutex
Diffstat (limited to 'kernel/src/scheduler/ap_startup.c')
| -rw-r--r-- | kernel/src/scheduler/ap_startup.c | 14 |
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;"); + } } |
