Claims
- 1. A method in a data processing system for processing errors in a hierarchical input/output sub-system having a bridge with a plurality of hardware devices in a level below the bridge, the method comprising:
checking a register in the bridge in response to an error indication; responsive to detecting an absence of an error in the register in the bridge, scanning error registers in devices in a level below the bridge; responsive to a presence of an error being found by scanning the registers below the bridge, identifying the error as an input/output error; and responsive to an absence of an error being found by scanning the registers below the bridge, identifying the error as a memory error.
- 2. The method of claim 1 further comprising:
responsive to a presence of an error being found by scanning the registers below the bridge in which the error has conditions identical to a last primary error, indicating that the error may be a secondary error; and responsive to an absence of an error being found by scanning the registers below the bridge in which the error has conditions identical to the last primary error, indicating that the error is a primary error.
- 3. The method of claim 1, wherein the bridge is an input/output bridge.
- 4. The method of claim 2 further comprising:
responsive to a presence of an error being found by scanning the registers below the bridge in which the error has conditions different from the last primary error, storing the conditions.
- 5. The method of claim 2 further comprising:
responsive to a presence of an error being found by scanning the registers below the bridge, comparing the conditions in the error found by scanning the registers below with conditions for the last primary error.
- 6. A method in a data processing system for processing errors in an input/output sub-system, the method comprising:
responsive to detecting an error, reading a value from a selected register to form a read value; resetting the selected register; clearing each bit in the read value associated with the error to form a cleared value; and writing the cleared value into the selected register such that errors occurring since the register was cleared are preserved.
- 7. The method of claim 6 further comprising:
identifying the each bit within the read value associated using an error analysis routine.
- 8. The method of claim 6, wherein the selected register is a recoverable error register.
- 9. The method of claim 6, wherein the clearing step is performed by generating a mask using each bit in the read value associated with the error and clearing each bit in the read value associated with the error using the mask.
- 10. The method of claim 6, wherein the writing step is performed by using an OR function with bits in the cleared value and bits in the register as inputs to the OR function.
- 11. The method of claim 6, wherein the error is a recoverable error.
- 12. The method of claim 6, wherein the selected register is located in an input/output bridge.
- 13. The method of claim 6 further comprising:
responsive to an absence of an error being detected in a bridge within the input/output sub-system, scanning error registers in a level below the bridge within the input/output sub-system; responsive to a presence of an error being found by scanning the error registers in a level below the bridge, determining whether the error has previously occurred; and responsive to an absence of a determination that the error has previously occurred, reporting the error.
- 14. The method of claim 13 further comprising:
responsive to an absence of a determination that the error has previously occurred, storing information about the error.
- 15. The method of claim 13 further comprising:
responsive to a determination that the error has previously occurred, identifying the error as a secondary error.
- 16. A method in a data processing system for processing errors in an input/output sub-system, the method comprising:
responsive to detecting an error, reading a value from a selected register; resetting the selected register; sending the value to an error analysis routine in which the error analysis routine identifies each bit associated with the error; clearing each bit identified by the error analysis routine as being associated with the error to form a cleared value; and writing the cleared value into the selected register using an OR operation such that errors occurring since the register was cleared are preserved.
- 17. The method of claim 16, wherein the selected register is located in an input/output bridge.
- 18. A data processing system for processing errors in a hierarchical input/output sub-system having an input/output bridge with a plurality of hardware devices in a level below the bridge, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to check a register in the bridge in response to an error indication; scan error registers in devices in a level below the bridge in response to detecting an absence of the error in a register in the bridge; identify the error as an input/output error in response to a presence of an error being found by scanning the registers below the bridge; and identify the error as a memory error in response to an absence of an error being found by scanning the registers below the bridge.
- 19. A data processing system for processing errors in an input/output sub-system, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to read a value from a selected register to form a read value in response to detecting an error; reset the selected register; clear each bit in the read value associated with the error to form a cleared value; and write the cleared value into the selected register such that errors occurring since the register was cleared are preserved.
- 20. A data processing system for processing errors in an input/output sub-system, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to read a value from a selected register in response to detecting an error; reset the selected register; send the value to an error analysis routine in which the error analysis routine identifies each bit associated with the error; clear each bit identified by the error analysis routine as being associated with the error to form a cleared value; and write the cleared value into the selected register using an OR operation such that errors occurring since the register was cleared are preserved.
- 21. A data processing system for processing errors in a hierarchical input/output sub-system having an input/output bridge with a plurality of hardware devices in a level below the bridge, the data processing system comprising:
checking means for checking a register in the bridge in response to an error indication; scanning means, responsive to detecting an absence of an error in the register in the bridge, for scanning error registers in devices in a level below the bridge; first identifying means, responsive to a presence of an error being found by scanning the registers below the bridge, for identifying the error as an input/output error; and second identifying means, responsive to an absence of an error being found by scanning the registers below the bridge, for identifying the error as a memory error.
- 22. The data processing system of claim 21 further comprising:
first indicating means, responsive to a presence of an error being found by scanning the registers below the bridge in which the error has conditions identical to a last primary error, for indicating that the error may be a secondary error; and second indicating means, responsive to an absence of an error being found by scanning the registers below the bridge in which the error has conditions identical to the last primary error, for indicating that the error is a primary error.
- 23. The data processing system of claim 21, wherein the bridge is an input/output bridge.
- 24. The data processing system of claim 21 further comprising:
storing means, responsive to a presence of an error being found by scanning the registers below the bridge in which the error has conditions different from the last primary error, for storing the conditions.
- 25. The data processing system of claim 21 further comprising:
comparing means, responsive to a presence of an error being found by scanning the registers below the bridge, for comparing the conditions in the error found by scanning the registers below with conditions for the last primary error.
- 26. A data processing system for processing errors in an input/output sub-system, the data processing system comprising:
reading means, responsive to detecting an error, for reading a value from a selected register to form a read value; resetting means for resetting the selected register; clearing means for clearing each bit in the read value associated with the error to form a cleared value; and writing means for writing the cleared value into the selected register such that errors occurring since the register was cleared are preserved.
- 27. The data processing system of claim 26 further comprising:
identifying means for identifying the each bit within the read value associated using an error analysis routine.
- 28. The data processing system of claim 26, wherein the selected register is a recoverable error register.
- 29. The data processing system of claim 26, wherein the clearing means generates a mask using each bit in the read value associated with the error and clears each bit in the read value associated with the error using the mask.
- 30. The data processing system of claim 26, wherein the writing means are performed by using an OR function with bits in the cleared value and bits in the register as inputs to the OR function.
- 31. The data processing system of claim 26, wherein the error is a recoverable error.
- 32. The data processing system of claim 26, wherein the selected register is located in an input/output bridge.
- 33. A data processing system for processing errors in an input/output sub-system, the data processing system comprising:
reading means, responsive to detecting an error, for reading a value from a selected register; resetting means for resetting the selected register; sending means for sending the value to an error analysis routine in which the error analysis routine identifies each bit associated with the error; clearing means for clearing each bit identified by the error analysis routine as being associated with the error to form a cleared value; and writing means for writing the cleared value into the selected register using an OR operation such that errors occurring since the register was cleared are preserved.
- 34. The data processing system of claim 33, wherein the selected register is located in an input/output bridge.
- 35. A computer program product in a computer readable medium for processing errors in a hierarchical input/output sub-system having an input/output bridge with a plurality of hardware devices in a level below the bridge, the computer program product comprising:
first instructions for checking a register in the bridge in response to an error indication; second instructions, responsive to detecting an absence of an error in the register in the bridge, for scanning error registers in devices in a level below the bridge; third instructions, responsive to a presence of an error being found by scanning the registers below the bridge, for identifying the error as an input/output error; and fourth instructions, responsive to an absence of an error being found by scanning the registers below the bridge, for identifying the error as a memory error.
- 36. A computer program product in a computer readable medium for processing errors in an input/output sub-system, the computer program product comprising:
first instructions, responsive to detecting an error, for reading a value from a selected register to form a read value; second instructions for resetting the selected register; third instructions for clearing each bit in the read value associated with the error to form a cleared value; and fourth instructions for writing the cleared value into the selected register such that errors occurring since the registered was cleared are preserved.
- 37. A computer program product in a computer readable medium for processing errors in an input/output sub-system, the computer program product comprising:
first instructions, responsive to detecting an error, for reading a value from a selected register; second instructions for resetting the selected register; third instructions for sending the value to an error analysis routine in which the error analysis routine identifies each bit associated with the error; fourth instructions for clearing each bit identified by the error analysis routine as being associated with the error to form a cleared value; and fifth instructions for writing the cleared value into the selected register using an OR operation such that errors occurring since the register was cleared are preserved.
CROSS REFERENCE TO RELATED APPLICATION
[0001] The present invention is related to the following application entitled: “Method and Apparatus for Enhancing Input/Output Error Analysis in Hardware Sub-Systems”, Ser. No. ______, attorney docket no. AUS920011057US1, filed even date hereof, assigned to the same assignee, and incorporated herein by reference.