On 14.07.2009 18:55, Michael Gold wrote:
On Tue, Jul 14, 2009 at 08:38:15 -0700, ron minnich wrote:
I like it. We talked about something like this in v3. How would you feel about putting in emergency flash upgrade support :-)
I like the flash upgrade idea, but I'm not sure how to do it yet (in a generic way). Any suggestions?
If you have RAM, downloading a flashrom binary linked against libpayload would be best. The good news is that flashrom itself is written in a way that allows you to put it on top of any backend, even a backend which does nothing but perform remote control of xcshell. I think that would be easiest.
I think it might be possible without any changes by marking the part of the ROM containing xcshell as cacheable, and then using pokes to rewrite the rest of the chip. It would be slow, but a small flash upgrade program could be uploaded that would do the rest of the work more quickly.
If you have a generic "write X to loation y" interface, flashrom can deal with that, even remotely.
My original idea was that one would set up CAR, upload code, and jump to it; this would allow the system to be extended without having to include much code. It doesn't work, at least on my Pentium 3, but the same thing could be done with RAM once it's initialised (or with flash for occasional use).
As long as RAM works, we could even upload a complete flashrom binary over zmodem.
Regards, Carl-Daniel