Rev 3207 | Rev 3972 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3207 | Rev 3208 | ||
---|---|---|---|
Line 263... | Line 263... | ||
263 | unsigned int i; |
263 | unsigned int i; |
264 | zone_t *z; |
264 | zone_t *z; |
265 | unsigned int hint = pzone ? *pzone : 0; |
265 | unsigned int hint = pzone ? *pzone : 0; |
266 | 266 | ||
267 | /* Mask off flags that are not applicable. */ |
267 | /* Mask off flags that are not applicable. */ |
268 | flags &= FRAME_LOW_16_GiB; |
268 | flags &= FRAME_LOW_4_GiB; |
269 | 269 | ||
270 | spinlock_lock(&zones.lock); |
270 | spinlock_lock(&zones.lock); |
271 | if (hint >= zones.count) |
271 | if (hint >= zones.count) |
272 | hint = 0; |
272 | hint = 0; |
273 | i = hint; |
273 | i = hint; |
Line 821... | Line 821... | ||
821 | spinlock_initialize(&z->lock, "zone_lock"); |
821 | spinlock_initialize(&z->lock, "zone_lock"); |
822 | z->base = start; |
822 | z->base = start; |
823 | z->count = count; |
823 | z->count = count; |
824 | 824 | ||
825 | /* Mask off flags that are calculated automatically. */ |
825 | /* Mask off flags that are calculated automatically. */ |
826 | flags &= ~FRAME_LOW_16_GiB; |
826 | flags &= ~FRAME_LOW_4_GiB; |
827 | /* Determine calculated flags. */ |
827 | /* Determine calculated flags. */ |
828 | if (z->base + count < (1ULL << (34 - FRAME_WIDTH))) /* 16 GiB */ |
828 | if (z->base + count < (1ULL << (32 - FRAME_WIDTH))) /* 4 GiB */ |
829 | flags |= FRAME_LOW_16_GiB; |
829 | flags |= FRAME_LOW_4_GiB; |
830 | 830 | ||
831 | z->flags = flags; |
831 | z->flags = flags; |
832 | 832 | ||
833 | z->free_count = count; |
833 | z->free_count = count; |
834 | z->busy_count = 0; |
834 | z->busy_count = 0; |