A processor supports logical partitioning of hardware resources including real
address spaces of a computer system. An ultra-privileged supervisor process, called
a hypervisor, regulates the logical partitions and can dynamically re-allocate
resources. Preferably, the processor supports hardware multithreading, each thread
independently capable of being in either hypervisor, supervisor, or problem state,
and is capable of entering hypervisor state only upon occurrence of certain pre-defined
events. A logical partition identifier is stored in a processor register, and can
be altered by the processor only when in hypervisor state. Certain bus communications
contain a logical partition identifier tag, and the processor ignores such communications
if the tag does not match its own logical partition identifier in its register.