ramAllocator describes RAM occupation by the system image. The mkbootconf tool initializes the ramAllocator state. It tags as allocated the memory dedicated to:
All RAM based system image memory banks (see "Banks").
Global system control blocks (for example CpuContext
and ChorusContext
) that are mapped to non-virtual
linking areas (see "Areas").
All non-XIP segments (XIP segments are contained in memory banks) that are mapped to non-virtual linking areas (see "Areas").
The ChorusOS operating system provides a library of functions to manipulate
the RamDesc
objects (see "RAM Allocator interface"). RamDesc is declared in ~nucleus/sys/common/src/lib/bki/ram.h. These functions allow the bootstrap program to tag any range
of physical addresses with an attribute.