Subversion Repositories HelenOS-historic

Rev

Rev 946 | Rev 1063 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 946 Rev 1037
Line 808... Line 808...
808
     */
808
     */
809
    confcount = SIZE2FRAMES(zone_conf_size(count));
809
    confcount = SIZE2FRAMES(zone_conf_size(count));
810
    if (confframe >= start && confframe < start+count) {
810
    if (confframe >= start && confframe < start+count) {
811
        for (;confframe < start+count;confframe++) {
811
        for (;confframe < start + count; confframe++) {
812
            addr = PFN2ADDR(confframe);
812
            addr = PFN2ADDR(confframe);
813
            if (overlaps(addr, PFN2ADDR(confcount),
-
 
814
                     KA2PA(config.base),config.kernel_size))
813
            if (overlaps(addr, PFN2ADDR(confcount), KA2PA(config.base), config.kernel_size))
815
                continue;
814
                continue;
-
 
815
           
-
 
816
            bool overlap = false;
-
 
817
            count_t i;
816
            if (config.init_addr)
818
            for (i = 0; i < init.cnt; i++)
817
                if (overlaps(addr,PFN2ADDR(confcount),
819
                if (overlaps(addr, PFN2ADDR(confcount), KA2PA(init.tasks[i].addr), init.tasks[i].size)) {
818
                         KA2PA(config.init_addr),
820
                    overlap = true;
-
 
821
                    break;
-
 
822
                }
819
                         config.init_size))
823
            if (overlap)
820
                    continue;
824
                continue;
-
 
825
           
821
            break;
826
            break;
822
        }
827
        }
823
        if (confframe >= start+count)
828
        if (confframe >= start + count)
824
            panic("Cannot find configuration data for zone.");
829
            panic("Cannot find configuration data for zone.");
825
    }
830
    }
Line 987... Line 992...
987
    frame_arch_init();
992
    frame_arch_init();
988
    if (config.cpu_active == 1) {
993
    if (config.cpu_active == 1) {
989
        pfn_t firstframe = ADDR2PFN(KA2PA(config.base));
994
        pfn_t firstframe = ADDR2PFN(KA2PA(config.base));
990
        pfn_t lastframe = ADDR2PFN(KA2PA(config.base+config.kernel_size));
995
        pfn_t lastframe = ADDR2PFN(KA2PA(config.base+config.kernel_size));
991
        frame_mark_unavailable(firstframe,lastframe-firstframe+1);
996
        frame_mark_unavailable(firstframe,lastframe-firstframe+1);
-
 
997
       
-
 
998
        count_t i;
992
        if (config.init_size > 0)
999
        for (i = 0; i < init.cnt; i++)
993
            frame_mark_unavailable(ADDR2PFN(KA2PA(config.init_addr)),
1000
            frame_mark_unavailable(ADDR2PFN(KA2PA(init.tasks[i].addr)), SIZE2FRAMES(init.tasks[i].size));
994
                           SIZE2FRAMES(config.init_size));
-
 
995
    }
1001
    }
996
}
1002
}
997
 
1003
 
998
 
1004
 
999
 
1005