Set bit 2: BIOSCS# Write Protect Enable (1=enable,
0=disable). */
The bit is misnamed in the datasheet: it's the "write enable" bit, not the "write protect enable" (which would be "write disable").
nitpicking award 2006 ;-)
Not really -- I thought I spotted a code error but then went to look at the datasheet and _it_ is wrong. What else is new :-)
printf("tried to set 0x%x to 0x%x on %s failed (WARNING
ONLY) \n", xbcs, new, name);
Warning only? It's pretty damn fatal :-) Or does this mean "trying to continue anyway" (which might not be such a great plan for a utility that can brick your system)?
it actually is. For the Via Epia you have to continue, because this test basically fails every second time. But flashing works like a charme.
It's not that bad either, because if it really fails, you fail to write to flash. In which case you dont brick your system.
Well you might be able to write to _half_ the flash...
Would be nice if this message could be made a bit less cryptic, for example, "WARNING: failed setting %s register %#x to %#x\n". Yes I realise this is probably copied all over the place ;-)
Good idea. Or should we just drop this message all together? Or make it printf_debug? If its an error, writing will fail later on anyways.
Nah, report problems as soon as you detect them (unless you're actually coding a workaround for a chip bug).
Segher