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 46... Line 46...
46
{
46
{
47
    __address dba;
47
    __address dba;
48
    __address cur;
48
    __address cur;
49
 
49
 
50
    if (config.cpu_active == 1) {
50
    if (config.cpu_active == 1) {
51
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, 0);
51
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
52
        memsetb(dba, PAGE_SIZE, 0);
52
        memsetb(dba, PAGE_SIZE, 0);
53
 
53
 
54
        bootstrap_dba = dba;
54
        bootstrap_dba = dba;
55
       
55
       
56
        /*
56
        /*
Line 68... Line 68...
68
         * virtual address space. Because of that, each AP copies
68
         * virtual address space. Because of that, each AP copies
69
         * already-initialized paging information from the bootstrap
69
         * already-initialized paging information from the bootstrap
70
         * processor and adjusts it to fulfill its needs.
70
         * processor and adjusts it to fulfill its needs.
71
         */
71
         */
72
 
72
 
73
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, 0);
73
        dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
74
        memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
74
        memcpy((void *)dba, (void *)bootstrap_dba , PAGE_SIZE);
75
        write_cr3(KA2PA(dba));
75
        write_cr3(KA2PA(dba));
76
    }
76
    }
77
 
77
 
78
    paging_on();
78
    paging_on();