Mark,

Understood. The thing I don't like about Ron's solution is that is relies on an option effectively having two values simultaneously - a default value and a set value. Being able to modify both these values independently, then relying on a side effect to determine the actual value seems a recipe for future problems and confusion. My original intention was the that default value would just be the initial value of the option, nothing more than that.

What Ron and you have highlighted is that there is a need for part-specific default values for options (maybe more than just the mainboard.) My suggestion is that these default values be dealt with by either explicitly setting the option value (using the ~ operator) or through some other explicit mechanism.

One possibility would be to add a Default.lb file in the part directory (containing lines like 'ROM_SIZE=65536') then in the target config file saying:

loadoptions
loaddefaults mainboard/via/epia
loaddefaults cpu/i386

The important thing is that these are loaded in the target config file, before any option values are set.

Greg

At 4:44 PM +0100 1/10/03, Mark Wilkinson wrote:
Hi Greg,

On Wednesday 01 Oct 2003 16:25, Greg Watson wrote:
 If my understanding is correct, you want to have an option value that
 has a mainboard specific default value, but that can be overridden in
 the target configuration file?

Not quite, Ron (I assume it was Ron) already added a line like
default ROM_SIZE 256*1024
to the src/mainboard/via/epia/Config.lb file (there are similar lines for solo and one other I think) in the CVS snapshot (20031001-1400)


What my patch does is make that line work so that the buildtarget command will
work out of the box (or cvs snapshot) in the targets diretory for
./buildtarget via/epia

The solo and other  one (hdama) both have 'option ROM_SIZE ....' lines in
their  target Config.lb files

I think what was trying to be achived is that the mainboard config file has a
default rom size for the flash part supplied with that mainboard, and if you
want to override it (say you have a larger flash part) you can in the target
config file.



If this is the case, then my preference would be to do something like the following in the mainboard file:

> if ~ ROM_IMAGE_SIZE
        option ROM_IMAGE_SIZE = 65536
 end

where the '~' operator means "hasn't been set".

 It seems to me this would be clearer than changing a default value,
 possibly after the value has already been set.

Greg

 At 3:44 PM +0100 1/10/03, Mark Wilkinson wrote:
 >Hi Ron,
 >   I started looking at building the Via/Epia with the v2, and
 >noticed that your
 >last snapshot said that the mainboard Config.lb should set the ROM_SIZE to
 >265K.
 >
 >Here's a little patch that lets the config python use
 >'default OPTION value' tag in the Mainboard Config.lb overriding the value
 > set in config/Optins.lb (which has ROM_SIZE set to NONE)
 >
 >or should the command be 'default OPTION=<value>' in which case, alter the
 >line for 'rule default<<C>>: ...' to read
 >     rule default<<C>>:  DEFAULT ID EQ value   {{ if(C):
 > mbdefault(ID,value) }}
 >
 >Regards
 >Mark Wilkinson.
 >
 >PS. Hope to burn a V2 epia bios tomorrow morning and test !!
 >Attachment converted: Macintosh HD:config.patch (TEXT/ttxt) (002EE9D4)

_______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to