Subversion Repositories HelenOS-historic

Rev

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

Rev 532 Rev 533
Line 67... Line 67...
67
        m->ptl0 = ptl0;
67
        m->ptl0 = ptl0;
68
        if (!m->ptl0) {
68
        if (!m->ptl0) {
69
            pte_t *src_ptl0, *dst_ptl0;
69
            pte_t *src_ptl0, *dst_ptl0;
70
       
70
       
71
            src_ptl0 = (pte_t *) PA2KA((__address) GET_PTL0_ADDRESS());
71
            src_ptl0 = (pte_t *) PA2KA((__address) GET_PTL0_ADDRESS());
72
            dst_ptl0 = (pte_t *) frame_alloc(FRAME_KA | FRAME_PANIC);
72
            dst_ptl0 = (pte_t *) frame_alloc(FRAME_KA | FRAME_PANIC, 0);
73
 
73
 
74
//          memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
74
//          memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
75
//          memcpy((void *) &dst_ptl0[KAS_START_INDEX], (void *) &src_ptl0[KAS_START_INDEX], KAS_INDICES);
75
//          memcpy((void *) &dst_ptl0[KAS_START_INDEX], (void *) &src_ptl0[KAS_START_INDEX], KAS_INDICES);
76
           
76
           
77
            memcpy((void *) dst_ptl0,(void *) src_ptl0, PAGE_SIZE);
77
            memcpy((void *) dst_ptl0,(void *) src_ptl0, PAGE_SIZE);
Line 113... Line 113...
113
            interrupts_restore(ipl);
113
            interrupts_restore(ipl);
114
            return NULL;
114
            return NULL;
115
        }
115
        }
116
       
116
       
117
        for (i=0; i<size; i++)
117
        for (i=0; i<size; i++)
118
            a->mapping[i] = frame_alloc(0);
118
            a->mapping[i] = frame_alloc(0,0);
119
       
119
       
120
        spinlock_initialize(&a->lock);
120
        spinlock_initialize(&a->lock);
121
           
121
           
122
        link_initialize(&a->link);         
122
        link_initialize(&a->link);         
123
        a->type = type;
123
        a->type = type;