static and dynamic devices (again)

Greg Watson gwatson at lanl.gov
Wed Jul 23 12:17:01 CEST 2003


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 ?
>
>	1. Device tree with static node is build at compile time.
>	   (with some nodes marked "dynamic extensible").
>	2. 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



More information about the coreboot mailing list