Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 945 → Rev 946

/kernel/trunk/generic/include/mm/frame.h
98,8 → 98,8
#define frame_alloc_rc_zone(order, flags, status, zone) frame_alloc_generic(order, flags, status, zone)
 
extern void frame_init(void);
__address frame_alloc_generic(__u8 order, int flags, int * status, int *pzone);
extern void frame_free(__address addr);
extern pfn_t frame_alloc_generic(__u8 order, int flags, int * status, int *pzone);
extern void frame_free(pfn_t pfn);
 
extern int zone_create(pfn_t start, count_t count, pfn_t confframe, int flags);
void * frame_get_parent(pfn_t frame, int hint);
/kernel/trunk/generic/src/mm/frame.c
310,7 → 310,6
index = (frame_index(zone, frame)) - (1 << frame->buddy_order);
}
 
if (frame_index_valid(zone, index)) {
if (zone->frames[index].buddy_order == frame->buddy_order &&
zone->frames[index].refcount == 0) {
469,11 → 468,11
 
if (!--frame->refcount) {
buddy_system_free(zone->buddy_system, &frame->buddy_link);
/* Update zone information. */
zone->free_count += (1 << order);
zone->busy_count -= (1 << order);
}
 
/* Update zone information. */
zone->free_count += (1 << order);
zone->busy_count -= (1 << order);
}
 
/** Return frame from zone */
601,7 → 600,6
}
}
 
 
/** Reduce allocated block to count of order 0 frames
*
* The allocated block need 2^order frames of space. Reduce all frames
708,7 → 706,6
interrupts_restore(ipl);
}
 
 
/**
* Merge all zones into one big zone
*
772,7 → 769,6
}
}
 
 
/** Compute configuration data size for zone */
__address zone_conf_size(count_t count)
{
784,7 → 780,6
return size;
}
 
 
/** Create and add zone to system
*
* @param confframe Where configuration frame is supposed to be.