Skip to content

Commit

Permalink
[IA64] MCA recovery based on PSP bits
Browse files Browse the repository at this point in the history
The determination of whether an MCA is recoverable or not must
be based on the bits set in the PSP (Processor State Parameter).
The specific bits are shown in the Intel IA-64 Architecture Software
Developer's Manual, Vol 2, Table 11-6 Software Recovery Bits in
Processor State Parameter.  Those bits should be consistent
across the entire IA-64 family of processors.

Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
  • Loading branch information
Russ Anderson authored and Tony Luck committed Nov 8, 2005
1 parent f093182 commit a14f25a
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions arch/ia64/kernel/mca_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -546,9 +546,20 @@ recover_from_processor_error(int platform, slidx_table_t *slidx,
(pal_processor_state_info_t*)peidx_psp(peidx);

/*
* We cannot recover errors with other than bus_check.
* Processor recovery status must key off of the PAL recovery
* status in the Processor State Parameter.
*/
if (psp->cc || psp->rc || psp->uc)

/*
* The machine check is corrected.
*/
if (psp->cm == 1)
return 1;

/*
* The error was not contained. Software must be reset.
*/
if (psp->us || psp->ci == 0)
return 0;

/*
Expand All @@ -569,8 +580,6 @@ recover_from_processor_error(int platform, slidx_table_t *slidx,
return 0;
if (pbci->eb && pbci->bsi > 0)
return 0;
if (psp->ci == 0)
return 0;

/*
* This is a local MCA and estimated as recoverble external bus error.
Expand Down

0 comments on commit a14f25a

Please sign in to comment.