Cc: Ivan Kokshaysky <ink@...>, Gary Hade <garyhade@...>, Ingo Molnar <mingo@...>, Thomas Meyer <thomas@...>, Stefan Richter <stefanr@...>, Thomas Gleixner <tglx@...>, Rafael J. Wysocki <rjw@...>, LKML <linux-kernel@...>, Adrian Bunk <bunk@...>, Andrew Morton <akpm@...>, Natalie Protasevich <protasnb@...>, <pm@...>
On Thu, 27 Mar 2008, Benjamin Herrenschmidt wrote:
x86 has memory there, always has had, probably always will.
Also, the reason I *think* this issue is ok is that I think the only PCI
bus resources we can see in the whole pdev_sort_resources() mess is the
ones that are behind the bus that we're not sizing for, and they've been
set up by pbus_size_mem().
And pbus_size_mem() has this special magic setup where it calculates the
size and the alignment of the bus resource, and then makes
r->start = alignment;
r->end = r->start + size - 1;
so using "r->start" *should* be ok in this case because it really means
"alignment" in this one case.
That said, I'm not going to be willing to bet my life on it.
I also wonder if we maybe should just add a separate "alignment" field to
the resources. Rather than playing games like these (and having to compare
the resource number to decide whether it is a bus resource or a normal PCI
device resource), just adding the dang field would be a whole lot saner.
I dunno. I'm not going to do anything in this area before 2.6.25 is out
because this *does* make me a bit nervous, but if somebody wants to think
about this and perhaps write patches for testing, that would be good.
And once more: Ivan, can you again double-check my blatherings above?
Linus
--