config language

ron minnich rminnich at lanl.gov
Mon May 19 22:09:01 CEST 2003


Eric has pointed out to me that we need a tree to properly describe the 
new complex systems such as K8. The current config language is not 
sufficient to do the job.

I've been thinking about mods to the language that preserve the current 
simplicity for the vast majority of motherboards out there, while at the 
same time allowing a complex hierarchy to be described. I think I have an 
idea. 


Currently we say things like this:

southbridge vendor/model  ...

superio vendor/model ...

This syntax is actually sufficient for something like 95% of the 
motherboards we need to support. But what if we have

southbridge vendor/model ...
southbridge vendor/model ...

superio vendor/model ...

which southbridge is the superio on? 

Here is my proposed change

southbridge vendor/model[=<tag>] [parent=<tag>] ...
 
superio vendor/model[=<tag>] [parent=<tag>] ...

(note this syntax applies to all the types of parts)

Consider the simple case. The one southbridge is given a default tag of 
southbridge, with the default parent of northbridge. The superio is given 
the default tag of superio, with the default parent of southbridge. It all 
works.

Consider the hard case. 

southbridge intel/xyz=sb1 ...
southbridge intel/xyz=sb2 ...

superio NSC/abs parent=sb1 ...

If there is more than one northbridge, then we can set the parent tag for 
the southbridge. 

This syntax allows arbitrary trees to be described; it is as simple in the 
base case as the current one; and it should be fairly straightforward to 
implement. Computing the path to a given part is then easy.

Some flexibility in the tags should be possible. The tag could allude to
an actual tag, or a part type (southbridge), or a part vendor/manufacturer
pair (intel/xyz). As long as the tag specifies something unique, it should
be acceptable.

Another way to do it is this:

southbridge [tag=<tag>] [parent=<tag>]

any preference for syntax?

Comments?

ron




More information about the coreboot mailing list