[flashrom] DOS flashrom - partial success on Dell Optiplex 320

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Apr 7 15:00:03 CEST 2010

Hi Martin,

thanks for testing this.

On 07.04.2010 12:21, rayer wrote:
> I tried the latest build and didn't get a crash - well mmap()
> emulation seems to be finally working ;)


> but when I tried to dump flash with -V -r it hanged after probing chip:
> AE49F2008, skipped
> I wait a minute but it didn't probed other chips, so I pressed CTRL+C...

This is really bad. It means that low memory access to the SPI
controller MMIO region still does not work reliably.

> It also seems to have some problems with delay loop calibration.
> Maybe you can use DJGPP functions udelay() and uclock() with ~1us
> granularity.

The big problem here is that gettimeofday() apparently does not have any
usable precision on your machine (maybe DOS/DJGPP related). Sometimes
(always?) the time has not changed at all even after we delay for 10000
us and that causes the timer code to bail out.

> So I opened the case and lookoed for the flash chip - PMC Pm49FL004T
> and passed - c Pm49FL004 option. Then the chip was probed OK and
> flash content dumped, well done.


> http://rayer.ic.cz/350d/flashrom.jpg

To summarize:
- gettimeofday() has precision worse than 10 ms and that triggers timer
- Low uncached memory access is still broken on DOS or our SB600 SPI
code has a bug. It would be cool if you could run flashrom under Linux
on that machine (no read/write needed) and post the output in verbose
mode. OTOH, it is possible that the BIOS screwed up caching of the SB600
SPI MMIO region and in this case we can't do anything about it because
checking MTRRs is infeasible.



More information about the flashrom mailing list