[SeaBIOS] [Seabios] [PATCH 0/6] 64bit PCI BARs allocations (take 2)

Kevin O'Connor kevin at koconnor.net
Mon Mar 5 14:49:10 CET 2012


On Mon, Mar 05, 2012 at 10:53:25AM +0100, Gerd Hoffmann wrote:
> > Given the churn in this area, I don't want to commit patches that do
> > wholesale code replacement.  I'd prefer to see each patch
> > independently add some functionality and perform its related cleanup.
> 
> Hardly doable, the algorithms are very different.

I don't think that the algorithms are that different, and I don't
think sending incremental patches is too difficult.

Looking at Alexey's patches, it seems that "struct pci_region_entry"
== "struct pci_device.bars" and "struct pci_region" == "struct
pci_bus.r".  The pci_region_entry structs are dynamically allocated
and put on lists, and the count/base arrays are replaced with list
traversals.  The core multi-pass algorithm which finds the devices,
extracts the bar info, determines the required bus sizing, and then
assigns the bars does not appear to be fundamentally different.  I
don't see why the data structures can't be converted in a series of
incremental patches.  The only significant algo change (replacement of
count/base arrays with list traversal) should be a relatively simple
reviewable patch once the data structures have been modified.

> Both approaches will work fine in the end.  I don't care much, I just
> want something that works.  It's probably a bit risky to merge Alexey's
> version before the planned mid-march release.

FYI - the plan is to feature freeze in mid-march.

-Kevin



More information about the SeaBIOS mailing list