umap = un-map page (similar to how *nix uses umount to un-mount)Awe2K wrote:What does umap function mean?
I've already started rewriting my kernel as higher half from a total zero.
I will follow the steps you mentioned. Also, does higher half kernel mean paging is enabled by default?
Edit: if it is, how do I edit page entries in my kernel, after boot.s?
You edit it the same way you normally would, If you create the page directory you **SHOULD** know exactly where in memory it is. (e.g. My PDIR is mapped at 0xFFBFF000 and all its PTBLs are mapped at 0xFFC0000 - 0xFFFFFFFF)
If you do not reload CR3 after modifying use INVLPG to invalidate the page.
And yes higher half, pageing is enabled before jumping to the kernel's main function.
I'm not sure but these links should explain it:Also, how do 4MB pages differ from 4KB in tables? How many entries are in directory and table?
http://wiki.osdev.org/Physical_Address_Extension
http://wiki.osdev.org/Setting_Up_Paging_With_PAE
But don't forget to check support for PAE with CPUID