A method for controlling I/O in a multi-processor environment, comprising
the steps of: determining if an I/O instruction requiring an interrupt is
being executed by one of the processors in the multi-processor environment
to transfer data or a command between the processor and an I/O device;
performing an interrupt if such an I/O instruction is detected;
determining which of the processors in the multi-processor environment is
executing an I/O instruction; if only one of the processors is executing
an I/O instruction, setting a Last Processor indicator designating that
one processor as the processor executing the I/O instruction; and
transferring data or a command between the processor designated in the
Last Processor indicator and the I/O device in response to the I/O
instruction. In a further aspect of the invention, a method is provided
for servicing a software system management interrupt (SMI) initiated by an
I/O instruction in a multi-processor environment, comprising the steps of:
detecting the occurrence of a software SMI; determining which processor in
the multi-processor environment has save state information indicating that
that processor initiated the software SMI; and transferring information
between an SMI handler and the processor determined to have initiated the
software SMI.
Un método para controlar I/O en un ambiente del multiprocesador, abarcando los pasos de: determinándose si una instrucción de I/O que requiere una interrupción está siendo ejecutada por uno de los procesadores en el ambiente del multiprocesador para transferir datos o un comando entre el procesador y un dispositivo de I/O; ejecución de una interrupción si se detecta tal instrucción de I/O; determinándose cuáles de los procesadores en el ambiente del multiprocesador están ejecutando una instrucción de I/O; si solamente uno de los procesadores está ejecutando una instrucción de I/O, fijando un indicador pasado del procesador que señala ese un procesador como el procesador que ejecuta la instrucción de I/O; y datos de transferencia o un comando entre el procesador señalado en el indicador pasado del procesador y el dispositivo de I/O en respuesta a la instrucción de I/O. En un aspecto más otro de la invención, un método se proporciona para mantener una interrupción de la gerencia de sistema de software (SMI) iniciada por una instrucción de I/O en un ambiente del multiprocesador, abarcando los pasos de: detección de la ocurrencia de un SMI del software; determinándose qué procesador en el ambiente del multiprocesador tiene excepto la información del estado que indica eso que el procesador inició el SMI del software; y la información de transferencia entre un tratante del SMI y el procesador se determinó de haber iniciado el SMI del software.