Rev 861 | Rev 864 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 861 | Rev 862 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | size_t conf_size; |
53 | size_t conf_size; |
54 | size_t core_size; |
54 | size_t core_size; |
55 | 55 | ||
Line 56... | Line 56... | ||
56 | pages = mem_amount >> FRAME_WIDTH; |
56 | pages = mem_amount >> FRAME_WIDTH; |
57 | // printf("last page = %x total pages = %x\n",mem_amount, pages); |
57 | DBG("last page = %x total pages = %x\n",mem_amount, pages); |
Line 58... | Line 58... | ||
58 | 58 | ||
59 | conf_size = pages*sizeof(frame_t); |
59 | conf_size = pages*sizeof(frame_t); |
Line 60... | Line 60... | ||
60 | // printf("conf_size = %x free mem start =%x\n",conf_size, pg_balloc); |
60 | DBG("conf_size = %x free mem start =%x\n",conf_size, pg_balloc); |
Line 61... | Line 61... | ||
61 | 61 | ||
62 | zone_create(&z_core, 0, pages); |
62 | zone_create(&z_core, 0, pages); |
Line 151... | Line 151... | ||
151 | 151 | ||
Line 152... | Line 152... | ||
152 | if(top > z->base+z->count) |
152 | if(top > z->base+z->count) |
153 | top = z->base+z->count; |
153 | top = z->base+z->count; |
Line 154... | Line 154... | ||
154 | 154 | ||
Line 155... | Line 155... | ||
155 | // printf("zone reserve base %x top %x\n", base, top); |
155 | DBG("zone reserve base %x top %x\n", base, top); |
156 | 156 | ||
Line 157... | Line 157... | ||
157 | for (i = base; i < top; i++) |
157 | for (i = base; i < top; i++) |
Line 172... | Line 172... | ||
172 | 172 | ||
Line 173... | Line 173... | ||
173 | if(top > z->base+z->count) |
173 | if(top > z->base+z->count) |
174 | top = z->base+z->count; |
174 | top = z->base+z->count; |
Line 175... | Line 175... | ||
175 | 175 | ||
Line 176... | Line 176... | ||
176 | // printf("zone release base %x top %x\n", base, top); |
176 | DBG("zone release base %x top %x\n", base, top); |
177 | 177 | ||
178 | for (i = base; i < top; i++) { |
178 | for (i = base; i < top; i++) { |
179 | z->frames[i-z->base].refcount = 0; |
179 | z->frames[i-z->base].refcount = 0; |
Line 585... | Line 585... | ||
585 | v = zone_frame_alloc(&z_core, 0); |
585 | v = zone_frame_alloc(&z_core, 0); |
586 | spinlock_unlock(&z_core.lock); |
586 | spinlock_unlock(&z_core.lock); |
587 | safe_sti(efl); |
587 | safe_sti(efl); |
588 | 588 | ||
Line 589... | Line 589... | ||
589 | //printf("alloc_page: %x\n", v << FRAME_WIDTH); |
589 | DBG("alloc_page: %x\n", v << FRAME_WIDTH); |
Line 590... | Line 590... | ||
590 | 590 | ||
591 | restore_edx(edx); |
591 | restore_edx(edx); |
592 | return (v << FRAME_WIDTH); |
592 | return (v << FRAME_WIDTH); |
Line 606... | Line 606... | ||
606 | v = zone_frame_alloc(&z_core, to_order(count)); |
606 | v = zone_frame_alloc(&z_core, to_order(count)); |
607 | spinlock_unlock(&z_core.lock); |
607 | spinlock_unlock(&z_core.lock); |
608 | safe_sti(efl); |
608 | safe_sti(efl); |
609 | 609 | ||
Line 610... | Line 610... | ||
610 | //printf("alloc_pages: %x count %x\n", v << FRAME_WIDTH, count); |
610 | DBG("alloc_pages: %x count %x\n", v << FRAME_WIDTH, count); |
Line 611... | Line 611... | ||
611 | 611 | ||
Line 612... | Line 612... | ||
612 | restore_edx(edx); |
612 | restore_edx(edx); |
613 | 613 |