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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.