Systems and methods for providing on-demand memory management. In response
to a mapping request from a device driver or other program, a first
portion of the memory is mapped to one or more virtual addresses in a
first region of a virtual memory space so that it can be directly
accessed by the CPU. In response to an unmapping request the first
portion of the memory is unmapped. Mapping and unmapping requests may be
made at any time.