[coreboot] v3 CAR/ROM area collision on C7 and Core2Duo

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Nov 28 15:43:15 CET 2008

On 28.11.2008 07:43, ron minnich wrote:
> On Tue, Nov 25, 2008 at 7:33 PM, Carl-Daniel Hailfinger
> <c-d.hailfinger.devel.2006 at gmx.net> wrote:
>> 0xFEC00000 with size 0x8000 (32k) works as confirmed by you in IRC.
>> I'll prepare a patch for v2 and v3 to move the VIA CAR location to
>> 0xFEC00000.
> I am somewhat concerned about this idea. FExxxxxx seems to be the
> "vendor play area" for putting hardware in, FEC even more so.

Yes, it seems that way.

> Can we back out to our original motivation for doing this? I think I
> understand it but can we go through it one more time?


> As I understand it the idea of moving this around it so limit
> restrictions on where initram can be in FLASH -- I'm not sure it would
> not make more sense to just tell people "initram must be in high 1 MB"
> and leave it at that.

Sure, that would work as well. However, my goal is to make sure that CAR
contents will never be written to flash address space. That may sound
strange, but if you recall the ICH network ROM disaster (not related to
coreboot in any way), it suddenly becomes obvious that protecting flash
from accidental writes is indeed a priority.
Due to the way SPI flash is addressed out-of-band, I'm not particularly
worried about it, but I'd prefer to keep CAR outside the decode area for
any FWH/LPC/parallel flash chip. Many chipsets map the ROMs in 4 MByte
chunks to the address space, so any write outside the top 4 MB should in
theory go to a flash chip which is not the boot flash chip. On regular
boards with only one flash chip, this means writes outside the top 4MB
will get discarded.

> Generality is nice, but taken to extremes it can make life more
> complex. See Moon's old essay from long ago (I posted it to the list)
> on that topic.
> What are we gaining? Do we really need it?

See above. I have become paranoid about v3 behaviour. We still have too
many nasty bugs in there and it looks like some of them are coming to
bite us or are already doing so. The recent problems where simple
changes seemed to kill booting on Core2Duo demonstrate the fragility of
our code.

Short version: CAR outside top 4 MB would be nice, but it should be at
least outside top 1 MB.
And we need to figure out the problems Intel has.



More information about the coreboot mailing list