[LinuxBIOS] [PATCH v3] v2, v3: Bug? in CAR setup with CacheSize!={4k, 8k, 16k}

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Nov 29 00:00:49 CET 2007


On 28.11.2007 23:52, Marc Jones wrote:
>
>
> Carl-Daniel Hailfinger wrote:
>> Marc?
>> This has been sitting in my tree for a while now.
>>
>> On 16.11.2007 16:00, Carl-Daniel Hailfinger wrote:
>>> Hi,
>>>
>>> v2 and v3 have almost identical CAR setup code with identical bugs for
>>> CAR sizes != {4k,8k,16k}. In v3, the erroneous code paths are not
>>> triggered and the bug is latent, but we have at a few boards in v2
>>> which
>>> trigger these bugs, resulting in holes and/or smaller size of the
>>> CAR area.
>
>
> Sorry, I have been very busy and I have been putting this off.
>
> I think you are correct that CAR expects power of 2 cache sizes. How
> about just error if the size isn't power of 2 between 4K and 64K? If
> you wanted to support non power of 2 you should round up otherwise you
> might write off the end.

OK, will prepare an updated patch.

What about the bugs which cause 32k CAR to end up as 16k and 64k CAR to
have a hole between 16k and 32k?

> Note that Geode platforms don't use the same car file as K8 and has a
> max cache size of 32K. See arch\x86\geodelx\stage0.S

Yes, indeed. Will take a look at that code soon.


Regards,
Carl-Daniel




More information about the coreboot mailing list