Rev 534 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 534 | Rev 548 | ||
---|---|---|---|
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, 0); |
72 | dst_ptl0 = (pte_t *) frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME); |
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,0); |
118 | a->mapping[i] = frame_alloc(0, ONE_FRAME); |
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; |