Hi all,
Ludwig Jaffe wrote:
Hi all,
i fiddled around with the flashrom util, and I managed to rewrite the original compaq-bios, which I saved before. I modified the flashrom-utily to enable writing the flashrom. The 29F002BT works with 29f002-funktions and *not* with jedec.... The only problem that remains, is that it is not possible to unprotect the 20f002bt (ST). with the flashrom utily. So I can not upgrade the flash! I will go and code some improvement to that.
i worked with Uwe to create the support for the Compaq deskpro EN SFF 600N i have here
i needed 3 hardware mods: - socket for the flash chip (with loads of luck you can skip this but please let me test the current tree before you flash coreboot into your unit) - set SW1 to ON to disable the write protection on the'normal' (non bootblock ) part of the bios (if you dont do this the ASIC will disable ANY writes even probes to the flash iirc -if you have the original chip onboard: short (not installed) jumper P34 that is next to the flashpart (shorting this will temp. unlock the bootblock and allow (un)programming of the lockbits note that you should first protected the whole chip before unproetcting.
i also needed a couple of software hacks that are not yet in the tree: -disable some parts of the southbrigde (KBC ectect) so the superio can handle them -stuff some values to the ASIC so networking works (otherwise eth0 will not show on the pci bus) -i had some trouble with onboard audio but i dont remember the details now -i dont have onboard vga working yet and was planning on maybe using / writing free support for it so i dont need a vga bios
i dont have time today/tomorrow to look at it in more detail .. will do that later this week ...
greetings, todthgie
A suggestion regarding architecture:
We should add a function-pointer for protect and unprotect, because this is sometimes special. e.g. 29f002bt (st). We should provide an extra funktion to protect/unprotect the bios to the user, so that reweiting the eeprom will be read() -> save old unprotect() test_if_unprotected() if not die erase() test_if_empty() if not, try to rewrite saved_old! else die. write verify
So the methods protect/unprotect have to be seperate and not be hidden in erase or write functions. And they should be accessible via the punction-pointer-table.
My patch contains my little modifications and da doxygen file to ease understanding the code.
Please help me to improve the architecture of flashrom.
Greetings
LuJa
_________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/