Subversion Repositories HelenOS-historic

Rev

Rev 788 | Rev 822 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 788 Rev 814
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#include <cpu.h>
29
#include <cpu.h>
30
#include <arch.h>
30
#include <arch.h>
31
#include <arch/cpu.h>
31
#include <arch/cpu.h>
32
#include <mm/heap.h>
32
#include <mm/slab.h>
33
#include <mm/page.h>
33
#include <mm/page.h>
34
#include <mm/frame.h>
34
#include <mm/frame.h>
35
#include <arch/types.h>
35
#include <arch/types.h>
36
#include <config.h>
36
#include <config.h>
37
#include <panic.h>
37
#include <panic.h>
Line 59... Line 59...
59
 
59
 
60
        /* initialize everything */
60
        /* initialize everything */
61
        memsetb((__address) cpus, sizeof(cpu_t) * config.cpu_count, 0);
61
        memsetb((__address) cpus, sizeof(cpu_t) * config.cpu_count, 0);
62
 
62
 
63
        for (i=0; i < config.cpu_count; i++) {
63
        for (i=0; i < config.cpu_count; i++) {
64
            cpus[i].stack = (__u8 *) frame_alloc(ONE_FRAME, FRAME_KA | FRAME_PANIC);
64
            cpus[i].stack = (__u8 *) PA2KA(PFN2ADDR(frame_alloc(ONE_FRAME, FRAME_KA | FRAME_PANIC)));
65
           
65
           
66
            cpus[i].id = i;
66
            cpus[i].id = i;
67
           
67
           
68
            spinlock_initialize(&cpus[i].lock, "cpu_t.lock");
68
            spinlock_initialize(&cpus[i].lock, "cpu_t.lock");
69
 
69