Changeset 7ce9284 in mainline for src/cpu/cpu.c


Ignore:
Timestamp:
2005-08-30T17:41:19Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b45aa23
Parents:
10caad0
Message:

Dump implementation of THREAD, TASK and CPU.
Implement preemption-safe versions of THREAD, TASK and CPU using THE.
Get rid of CPU_ID_ARCH on all architectures.
Get rid of write_dr0() and read_dr0() on IA-32.
Get rid of cpu_private_data and cpu_private_data_t.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/cpu/cpu.c

    r10caad0 r7ce9284  
    4040#include <list.h>
    4141
    42 
    43 cpu_private_data_t *cpu_private_data;
    4442cpu_t *cpus;
    45 
    4643
    4744/** Initialize CPUs
     
    5653        if (config.cpu_active == 1) {
    5754        #endif /* __SMP__ */
    58                 cpu_private_data = (cpu_private_data_t *) malloc(sizeof(cpu_private_data_t) * config.cpu_count);
    59                 if (!cpu_private_data)
    60                         panic("malloc/cpu_private_data");
    61 
    6255                cpus = (cpu_t *) malloc(sizeof(cpu_t) * config.cpu_count);
    6356                if (!cpus)
     
    6558
    6659                /* initialize everything */
    67                 memsetb((__address) cpu_private_data, sizeof(cpu_private_data_t) * config.cpu_count, 0);
    6860                memsetb((__address) cpus, sizeof(cpu_t) * config.cpu_count, 0);
    6961
    7062                for (i=0; i < config.cpu_count; i++) {
    71                         cpus[i].stack = (__u8 *) malloc(CPU_STACK_SIZE);
     63                        cpus[i].stack = (__u8 *) frame_alloc(FRAME_KA | FRAME_PANIC);
    7264                        if (!cpus[i].stack)
    7365                                panic("malloc/cpus[%d].stack\n", i);
     
    8779        }
    8880        #endif /* __SMP__ */
     81
     82        CPU = &cpus[config.cpu_active-1];
    8983       
    9084        CPU->active = 1;
Note: See TracChangeset for help on using the changeset viewer.