Ronald G Minnich <[EMAIL PROTECTED]> writes:

> I notice that the fixed MTRR for region 0xd0000 is defined as ROM. The
> type is WRPROT, value 5. Does this mean cacheable? Still worse, if it is
> write protected, why did  DoC code even work ... After all, 0xd0000 should
> not be writeable! I put a scope on the we# pin on the DoC and it is
> clearly being written, once for each command to DoC. I don't think the
> MTRR is disabling writes ...

value 5 write-protected is a very badly named MTRR setting.  It means
that reads are cached, but writes invalidate the cache line.  Which
sounds like it could easily explain what you are seeing.
 
> Shouldn't all the MTRRs above 0xa0000 be UNCACHABLE up to 0xf0000, which
> is ROM? The debug prints from linuxbios indicate that fixed MTRR is
> enabled.

It isn't clearly specified how MTRRs should be setup so the BIOS vendors
are on their own.  The only semi-clear spec says the BIOS should be
copied into RAM, and cached that way.
 
> This is very strange.

MTRR settings are fun :)

Eric

Reply via email to