svn commit: r205214 - in head/sys: amd64/amd64 amd64/include i386/i386 i386/include

John Baldwin jhb at freebsd.org
Tue Mar 16 16:08:59 UTC 2010


On Tuesday 16 March 2010 12:01:19 pm John Baldwin wrote:
> Author: jhb
> Date: Tue Mar 16 16:01:19 2010
> New Revision: 205214
> URL: http://svn.freebsd.org/changeset/base/205214
> 
> Log:
>   - Extend the machine check record structure to include several fields useful
>     for parsing model-specific and other fields in machine check events
>     including the global machine check capabilities and status registers,
>     CPU identification, and the FreeBSD CPU ID.
>   - Report these added fields in the console log of a machine check so that
>     a record structure can be reconstituted from the console messages.

These changes were inspired by adding FreeBSD support to mcelog (a tool to
monitor machine checks used on Linux).   There is a partial port of mcelog
available at //depot/projects/mcelog/... in p4.  It supports reading records
from a running machine via the hw.mca sysctls as well as parsing the console
log messages via the --ascii flag.

>   - Parse new architectural errors including memory controller errors.

Newer CPUs (e.g. i7) report correctable ECC errors as memory controller errors
rather than memory hierarchy errors.

I'm also currently testing some other patches to add support for CMCI which is
a local APIC interrupt that can be enabled to fire when a correctable machine
check occurs.  The existing machine check exceptions only fire for
uncorrectable events, so correctable events have to be discovered via polling.

-- 
John Baldwin


More information about the svn-src-head mailing list