stats
This commit is contained in:
@@ -16,7 +16,6 @@ void PageFrameAllocator::init(){
|
|||||||
void* start = memory_map_entry->getStartAddress();
|
void* start = memory_map_entry->getStartAddress();
|
||||||
void* end = memory_map_entry->getEndAddress();
|
void* end = memory_map_entry->getEndAddress();
|
||||||
bool available = memory_map_entry->isAvailable();
|
bool available = memory_map_entry->isAvailable();
|
||||||
dout << "Memory: " << hex << start << " to " << end << " is available: " << available << "." << endl;
|
|
||||||
|
|
||||||
//TODO priotity for conflicting regions
|
//TODO priotity for conflicting regions
|
||||||
for(uint64_t i = (uint64_t)start; i < (uint64_t)end; i += 4096){
|
for(uint64_t i = (uint64_t)start; i < (uint64_t)end; i += 4096){
|
||||||
@@ -35,9 +34,27 @@ void PageFrameAllocator::init(){
|
|||||||
bitmap[pg/8] &= ~(1 << pg%8);
|
bitmap[pg/8] &= ~(1 << pg%8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stats();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PageFrameAllocator::stats(){
|
void PageFrameAllocator::stats(){
|
||||||
|
Multiboot::Memory* memory_map_entry = Multiboot::getMemoryMap();
|
||||||
|
while(memory_map_entry != 0){
|
||||||
|
void* start = memory_map_entry->getStartAddress();
|
||||||
|
void* end = memory_map_entry->getEndAddress();
|
||||||
|
bool available = memory_map_entry->isAvailable();
|
||||||
|
dout << "Memory: " << hex << start << " to " << end << " is available: " << available << "." << endl;
|
||||||
|
memory_map_entry = memory_map_entry->getNext();
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t pages_available = 0;
|
||||||
|
for(uint64_t i=0; i<sizeof(bitmap)*8;i++)
|
||||||
|
{
|
||||||
|
if(bitmap[i/8] & (1<<i%8))
|
||||||
|
pages_available++;
|
||||||
|
}
|
||||||
|
dout << "pages available: " << dec << pages_available << endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PageFrame* PageFrameAllocator::alloc(bool kernel){
|
PageFrame* PageFrameAllocator::alloc(bool kernel){
|
||||||
|
|||||||
Reference in New Issue
Block a user