Changeset 6a3c9a7 in mainline for generic/src/main/kinit.c


Ignore:
Timestamp:
2006-01-30T23:44:00Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fc1e4f6
Parents:
a60c748
Message:

Remove address space area mapping array.
The information is to be stored directly in page tables.
This is to better support 64-bit systems which can have
fairly large address space areas.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/src/main/kinit.c

    ra60c748 r6a3c9a7  
    7272        as_t *as;
    7373        as_area_t *a;
    74         index_t frame, frames;
    75         index_t pfn;
     74        __address frame;
     75        count_t frames;
     76        int i;
    7677        task_t *u;
    7778
     
    161162                 */
    162163               
    163                 frame = KA2PA(config.init_addr) / FRAME_SIZE;
     164                frame = KA2PA(config.init_addr);
    164165                frames = config.init_size / FRAME_SIZE;
    165166                if (config.init_size % FRAME_SIZE > 0)
     
    170171                        panic("as_area_create: text\n");
    171172               
    172                 for (pfn = 0; pfn < frames; pfn++)
    173                         as_area_set_mapping(a, pfn, frame + pfn);
    174        
    175173                /*
    176174                 * Create the data as_area.
     
    179177                if (!a)
    180178                        panic("as_area_create: stack\n");
     179
     180                /*
     181                 * Initialize text area mapping.
     182                 */
     183                for (i = 0; i < frames; i++)
     184                        as_set_mapping(as, UTEXT_ADDRESS + i * PAGE_SIZE, frame + i * FRAME_SIZE);
     185
    181186       
    182187                thread_ready(t);
Note: See TracChangeset for help on using the changeset viewer.