From: Bruce M. <ill...@gm...> - 2008-08-04 02:03:25
|
On Sun, Aug 3, 2008 at 9:53 PM, Zachary Gorden <dra...@gm...>wrote: > I actually have a similar question, and this pertains to the current > mapping of the kernel in memory. Because we don't have anything like ntldr > or freeldr, the kernel needs to manually set up its page tables first, kinda > like how Linux does it. If we're following convention, I'll need to remap > all of the addresses to their appropriate location in the upper 2GB. > > So my question basically is, is there a current map of what the kernel > looks like in memory? > > This is material is definitely better suited for a separate thread, (which I've taken care of). I'll answer with as much as I expect is true... The kernel has no well-defined structure in memory. The AOT outputs things in a specific order (undocumented, but with research it wouldn't be hard to determine), into a brute-forced binary that GRUB loads into memory and then lets us have our way with ourselves. So without a custom loader, or some sort of hacked implementation in order to work with another loader, we currently do not have support for this. Frankly, I don't think you can setup page tables without having something tied to an interrupt when paging is needed to be done - which brings us to identifying and accessing disk space. Due to the nano-kernel-esque design we are shooting for, (as far as modularity), I don't think this is an option for us right now. |