Rev 687 | 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; |