Am Donnerstag, den 24.09.2009, 18:37 +0200 schrieb Peter Stuge:
rminnich wrote:
I think few people understand the format of the cmos file, and fewer still know how to change it to eliminate all the un-needed settings.
Personally I would just copy an existing file into a new port because I have no particular requirements for the new port. I think that's common and would like to optimize for it, by having defaults, and allowing them to be extended.
Which tools are currently using the files? nvramtool, and.. ?
Another thing to consider when/if this is being worked on, is that there should be defaults defined in that file somehow. That way, we can build a table with sensible values to choose if the cmos values are obviously incorrect (eg. invalid encodings, broken checksum, etc).
This would get rid of a couple of #if HAVE_OPTION_TABLE baud = get_cmos(blabla) #else baud = 115200 #endif -style statements in the code, while making it more robust at the same time - and without the need for fallback/normal for this purpose (normal is usually compiled with option table, fallback without - so that a broken cmos configuration leads to an eventual reset into fallback, with "stable" values).
With some smart macro management, this could lead to non-HAVE_OPTION_TABLE builds using those defaults because they're converted to an .h file that includes a get_cmos() macro doing the right thing.
Anyway, I'm happy with every small improvement, too :-)
Patrick