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 |