Can somone review my memory map?
Posted: Sat Sep 19, 2009 12:06 pm
Hi there!
I'm planning my memory mapping for kernel right now, and I wonder if you could criticize my choices and stuff.
I won't touch the user space memory as I don't have user space yet.
The kernel space starts at 0xC0000000 and ends at 0xFFFFFFFF
The IVT & BDA probably will become an unmapped space since I don't need them at the kernel PDE yet. The same goes for EBDA.
Video memory probably will be moved to 0xF0...
As you may see the whole lower megabyte between 0xC0000000 - 0xC0100000 is wasted (in case if the video memory will be moved to 0xF0.. and E/BDA will be discarded).
So any suggestions, critics, or improvements for my memory map?
Thanks
I'm planning my memory mapping for kernel right now, and I wonder if you could criticize my choices and stuff.
I won't touch the user space memory as I don't have user space yet.
The kernel space starts at 0xC0000000 and ends at 0xFFFFFFFF
Code: Select all
+------------------------------+ 0xFFFFFFFF
| Current PD and PT's (4Mb) |
|______________________________| 0xFFC00000
| No idea what will be there |
| Maybe video addresses? |
|______________________________| 0xF0000000
| Probably Drivers |
|______________________________| 0xE0000000
| Kernel Stack (16kb too much?)|
|______________________________| 0xDFFFC000
| Guard page (unmapped) (4kb) |
|______________________________| 0xDFFFB000
| Kernel Heap |
| (around 255MB) |
|______________________________| 0xD00000000
| Kernel Code |
| (255MB) |
|______________________________| 0xC0100000
| Motherboard BIOS (ROM) |
| (64Kb) |
|______________________________| 0xC00F0000
| BIOS Shadow Area ? (ROM) |
| (160kb) |
|______________________________| 0xC00C8000
| Video BIOS (ROM) |
| (32kb) |
|______________________________| 0xC00C0000
| VGA Text Color |
| (32kb) |
|______________________________| 0xC00B8000
| VGA Text Monochrome |
| (32kb) |
|______________________________| 0xC00B0000
| VGA framebuffer |
| (64kb) |
|______________________________| 0xC00A0000
| EBDA |
| (4kb) |
|______________________________| 0xC009F000
| Unmapped |
| (632kb) |
|______________________________| 0xC0001000
| IVT & BDA maybe? |
| (4kb) |
|______________________________| 0xC0000000
Video memory probably will be moved to 0xF0...
As you may see the whole lower megabyte between 0xC0000000 - 0xC0100000 is wasted (in case if the video memory will be moved to 0xF0.. and E/BDA will be discarded).
So any suggestions, critics, or improvements for my memory map?
Thanks