Fix weird startup crashes in debug mode
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m40s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m40s
This commit is contained in:
@@ -102,10 +102,10 @@ static void smp_bootstrap (struct limine_mp_info* mp_info) {
|
||||
|
||||
DEBUG ("CPU %u is online!\n", thiscpu->id);
|
||||
|
||||
atomic_fetch_sub (&cpu_counter, 1);
|
||||
|
||||
cpu->kproc = kproc_create ();
|
||||
|
||||
atomic_fetch_sub (&cpu_counter, 1);
|
||||
|
||||
__asm__ volatile ("sti");
|
||||
|
||||
struct reschedule_ctx rctx;
|
||||
@@ -116,6 +116,9 @@ static void smp_bootstrap (struct limine_mp_info* mp_info) {
|
||||
|
||||
spin_lock (&spin_proc->cpu->lock, &fc);
|
||||
do_sched (spin_proc, &spin_proc->cpu->lock, fc);
|
||||
|
||||
for (;;)
|
||||
;
|
||||
}
|
||||
|
||||
/// Initialize SMP subsystem for AMD64. Start AP CPUs
|
||||
@@ -133,7 +136,7 @@ void smp_init (void) {
|
||||
DEBUG ("Waiting for other CPUs:\n");
|
||||
|
||||
while (atomic_load (&cpu_counter) > 0)
|
||||
debugprintf (".\n");
|
||||
;
|
||||
|
||||
DEBUG ("All CPUs are up!\n");
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#define HAVE_MORECORE 0
|
||||
#define NO_MALLOC_STATS 1
|
||||
#define USE_LOCKS 1
|
||||
#define USE_SPIN_LOCKS 1
|
||||
#define MALLOC_FAILURE_ACTION \
|
||||
do { \
|
||||
DEBUG ("malloc failure\n"); \
|
||||
|
||||
Reference in New Issue
Block a user