A method for supporting input/output for a virtual machine. The method
includes the step of executing virtual machine application instructions,
wherein the application instructions are executed using micro
architecture code of a processor architecture. An I/O access is received
from the virtual machine application. Virtual memory protection is used
to generate an exception, wherein the exception is caused by the I/O
access. A single step mode is entered to perform the I/O access using a
host operating system. State data for the virtual machine application is
updated in accordance with the I/O access. Subsequently, execution of the
virtual machine application is resumed.