[ipxe-devel] question about memory in ipxe

Wigi Vei Oliveros waoliveros at gmail.com
Mon Aug 13 14:06:05 UTC 2012

On Sat, Aug 11, 2012 at 3:24 AM, Michael Brown <mbrown at fensystems.co.uk> wrote:
> On Friday 10 Aug 2012 19:54:22 Levente LEVAI wrote:
>> 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?
> Any memory forming part of the heap, along with the memory used by the iPXE
> image itself, will be permanently lost for the duration of the system boot if
> booting from SAN.
>> 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?
> Allocating memory with umalloc() changes the system memory map as reported by
> INT 15,e820.  It is therefore not allowed to allocate memory with umalloc()
> from routines that may be called by external code such as a PXE NBP.

If I only intend to run iPXE using chainloading,
is it safe to increase the size of the heap to say
a couple to tens of megabytes?

Will the only limitation be the size of the RAM of the machine?

Wigi Vei A. Oliveros

More information about the ipxe-devel mailing list