[ipxe-devel] question about memory in ipxe

Levente LEVAI levail at aviatronic.hu
Fri Aug 10 18:54:22 UTC 2012


Dear list,

I would like to understand memory usage in ipxe (I would like to
add some more powerful interpreter to ipxe). Studying the code
I have got the impression that "heap" in ipxe is a rather scarce
resource (128kB according to core/malloc.c). What are the limitations
to increasing heap size?

I also found out that images (the image data proper, that is) are
stored in a separate area, allocated by umalloc(). What is the exact
difference between memory allocated by umalloc() and heap memory?

A third kind of memory can be allocated from the stack (temporary
strings and arrays are typically allocated this way).

There is a separate kind of memory used by drivers for io buffers
(dma-able memory, means perhaps that
  physical addresses == virtual address?).

Are there any documents I should look into or the source code is
the only documentation? What points should I study? What
are the gotchas?

Any help is most welcome.

/levente



More information about the ipxe-devel mailing list