In a computer system with a non-segmented, region-based memory
architecture, such as Intel IA-64 systems, two or more sub-systems share
a resource, such as a virtual-to-physical address mapping and need to
have overlapping regions of the virtual address space for accessing
different physical addresses. Virtual addresses include a portion that is
used to identify which region the issuing sub-system wants to access. For
example, the region-identifying portion of virtual addresses may select a
region register whose contents point to a virtual-to-physical address
mapping for the corresponding region. To protect a second sub-system S2
from a first S1, whenever the S1 issues an address in a region occupied
by S2, the region for the S2 is changed. This allows S1 to issue its
addresses without change. In a preferred embodiment of the invention, S2
is a virtual machine monitor (VMM) and S1 is a virtual machine running on
the VMM.