diff options
author | AlmuHS <almuhs@github.com> | 2019-04-22 22:22:57 +0200 |
---|---|---|
committer | AlmuHS <almuhs@github.com> | 2019-04-22 22:22:57 +0200 |
commit | a3e8b6f7c240c7a3bf784570357790bf38a30a58 (patch) | |
tree | 4196edee3bb720f887a51f8fc948c9e3cc595806 | |
parent | e646facce00ce85bc35df3e1c3bb78527041dcf7 (diff) |
added mutex
-rw-r--r-- | i386/i386/mp_desc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/i386/i386/mp_desc.c b/i386/i386/mp_desc.c index 6ac91216..e35750e9 100644 --- a/i386/i386/mp_desc.c +++ b/i386/i386/mp_desc.c @@ -276,6 +276,8 @@ cpu_setup(){ int i = 1; while(i < ncpu && (machine_slot[i].running == TRUE)) i++; + kmutex_init(&mp_cpu_boot_lock); + unsigned apic_id = (((ApicLocalUnit*)phystokv(lapic_addr))->apic_id.r >> 24) & 0xff; @@ -324,7 +326,10 @@ cpu_setup(){ break; } + kmutex_lock(&mp_cpu_boot_lock, FALSE); slave_main(i); + kmutex_unlock(&mp_cpu_boot_lock); + printf("launched first thread of cpu %d\n", i); |