Subversion Repositories HelenOS-historic

Rev

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

Rev 540 Rev 548
Line 41... Line 41...
41
{
41
{
42
    __address dba;
42
    __address dba;
43
    __address cur;
43
    __address cur;
44
 
44
 
45
    if (config.cpu_active == 1) {
45
    if (config.cpu_active == 1) {
46
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, 0);
46
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
47
        memsetb(dba, PAGE_SIZE, 0);
47
        memsetb(dba, PAGE_SIZE, 0);
48
 
48
 
49
        bootstrap_dba = dba;
49
        bootstrap_dba = dba;
50
 
50
 
51
        /*
51
        /*
Line 64... Line 64...
64
         * virtual address space. Because of that, each AP copies
64
         * virtual address space. Because of that, each AP copies
65
         * already-initialized paging information from the bootstrap
65
         * already-initialized paging information from the bootstrap
66
         * processor and adjusts it to fulfill its needs.
66
         * processor and adjusts it to fulfill its needs.
67
         */
67
         */
68
 
68
 
69
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, 0);
69
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
70
        memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
70
        memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
71
        write_cr3(KA2PA(dba));
71
        write_cr3(KA2PA(dba));
72
    }
72
    }
73
}
73
}