Physical memory allocation stack grows upwards above the kernel
The first 512 bytes holds a bitmap for the first 16MB of memory, this memory is only allocated when all other memory is used or a DMA section was requested
Then there is a stack that grows upwards that holds the memory addresses for all of the rest of the unallocated space