To verify the result of MCE testing, the MCE record from kernel (via
/dev/mcelog or panic information) should be compared with reference
MCE record (for software inject error: the input MCE record). To
compare MCE record, the following scheme is proposed:

- Define a standard MCE record representation format. It should be
  human readable, compatible with MCE parser in mce-inject, easy to
  manipulate in shell (such as remove a field), easy to compare
  (literally).

  One MCE record is as follow:

  CPU NUMBER
  BANK NUMBER
  TSC NUMBER
  RIP NUMBER
  ADDR NUMBER
  MISC NUMBER
  STATUS NUMBER
  MCGSTATUS NUMBER

  Multiple MCE records are separated by one empty line.

- Enhance mce-inject or develop a new tool to convert from other
  format to standard format.

- Develop a new tool based on /usr/sbin/mcelog to output mce-inject
  compatible MCE record. Because there may be different (uncompatible
  version) /usr/sbin/mcelog on different machine.

- During verifying, firstly convert various MCE recoards from kernel
  and reference MCE records to standard format, then compare the
  standard format MCE records in shell.
