Hi.
On 8 February 2013 16:44, Stefan Tauner stefan.tauner@student.tuwien.ac.atwrote:
On Fri, 8 Feb 2013 11:08:21 +0100 Mark Marshall markmarshall14@gmail.com wrote:
Hi Mark,
The other problems are:
- That most of flashrom seems to be limited to 2^24 address bits. (this is relatively easy to fix)
We will see about that :) We are of course aware that this is needed quite soon. Do you want to help us with this (mostly testing, but if you like you can also try to create the needed patch)?
I've got some patches that work here, but one of them involves just commenting out the code in spi.c::spi_chip_read! I don't really understand what it thinks it's checking for (which isn't strictly true, it seems to be to do with accessing the flash through a memory window, which happens for a motherboard BIOS.)
I'll neaten them up and post them next week.
- That flashrom thinks a page is always 256 byes (I think I've found most cases of this, but I'm not sure. What's the granularity flag for?
The flag is there to fix exactly this :) See also http://patchwork.coreboot.org/patch/3757/ Not many chips need this and so we never moved into this direction... do you really need it?
I don't know if I need it. I guess not actually, as my page size is 512, and it should all work with the code for 256? It might be faster as 512, but I don't care about that small difference.
I've also found that flashrom doesn't always do what I expect, and I'm
not
sure if this is by design or not. for instance, if I want to erase my entire flash chip, it ends up calling the sector erase on each sector, not by doing a chip-erase? Are these types of things written down anywhere?
We try to erase the smallest possible blocks first (in order of the eraser array of the chip definition(s) in flashchips.c. This potentially allows to skip writing of block as explained above. It is of course rather useless for the -E/--erase operation, but the code is shared and no one complained yet IIRC (or sent a patch). Most of these details are not documented I think, but some are (in the manpage). Patches for the manpage are welcomed. Everyone is invited to edit the wiki too :)
I was wondering about creating a more detailed structure of both the contents of the ROM and the (set of) files that the user was trying to program. Then we could read back from the flash only for the bits that we needed. Any thoughts?
Thanks for your help, and I'll try to post more next week.
Regards,
Mark M?
-- Kind regards/Mit freundlichen Grüßen, Stefan Tauner