At 2:54 PM +0800 23/7/03, ollie lho wrote:
On Wed, 2003-07-23 at 12:08, ron minnich wrote:
We thus have a static tree (representing the static resources) with links at certain places to the dynamic tree (representing dynamic resources). LinuxBIOS can do device-specific operations on devices in the static tree, and can attach dynamic devices to nodes in the static tree. On the whiteboard in Greg's office, this setup makes lots of sense. We'll see how it is in practice.
Does this mean you have a device tree with STATIC nodes and DYNAMIC nodes ? Does your code have to distinguish between static nodes from dynamic ones when traveling the tree ? Is my imaginary of the scenario as the following correct ?
- Device tree with static node is build at compile time. (with some nodes marked "dynamic extensible").
- Travel the tree to init static node, for dynamic extensible nodes, grow the tree.
2.1 Init the dynamic nodes. 3. Travel the tree again to do post-pci (whatever you call it) init for static nodes.
Originally I was going to try using a single node type for both dynamic and static devices, but it turns out that there is very little in common and it seems to make more sense to keep them separate. Your scenario is correct, though I'm thinking that the static tree will be the primary data structure and the dynamic tree will be attached to a node the same way as other device-specific data. So the static tree will not grow, just be populated with data.
Greg