Re: Pistachio memory layout
Espen Skoglund <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
[Javier Cabezas RodrÃguez] > I'm still working on the Diablo[1] linker optimizer support for > pistachio microkernels. The main problem we have now is that the > memory layout of the microkernel is quite confusing. More specific, > do you know why vma != lma for all non-.init sections? Is there any > document where these kind of things are explained? The lma indicates at which physical address the bootloader places the code. The vma indicates at which address the code is compiled to run at. The kernel code is compiled to run in the top GB of virtual memory, but is located at a low physical memory address. At startup, before paging is enabled, the init code runs with physical addressing. This works since the init code has vma == lma. After initialization has finished the init code can be discarded, freeing up both its physical and virtual memory. eSk