Claims
- 1. A method for controlling transaction draining for error recovery, said method comprising:
asserting a control signal to prevent system resources associated with a particular error from issuing new requests; dropping transactions tracked by an out-of-order queue; and issuing transactions not tracked by said out-of-order queue.
- 2. The method of claim 1, further comprising:
allowing an in-order queue to drain all transactions stored therein during assertion of said control signal.
- 3. The method of claim 2, wherein said dropping transactions and said issuing transactions are performed after said in-order queue has drained all said transactions stored therein.
- 4. The method of claim 3, wherein said dropping transactions and said issuing said transactions are performed by at least one of a processor output address block and a processor output data block.
- 5. The method of claim 1, further comprising:
dropping transactions stored in said out-of-order queue.
- 6. The method of claim 1, further comprising:
ignoring errors generated in association with said transactions.
- 7. The method of claim 1, further comprising:
implementing at least one stall state prior to said asserting said control signal.
- 8. The method of claim 7, wherein said implementing said at least one stall state controls said asserting said control signal in correspondence with a system protocol.
- 9. The method of claim 7, wherein said implementing said at least one stall state facilitates a bus reaching a quiescent state.
- 10. The method of claim 1, wherein said particular error comprises a bus initialization error.
- 11. The method of claim 1, wherein said system resources comprise processors disposed upon a same bus.
- 12. A method for controlling transaction draining in a multi-processor system, said method comprising:
preventing particular system resources from issuing new requests; allowing an in-order queue to drain transactions stored therein according to a system protocol; dropping transactions stored in an out-of-order queue; and after said in-order queue has drained said transactions stored therein and said out-of-order queue has dropped said transactions stored therein, allowing said system resources to issue new requests.
- 13. The method of claim 12, wherein said preventing system resources from issue new requests comprises:
asserting a bus priority signal.
- 14. The method of claim 13, further comprising:
invoking a predetermined number of stall states prior to asserting said bus priority signal.
- 15. The method of claim 13, wherein said particular system resources comprise system resources coupled to a particular bus.
- 16. The method of claim 12, wherein said allowing said in-order queue to drain is in response to detecting a bus initialization error.
- 17. The method of claim 12, further comprising:
issuing responses associated with transactions not stored in said out-of-order queue.
- 18. The method of claim 12, further comprising:
ignoring errors generated in association with said transactions.
- 19. A system for controlling transaction draining for error recovery, said system comprising:
a first state machine having at least a first error mode state and a second error mode state, wherein said first state machine is operable to enter said first error mode state whenever a particular error is asserted, and wherein said first state machine is operable to enter said second error mode state after said error is asserted, said second error mode state asserting a control signal to hold system resources off of a particular bus while said state machine is in said second error mode state.
- 20. The system of claim 19, wherein said first state machine includes at least one stall state, said first state machine moving through said at least one stall state when sequencing between said first error mode state and said second error mode state.
- 21. The system of claim 20, wherein said at least one stall state facilitates operation of said first state machine asserting said control signal in accordance with a system protocol.
- 22. The system of claim 19, wherein said first error mode state corresponds to allowing an in-order queue to begin draining.
- 23. The system of claim 19, wherein said first state machine remains in said second error mode state at least until an in-order queue has been drained and all transactions in an out-of-order queue have been dropped.
- 24. The system of claim 23, further comprising:
a second state machine having an in-order queue draining state and a tracked transaction dropping state.
- 25. The system of claim 24, wherein said second state machine includes a issue non-tracked transaction state.
- 26. A computer program product having a computer readable medium having computer program logic recorded thereon for controlling transaction draining for error recovery, said computer program product comprising:
code for asserting a control signal to prevent system resources associated with a particular error from issuing new requests; code for dropping transactions tracked by an out-of-order queue; and code for issuing transactions not tracked by said out-of-order queue.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to concurrently filed, co-pending and commonly assigned United States patent applications serial number [200300033-1] entitled “System and Method for Determining Transaction Time-Out,” serial number [200300012-1] entitled “System and Method for In-Order Queue Draining,” and serial number [200300036-1] entitled “System and Method For Error Capture and Logging in Computer Systems,” the disclosures of which are hereby incorporated herein by reference.