[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