A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communication with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
Shown in
In the architecture of
The system and method that is disclosed herein concerns a method for managing interrupts within a multiprocessor computer system. As an example, when the number of single bit errors within a single memory array reaches a threshold value, a system management interrupt is initiated. The processor that is designated to handle the system manage interrupt is the processor that is directly coupled to the memory array that includes the single bit errors. As an example, assume that a threshold number of single bit errors have occurred in Memory 1. A system management interrupt will be issued, and CPU 1 will handle the system management interrupt. In this description, the processor that is handling the interrupt will be referred to as the local processor, as this processor is local to or directly coupled to the local memory that is the source of the system management interrupt.
As part of the handling of the system management interrupt by the local processor, the local processor writes to the interrupt initiation register 18 of hub 14 to generate a system control interrupt. The local processor also writes a code to SMI status register 20. The code written to SMI status register 20 comprises a local SMI reason code, which represents the reason for or cause of the system management interrupt. The existence of a local SMI reason code in the SMI status register also serves as flag to indicate that the local processor will soon complete the handling of the system management interrupt.
As a result of the initiation of the system control interrupt, code within BIOS will periodically check the SMI status register 20 to determine if a local SMI reason code has been written to the SMI status register. If a local SMI reason code has not been written to the SMI status register, SMI status register 20 will have a zero or null value. The existence of a local SMI reason code acts as a semaphore that indicates whether the local processor will soon complete its interrupt handling sequence. When a non-zero value is finally found in SMI status register 20, the BIOS generates a soft system management interrupt for all processors by writing to the interrupt initiation register 18. Once a flag is written to interrupt initiation register 18, all of the processors of the system execute a system management interrupt, using the SMI local reason code of the SMI status register 20 to identify the action to be taken in response during the handling of the system management interrupt.
Shown in
If it is determined at step 34 that the system management interrupt is a local system management interrupt, the processor at step 36 generates a system control interrupt by writing to the interrupt initiation register 18. At step 38, the processor writes the local SMI reason code to the SMI status register 20, and, at step 40, the processor exits the handling of the system management interrupt. Following step 40, the processor resumes normal operation at step 42. If, however, it is determined at step 34 that the system management interrupt is not a local system management interrupt, it is next determined at step 44 if the system management interrupt is a soft system management interrupt. If the system management interrupt is not a soft system management interrupt, the standard system management interrupt is handled at step 46 and the processor exits the handling of the system management interrupt at step 40.
If it is determined at step 44 that the system management interrupt is a soft system management interrupt, it is next determined at step 48 if SMI status register 20 has a non-null value. If it is determined at step 48 if the SMI status register 20 has a null value, then it is known that, although the system management interrupt is a soft system management interrupt, the soft system management interrupt was not initiated following the existence of a standard interrupt in another processor of the computer system. In this case, the soft system management interrupt is handled at step 52 and the processor exits the handling of the system management interrupt at step 40. If it is determined at step 48 that a local SMI reason code has been written to the SMI status register, the processor, on the basis of the local SMI reason code, handles the system management interrupt event at step 50 and the processor exits the handling of the system management interrupt at step 40.
Shown in
Although the system and method disclosed herein has been described with respect to a distributed memory configuration, it should be understood that the system and method described herein is not limited to the memory configuration shown in