A method of sharing pages between virtual machines in a multiple virtual
machine environment includes initially allocating a temporary guest
physical address range of a first virtual machine for sharing pages with
a second virtual machine. The temporary range is within a guest physical
address space of the first virtual machine. An access request, such as
with a DMA request, from a second virtual machine for pages available to
the first virtual machine is received. A reference count of pending
accesses to the pages is incremented to indicate a pending access and the
ages are mapped into the temporary guest physical address range. The
pages are accessed and the reference count is decremented. The mapping in
the temporary guest physical address range is then removed if the
reference count is zero.