#ifndef _MCHK_FRAME_H_
#define _MCHK_FRAME_H_

/*
 * Frame for each cpu
 */

struct mc780frame {
  int mc8_bcnt;			/* byte count == 0x28 */
  int mc8_summary;		/* summary parameter (as above) */
  int mc8_cpues;		/* cpu error status */
  int mc8_upc;			/* micro pc */
  int mc8_vaviba;		/* va/viba register */
  int mc8_dreg;			/* d register */
  int mc8_tber0;		/* tbuf error reg 0 */
  int mc8_tber1;		/* tbuf error reg 1 */
  int mc8_timo;			/* timeout address divided by 4 */
  int mc8_parity;		/* parity */
  int mc8_sbier;		/* sbi error register */
  int mc8_pc;			/* trapped pc */
  int mc8_psl;			/* trapped psl */
  } ;

struct mc750frame {
  int mc5_bcnt;			/* byte count == 0x28 */
  int mc5_summary;		/* summary parameter (as above) */
  int mc5_va;			/* virtual address register */
  int mc5_errpc;		/* error pc */
  int mc5_mdr;
  int mc5_svmode;		/* saved mode register */
  int mc5_rdtimo;		/* read lock timeout */
  int mc5_tbgpar;		/* tb group parity error register */
  int mc5_cacherr;		/* cache error register */
  int mc5_buserr;		/* bus error register */
  int mc5_mcesr;		/* machine check status register */
  int mc5_pc;			/* trapped pc */
  int mc5_psl;			/* trapped psl */
  } ;

struct mc730frame {
  int mc3_bcnt;			/* byte count == 0xc */
  int mc3_summary;		/* summary parameter */
  int mc3_parm[2];		/* parameter 1 and 2 */
  int mc3_pc;			/* trapped pc */
  int mc3_psl;			/* trapped psl */
  } ;

struct mc630frame {
  int mc63_bcnt;		/* byte count == 0xc */
  int mc63_summary;		/* summary parameter */
  int mc63_mrvaddr;		/* most recent vad */
  int mc63_istate;		/* internal state */
  int mc63_pc;			/* trapped pc */
  int mc63_psl;			/* trapped psl */
  } ;

struct mc8600frame {
  int mc6_bcnt;			/* byte count == 0x58 */
  int mc6_ehmsts;
  int mc6_evmqsav;
  int mc6_ebcs;
  int mc6_edpsr;
  int mc6_cslint;
  int mc6_ibesr;
  int mc6_ebxwd1;
  int mc6_ebxwd2;
  int mc6_ivasav;
  int mc6_vibasav;
  int mc6_esasav;
  int mc6_isasav;
  int mc6_cpc;
  int mc6_mstat1;
  int mc6_mstat2;
  int mc6_mdecc;
  int mc6_merg;
  int mc6_cshctl;
  int mc6_mear;
  int mc6_medr;
  int mc6_accs;
  int mc6_cses;
  int mc6_pc;			/* trapped pc */
  int mc6_psl;			/* trapped psl */
  } ;

#endif
