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@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?
Sure.
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.
Regards, Carl-Daniel