Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/cpu/cpu.c

    r128359eb r4760793  
    4545#include <config.h>
    4646#include <panic.h>
    47 #include <mem.h>
     47#include <memw.h>
    4848#include <adt/list.h>
    4949#include <stdio.h>
     
    8181                                panic("Cannot allocate CPU stack.");
    8282
    83                         cpus[i].stack = (uint8_t *) PA2KA(stack_phys);
     83                        cpus[i].local.stack = (uint8_t *) PA2KA(stack_phys);
    8484                        cpus[i].id = i;
    8585
    86                         irq_spinlock_initialize(&cpus[i].lock, "cpus[].lock");
     86#ifdef CONFIG_FPU_LAZY
     87                        irq_spinlock_initialize(&cpus[i].fpu_lock, "cpus[].fpu_lock");
     88#endif
     89                        irq_spinlock_initialize(&cpus[i].tlb_lock, "cpus[].tlb_lock");
    8790
    8891                        for (unsigned int j = 0; j < RQ_COUNT; j++) {
     
    101104        CPU->tlb_active = true;
    102105
    103         CPU->idle = false;
    104         CPU->last_cycle = get_cycle();
    105         CPU->idle_cycles = 0;
    106         CPU->busy_cycles = 0;
     106        CPU_LOCAL->idle = false;
     107        CPU_LOCAL->last_cycle = get_cycle();
     108        CPU->idle_cycles = ATOMIC_TIME_INITIALIZER();
     109        CPU->busy_cycles = ATOMIC_TIME_INITIALIZER();
    107110
    108111        cpu_identify();
Note: See TracChangeset for help on using the changeset viewer.