1. A method for automatically detecting and recovering from a fault in a microprocessor-based system, comprising: reporting the fault as an event; processing the event including thresholding the event and co-relating the event to a cause; determining a recovery action as a function of the thresholding, the co-relating, and an elapsed time the system has been running; and performing the recovery action.