diff --git a/OVMFbin/OVMF_VARS-pure-efi.fd b/OVMFbin/OVMF_VARS-pure-efi.fd index e260ef4..e326b20 100644 Binary files a/OVMFbin/OVMF_VARS-pure-efi.fd and b/OVMFbin/OVMF_VARS-pure-efi.fd differ diff --git a/kernel/bin/CustomOS.img b/kernel/bin/CustomOS.img index d0ba7dd..5aed5b1 100644 Binary files a/kernel/bin/CustomOS.img and b/kernel/bin/CustomOS.img differ diff --git a/kernel/bin/kernel.elf b/kernel/bin/kernel.elf index b2ac99f..24b35fd 100755 Binary files a/kernel/bin/kernel.elf and b/kernel/bin/kernel.elf differ diff --git a/kernel/lib/Bitmap.o b/kernel/lib/Bitmap.o new file mode 100644 index 0000000..dc62cad Binary files /dev/null and b/kernel/lib/Bitmap.o differ diff --git a/kernel/lib/PageFrameAllocator.o b/kernel/lib/PageFrameAllocator.o new file mode 100644 index 0000000..43229df Binary files /dev/null and b/kernel/lib/PageFrameAllocator.o differ diff --git a/kernel/lib/kernel.o b/kernel/lib/kernel.o index 494a359..b335d42 100644 Binary files a/kernel/lib/kernel.o and b/kernel/lib/kernel.o differ diff --git a/kernel/lib/memory.o b/kernel/lib/memory.o new file mode 100644 index 0000000..f775d83 Binary files /dev/null and b/kernel/lib/memory.o differ diff --git a/kernel/src/Bitmap.cpp b/kernel/src/Bitmap.cpp index 2f5daaa..2165f2f 100644 --- a/kernel/src/Bitmap.cpp +++ b/kernel/src/Bitmap.cpp @@ -8,7 +8,7 @@ bool Bitmap::operator[](uint64_t index){ return true; } return false; -}; +} void Bitmap::Set(uint64_t index, bool value){ diff --git a/kernel/src/Bitmap.h b/kernel/src/Bitmap.h index eb14c36..fc5512b 100644 --- a/kernel/src/Bitmap.h +++ b/kernel/src/Bitmap.h @@ -2,7 +2,7 @@ #include #include -class Bitmap{ +class Bitmap { public: size_t Size; uint8_t* Buffer; diff --git a/kernel/src/PageFrameAllocator.cpp b/kernel/src/PageFrameAllocator.cpp index cfef239..83adc6c 100644 --- a/kernel/src/PageFrameAllocator.cpp +++ b/kernel/src/PageFrameAllocator.cpp @@ -13,32 +13,32 @@ void PageFrameAllocator::ReadEFIMemoryMap(EFI_MEMORY_DESCRIPTOR* mMap, size_t mM uint64_t mMapEntries = mMapSize / mMapDescSize; void* largestFreeMemSeg = NULL; - size_t largestFreeMemSegSize = 0 + size_t largestFreeMemSegSize = 0; - for (int i = 0; i < mMapEntries; i++){ + for (int i = 0; i < mMapEntries; i++) { EFI_MEMORY_DESCRIPTOR* desc = (EFI_MEMORY_DESCRIPTOR*)((uint64_t)mMap + (i * mMapDescSize)); - if (desc->type == 7){ - if (desc -> numPages * 4096 > largestFreeMemSegSize); { + if (desc->type == 7) { + if (desc -> numPages * 4096 > largestFreeMemSegSize) { largestFreeMemSeg = desc-> physAddr; largestFreeMemSegSize = desc -> numPages * 4096; } } } - uint64_t memorySize = GetMemorySize(mMap, mMapEntries, mMapDescSize) + uint64_t memorySize = GetMemorySize(mMap, mMapEntries, mMapDescSize); freeMemory = memorySize; - uint64_t bitmap = memorySize / 4096 / 8 + 1 + uint64_t bitmapSize = memorySize / 4096 / 8 + 1; - InitBitmap(bitmapSize, largestFreeMemSeg) + InitBitmap(bitmapSize, largestFreeMemSeg); //lock pages of bitmap //reserve pages of unsable/reserverd memory } -void PageFrameAllocator::InitBitmap(size_t bitmap, void* bufferAddress){ +void PageFrameAllocator::InitBitmap(size_t bitmapSize, void* bufferAddress){ PageBitmap.Size = bitmapSize; - PageBitmap.Buffter = (uint8_t*)bufferAddress; + PageBitmap.Buffer = (uint8_t*)bufferAddress; for (int i = 0; i < bitmapSize; i++){ - *(uint8_t)(PageBitmap.Buffer + t) = 0; + *(uint8_t*)(PageBitmap.Buffer + i) = 0; } } \ No newline at end of file diff --git a/kernel/src/PageFrameAllocator.h b/kernel/src/PageFrameAllocator.h index efe5110..634fe33 100644 --- a/kernel/src/PageFrameAllocator.h +++ b/kernel/src/PageFrameAllocator.h @@ -5,10 +5,11 @@ #include "Bitmap.h" #include "memory.h" -class pageFrameAllocator { +class PageFrameAllocator { public: void ReadEFIMemoryMap(EFI_MEMORY_DESCRIPTOR* mMap, size_t mMapSize, size_t mMapDescSize); + Bitmap PageBitmap; private: - void InitBitmap(size_t bitmap, void* bufferAddress); -} \ No newline at end of file + void InitBitmap(size_t bitmapSize, void* bufferAddress); +}; \ No newline at end of file