Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2001 09:00:44 -0600 (CST)
From:      Chris Dillon <cdillon@wolves.k12.mo.us>
To:        David Kelly <dkelly@hiwaay.net>
Cc:        FreeBSD Chat List <freebsd-chat@FreeBSD.org>
Subject:   Re: ECC worth the extra cost for SOHO server? 
Message-ID:  <Pine.BSF.4.21.0101100849020.32238-100000@mail.wolves.k12.mo.us>
In-Reply-To: <200101100226.f0A2QNR65771@grumpy.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 9 Jan 2001, David Kelly wrote:

> Another way to test is if you knew how to enable the ECC feature
> on the chipset, enable it after FreeBSD is up and running with
> non-ECC or parity memory. A kernel switch maybe? Then disable it
> in the test ECC handler after a certain number of instances. Nope,
> that won't work because it will double fault for failing to repair
> an 8 bit fault when its only able to repair a 1 bit fault.

Yes, this might be possible.  I found the datasheet on Intel's
developer site for the 82443BX, and it mentions which chipset
registers you need to poke at to enable and disable certain functions.  
Now, if it were as easy as identifying a new NMI "type" in
intr_machdep.c:isa_nmi(), as I thought it might have been, it would
have been a simple cut-n-paste job (about as much as I've ever done),
but poking at the chipset registers is something I've never done
before, and wouldn't even know where to start. :-)

Incidentally, I did find out that when the chipset detects an
uncorrectable ECC error (it corrects correctable errors in hardware,
i.e. does "hardware scrubbing", so the OS need not take any action
with correctable errors), it asserts SERR#, a hardware line.  How the
OS would know when this was asserted, or wether as a result of this an
NMI is triggered, I don't know.

> Otherwise it would take a little hardware grafted onto a DIMM.
> Thinking of a flip flop that might collide with a data bit for one
> cycle only. And a switch for causing this single event on demand.
> Get really fancy and one could put an address decoder on the board
> to fault on one address only. A task for an FPGA guy.

I suppose I could always just waft a stainless-steel brush across some
of the pins on the DIMM. ;->


-- Chris Dillon - cdillon@wolves.k12.mo.us - cdillon@inter-linc.net
   FreeBSD: The fastest and most stable server OS on the planet.
   For IA32 and Alpha architectures. IA64, PPC, and ARM under development.
   http://www.freebsd.org




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101100849020.32238-100000>