enable ECC in OS code?

Dag-Erling Smørgrav des at des.no
Thu Aug 27 12:28:33 UTC 2009


Joerg Sonnenberger <joerg at britannica.bec.de> writes:
> Erich Dollansky <erich at apsara.com.sg> 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.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-hackers mailing list