| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | /* *	linux/arch/alpha/kernel/err_titan.c * *	Copyright (C) 2000 Jeff Wiedemeier (Compaq Computer Corporation) * *	Error handling code supporting TITAN systems */#include <linux/init.h>#include <linux/pci.h>#include <linux/sched.h>#include <asm/io.h>#include <asm/core_titan.h>#include <asm/hwrpb.h>#include <asm/smp.h>#include <asm/err_common.h>#include <asm/err_ev6.h>#include <asm/irq_regs.h>#include "err_impl.h"#include "proto.h"static inttitan_parse_c_misc(u64 c_misc, int print){#ifdef CONFIG_VERBOSE_MCHECK	char *src;	int nxs = 0;#endif	int status = MCHK_DISPOSITION_REPORT;#define TITAN__CCHIP_MISC__NXM		(1UL << 28)#define TITAN__CCHIP_MISC__NXS__S	(29)#define TITAN__CCHIP_MISC__NXS__M	(0x7)	if (!(c_misc & TITAN__CCHIP_MISC__NXM))		return MCHK_DISPOSITION_UNKNOWN_ERROR;#ifdef CONFIG_VERBOSE_MCHECK	if (!print)		return status;	nxs = EXTRACT(c_misc, TITAN__CCHIP_MISC__NXS);	switch(nxs) {	case 0:	/* CPU 0 */	case 1:	/* CPU 1 */	case 2:	/* CPU 2 */	case 3:	/* CPU 3 */		src = "CPU";		/* num is already the CPU number */
 |