Add number of pages as attribute of FrameAllocator
This commit is contained in:
parent
3d0ee684ba
commit
1e02f3779d
2 changed files with 6 additions and 4 deletions
|
@ -26,16 +26,16 @@ FrameAllocator::initialize(const StartupInformation& startupInformation)
|
|||
// Page frame bitmap starts immediately after the kernel.
|
||||
mBitmap = reinterpret_cast<Bitmap*>(startupInformation.kernelEnd);
|
||||
|
||||
const u32 numberOfPages = startupInformation.memorySize() / memory::pageSize;
|
||||
mNumberOfPages = startupInformation.memorySize() / memory::pageSize;
|
||||
const u32 pagesPerBitmap = Bitmap::length;
|
||||
|
||||
mBitmapSize = numberOfPages / pagesPerBitmap;
|
||||
if ((numberOfPages % pagesPerBitmap) != 0) {
|
||||
mBitmapSize = mNumberOfPages / pagesPerBitmap;
|
||||
if ((mNumberOfPages % pagesPerBitmap) != 0) {
|
||||
// Add an extra bitmap for the last few pages.
|
||||
mBitmapSize++;
|
||||
}
|
||||
|
||||
kstd::printFormat("Allocated bitmap of %ld bytes for %ld pages at 0x%08lX\n", mBitmapSize, numberOfPages, u32(mBitmap));
|
||||
kstd::printFormat("Allocated bitmap of %ld bytes for %ld pages at 0x%08lX\n", mBitmapSize * sizeof(Bitmap), mNumberOfPages, u32(mBitmap));
|
||||
|
||||
// TODO: Before modifying this memory, maybe make sure none of the multiboot information is hanging out there?
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@ private:
|
|||
Bitmap* mBitmap;
|
||||
/** Size of the bitmap in `sizeof(Bitmap)` units. */
|
||||
u32 mBitmapSize;
|
||||
/** Total number of pages. */
|
||||
u32 mNumberOfPages;
|
||||
|
||||
/** Reserve a range of memory. */
|
||||
void reserveRange(u32 start, u32 length);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue