Dag-Erling Smørgrav wrote:
Joerg Sonnenberger <[email protected]> writes:
Erich Dollansky <[email protected]> writes:
how should it be done at OS level at all when the OS is loaded
into RAM?
Copy the kernel to the video RAM, jump to it, enable ECC, copy back.
Not just the kernel - you have to copy all the memory that is currently
in use, including interrupt tables, the BIOS configuration space, shadow
copies of various ROMs... The CPU will probably not look too kindly on
having interrupt descriptors, segment descriptors, page tables etc. in
memory accessed through the I/O controller instead of the memory
controller.
The machine might not even have video RAM!
On systems that support ECC, I suspect that the BIOS enables it at the
same time as it configures the memory controller, which is one of the
very first things it does - literally within a few dozen (or perhaps a
few hundred) instructions from CPU reset - using only CPU registers, ROM
code, and configuration variables loaded from NVRAM.
The way we did it when we were building Unix Systems in the 80's is that
the output of the EEC checker on the memoryboards was gated to an High
Prio Intr of an Open collectorline to the m68k. And that OC had a gate
that was only enabled once we were sure that the whole memory had been
test written.
Remember that usually the memory in extention systems don't have EEC
either. This holds for I/O registers, video memory, memory on
networkcontrollers etc, unless we build the devices outselves... These
memories also connects to the gate to allow access without triggering an
EEC error.
I have not ever looked into the HW of a current ECC controller but I
expect there is a big chance that EEC parity always gets written. Not
doing so will require extra gates in an already too long path from the
XOR devices to the ECC cells (Thus reducing the writecycle time). ECC
errors will only be flagged if EEC is enabled,but very likely EEC is
always tested and/or written.
So I would expect it to be "relatively simpele" read/write all the
physical memory then enable the ECC intr/trap mechanism.
--WjW
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hardware
To unsubscribe, send any mail to "[email protected]"