Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Kevin McGuire wrote a neat page allocation scheme for my OS, but now I've found a small problem in it. I was adding (yet) another module to my OS via the GRUB command line and then suddenly everything started failing. I looked a bit closer and found out that somehow the memory had wrapped around and come back to the space before the kernel.
Now, I don't even get any memory after I hit the 4 MB mark:
Allocated memory at 0x3bf000
Allocated memory at 0x3c9000
Allocated memory at 0x3d3000
Allocated memory at 0x3dd000
Allocated memory at 0x3e7000
Allocated memory at 0x3f1000
Allocated memory at 0x0
<more 0x0s>
The code for the page allocator is at this location.
I've been working at this for several hours now (short in comparison to other problems) and I'm hoping someone else can find the answer where I can't.
i dont know if this will help or not, but your page frames are the same size of your pages, right? if your using virtual memory, the MMU handles the virtual addresses. so you could use some assembly functions (MOV REG,24576)e.g. to send the virtual addresses to the MMU so they can be split.
oh microsoft, microsoft, what souls you have dismayed