Subversion Repositories HelenOS

Rev

Rev 1790 | Rev 1854 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1790 Rev 1833
Line 863... Line 863...
863
        for (;confframe < start + count; confframe++) {
863
        for (;confframe < start + count; confframe++) {
864
            addr = PFN2ADDR(confframe);
864
            addr = PFN2ADDR(confframe);
865
            if (overlaps(addr, PFN2ADDR(confcount), KA2PA(config.base), config.kernel_size))
865
            if (overlaps(addr, PFN2ADDR(confcount), KA2PA(config.base), config.kernel_size))
866
                continue;
866
                continue;
867
           
867
           
-
 
868
            if (overlaps(addr, PFN2ADDR(confcount), KA2PA(config.stack_base), config.stack_size))
-
 
869
                continue;
-
 
870
           
868
            bool overlap = false;
871
            bool overlap = false;
869
            count_t i;
872
            count_t i;
870
            for (i = 0; i < init.cnt; i++)
873
            for (i = 0; i < init.cnt; i++)
871
                if (overlaps(addr, PFN2ADDR(confcount), KA2PA(init.tasks[i].addr), init.tasks[i].size)) {
874
                if (overlaps(addr, PFN2ADDR(confcount), KA2PA(init.tasks[i].addr), init.tasks[i].size)) {
872
                    overlap = true;
875
                    overlap = true;
Line 1066... Line 1069...
1066
        spinlock_initialize(&zones.lock,"zones_glob_lock");
1069
        spinlock_initialize(&zones.lock,"zones_glob_lock");
1067
    }
1070
    }
1068
    /* Tell the architecture to create some memory */
1071
    /* Tell the architecture to create some memory */
1069
    frame_arch_init();
1072
    frame_arch_init();
1070
    if (config.cpu_active == 1) {
1073
    if (config.cpu_active == 1) {
1071
        pfn_t firstframe = ADDR2PFN(KA2PA(config.base));
-
 
1072
        pfn_t lastframe = ADDR2PFN(KA2PA(config.base+config.kernel_size));
1074
        frame_mark_unavailable(ADDR2PFN(KA2PA(config.base)), SIZE2FRAMES(config.kernel_size));
1073
        frame_mark_unavailable(firstframe,lastframe-firstframe+1);
1075
        frame_mark_unavailable(ADDR2PFN(KA2PA(config.stack_base)), SIZE2FRAMES(config.stack_size));
1074
       
1076
       
1075
        count_t i;
1077
        count_t i;
1076
        for (i = 0; i < init.cnt; i++)
1078
        for (i = 0; i < init.cnt; i++)
1077
            frame_mark_unavailable(ADDR2PFN(KA2PA(init.tasks[i].addr)), SIZE2FRAMES(init.tasks[i].size));
1079
            frame_mark_unavailable(ADDR2PFN(KA2PA(init.tasks[i].addr)), SIZE2FRAMES(init.tasks[i].size));
1078
 
1080