
Hi Roy,
On Fri, 2007-04-20 at 23:49, Wolfgang Denk wrote:
In message m2irbr3wou.fsf@sowhat.denx.de you wrote:
[snip]
while doing this noticed that the whole fixup only works because we have a maximum of one fixup entry (./drivers/tsi108_pci.c, I cannot find any user of addr_probe anywhere).
Tsi108/9 pci config read will introduce a exception. I do not see other exception after code relocation.
Otherwise the sorting of the
table is missing and thus the searching with a bisecting algorithm will not work as is.
Why?
As I said, the search algorithm only works with a sorted table - just what "sort_main_extable" does in Linux. To be honest I did not look too hard but I couldn't find anything similar in U-Boot so the table will be unsorted and thus very likely fail if more entries are added.
So either sorting the table at some point or instead doing a linear search would fix the problems.
Cheers Detlev