Subversion Repositories HelenOS-historic

Rev

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

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