[movitz-devel] Re: initial binary and memory layout

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Sun Apr 24 10:34:06 UTC 2005


Muli Ben-Yehuda <mulix at mulix.org> writes:

> Is there any documentation (except from the code...) on the
> los0-image layout and how and where it gets loaded into memory?

Unfortunately I don't think it's much documented. However, there
isn't too much to say about this. Most of the details are embedded in
what happens in dump-image.

Briefly, everything gets loaded (by the bootloader, i.e. that in
bootloader.lisp or GRUB) at 1MB (physical) and up. Logical adresses
start at 0, because the segment descriptors are given a 1MB
base-address. (This segmentation scheme is completely optional btw,
it's not any intrinsic property of movitz.) The first object (i.e
whose logical location is 0) is the "global" run-time-context that is
activated at boot-up (this happens in the code generated at dump-time
by make-toplevel-funobj), which is called by the bootloader.

That's it, really. After the global run-time-context, the memory is
just a heap of (8-byte aligned) objects, in no particular order.

-- 
Frode Vatvedt Fjeld




More information about the movitz-devel mailing list