Ignore:
File:
1 edited

Legend:

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

    rda1bafb r9dae191e  
    3333/**
    3434 * @file
    35  * @brief CPU subsystem initialization and listing.
     35 * @brief       CPU subsystem initialization and listing.
    3636 */
    37 
     37 
    3838#include <cpu.h>
    3939#include <arch.h>
     
    5858 */
    5959void cpu_init(void) {
     60        unsigned int i, j;
     61       
    6062#ifdef CONFIG_SMP
    6163        if (config.cpu_active == 1) {
    6264#endif /* CONFIG_SMP */
    63                
    6465                cpus = (cpu_t *) malloc(sizeof(cpu_t) * config.cpu_count,
    65                     FRAME_ATOMIC);
     66                                        FRAME_ATOMIC);
    6667                if (!cpus)
    6768                        panic("Cannot allocate CPU structures.");
    68                
    69                 /* Initialize everything */
     69
     70                /* initialize everything */
    7071                memsetb(cpus, sizeof(cpu_t) * config.cpu_count, 0);
    71                
    72                 size_t i;
     72
    7373                for (i = 0; i < config.cpu_count; i++) {
    74                         cpus[i].stack = (uint8_t *) frame_alloc(STACK_FRAMES,
    75                             FRAME_KA | FRAME_ATOMIC);
     74                        cpus[i].stack = (uint8_t *) frame_alloc(STACK_FRAMES, FRAME_KA | FRAME_ATOMIC);
     75                       
    7676                        cpus[i].id = i;
    7777                       
    78                         irq_spinlock_initialize(&cpus[i].lock, "cpus[].lock");
    79                        
    80                         unsigned int j;
     78                        spinlock_initialize(&cpus[i].lock, "cpu_t.lock");
     79
    8180                        for (j = 0; j < RQ_COUNT; j++) {
    82                                 irq_spinlock_initialize(&cpus[i].rq[j].lock, "cpus[].rq[].lock");
     81                                spinlock_initialize(&cpus[i].rq[j].lock, "rq_t.lock");
    8382                                list_initialize(&cpus[i].rq[j].rq_head);
    8483                        }
     
    8887        }
    8988#endif /* CONFIG_SMP */
    90        
     89
    9190        CPU = &cpus[config.cpu_active - 1];
    9291       
    93         CPU->active = true;
    94         CPU->tlb_active = true;
     92        CPU->active = 1;
     93        CPU->tlb_active = 1;
    9594       
    9695        cpu_identify();
     
    101100void cpu_list(void)
    102101{
    103         size_t i;
    104        
     102        unsigned int i;
     103
    105104        for (i = 0; i < config.cpu_count; i++) {
    106105                if (cpus[i].active)
Note: See TracChangeset for help on using the changeset viewer.