Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 373 → Rev 374

/SPARTAN/trunk/src/main/main.c
147,7 → 147,7
the_initialize(THE);
arch_pre_mm_init();
heap_init(config.base + hardcoded_ktext_size + hardcoded_kdata_size, heap_size + heap_delta);
early_heap_init(config.base + hardcoded_ktext_size + hardcoded_kdata_size, heap_size + heap_delta);
frame_init();
page_init();
tlb_init();
/SPARTAN/trunk/src/mm/frame.c
298,7 → 298,7
cnt = size / FRAME_SIZE;
z = (zone_t *) malloc(sizeof(zone_t));
z = (zone_t *) early_malloc(sizeof(zone_t));
if (z) {
link_initialize(&z->link);
spinlock_initialize(&z->lock);
311,7 → 311,7
 
z->busy_count = 0;
z->frames = (frame_t *) malloc(cnt * sizeof(frame_t));
z->frames = (frame_t *) early_malloc(cnt * sizeof(frame_t));
if (!z->frames) {
free(z);
return NULL;
/SPARTAN/trunk/src/mm/heap.c
44,7 → 44,7
static chunk_t *chunk0;
static spinlock_t heaplock;
 
void heap_init(__address heap, size_t size)
void early_heap_init(__address heap, size_t size)
{
spinlock_initialize(&heaplock);
memsetb(heap, size, 0);
58,7 → 58,7
/*
* Uses first-fit algorithm.
*/
void *malloc(size_t size)
void *early_malloc(size_t size)
{
pri_t pri;
chunk_t *x, *y, *z;
114,7 → 114,7
return NULL;
}
 
void free(void *ptr)
void early_free(void *ptr)
{
pri_t pri;
chunk_t *x, *y, *z;