Methods and systems are provided for determining the physical address of
an allocated and locked memory buffer. An application program may request
the allocation of a memory buffer. A virtual memory address for the
memory buffer is then returned. The virtual memory address is adjusted to
correspond to a page boundary within a physical memory address space. The
memory buffer is then locked to the physical memory. A predetermined bit
pattern is then written to the memory buffer. A search may then be made
of the physical memory for the bit pattern to determine the location
within the physical memory address space of the allocated memory buffer.
Once the physical address of the memory buffer has been determined, it
may be utilized to reference the memory buffer by a program that would
not otherwise have access to the virtual address space.