[coreboot] [PATCH] v3: fix PCI bus scan / device tree interaction

ron minnich rminnich at gmail.com
Fri Aug 29 21:20:06 CEST 2008


so let's do this. Use the new v2 device tree visualizer on serengeti
and see how it looks.

The evolution of v2 device tree turned into a mess when the acpi and
domain stuff came in. i did the best I could with moving the code over
and trying to untangle it but obviously I did not do enough. At the
same time, I was trying very hard not to break v2 behaviour, since v2
behaviour is "tricky", but tricky for very good reasons -- it is
working with lots of weird hardware.

"There is only one link on this device, and it is always link 0."--
that comment may have been introduced by me as I tried to puzzle
through the v2 device tree code. I am not sure. It is not there in v2.

Given the fragility of the device tree code I'd say be very careful
about big changes. Lots of people have broken the device tree code in
the past with trivial changes. Stefan was right, my ACK was probably a
mistake.

This fragility is a reflection of how difficult device enumeration on
PCs is. There are lots of bugs and corner cases to cover in the
hardware, and it makes it hard to get it just right. Further, as
mentioned, the evolution of hardware had major impact on the code over
the last 8 years.

I will review this discussion and try to understand the implications again.

I would suggest our first step is a v3 tree visualizer like the one in
v2. This can be done with a mod to dtc. I think better understanding
should precede any further device code patches. It is clear from this
discussion that we need to know more, and that even core developers
don't always know all the complications.

ron




More information about the coreboot mailing list