[SeaBIOS] [PATCH] Don't overallocate mptable

Gleb Natapov gleb at redhat.com
Sun Dec 27 16:38:55 CET 2009


On Sun, Dec 27, 2009 at 10:36:54AM -0500, Kevin O'Connor wrote:
> On Sun, Dec 27, 2009 at 01:43:14PM +0200, Gleb Natapov wrote:
> > On Thu, Dec 24, 2009 at 02:41:48PM -0500, Kevin O'Connor wrote:
> > > That said, I don't see any reason why they couldn't be listed.
> > > However, the code right now would produce incorrect results for bus >
> > > 0.
> > > 
> > Unfortunately yes. We need to have one more loop to find all PCI buses
> > and create bus entry for each. May be something like patch below?
> 
> Okay.  It would help if you can base the patch on top of my memory
> allocation mptable patch.
> 
No problem. I'll rebase when you'll apply it.

> > +    unsigned long busmask = 0;
> > +    int bdf, max;
> > +    foreachpci(bdf, max) {
> > +    	int curbus = pci_bdf_to_bus(bdf);
> > +	if (busmask & (1 << curbus))
> > +		continue;
> > +	busmask |= (1 << curbus);
> 
> foreachpci will iterate in bus order - it's better to use a "lastbus"
> variable than busmask as it's possible to have a PCI bus greater than
> 32.
> 
OK.

--
			Gleb.



More information about the SeaBIOS mailing list