On 15.05.2008 10:49, Andriy Gapon wrote:
on 15/05/2008 05:32 Carl-Daniel Hailfinger said the following:
Hi Andriy,
On 14.05.2008 22:30, Andriy Gapon wrote:
First of all, I have a very rough (and ugly!) patch that makes flashrom work on FreeBSD. I tried it for reading BIOS image and it worked.
Can you mail the patch to the list? We want flashrom to be cross-platform and will try to merge the patch or at least a variant of it.
The diff is attached. But it is really very ugly and hackish. The most noisy change is that outb has different order of arguments on Linux and FreeBSD.
I think we can merge the outb -> lin_outb change, though I we may want to call it outb_wrapper or somesuch. Can you send that as a separate patch?
I have an old system with MP2-BX-X, please see some description here: http://www.geocities.com/SiliconValley/3686/delta_mp2.html It is based on 440BX chipset.
Visually I was able to identify that BIOS flash chip is SST39SF020, but flashrom didn't initially recognize it. Some debugging showed that it has JEDEC ids 0x25 for vendor and 0xE5 for device. Very unusual. So I decided to let you know.
The JEDEC vendor ID 0x25 can mean any of the following companies:
- Tristar
- Zarlink/Mitel
- Chameleon systems
- Kingmax Semiconductor
- Phyworks
- Power-One
None of the companies above are in the BIOS flash market AFAICS. Probably this is just a strange reading of real flash contents at ID offsets.
The data that flashrom read are very similar to the data in vendor provided bios .bin. There are differences in a chunk of about 12k size, I guess this is where bios stored some config data.
Can you hexdump the first 8 bytes of the bios.bin you read back from your chip?
Here it is (16 bytes): 00000000 25 e5 2d 6c 68 35 2d 52 16 00 00 9e 1f 00 00 02
It does include -lh5- signature. I was even able to split it into several chunks on that signature, decompress the chunks and even disassemble some pieces. Interestingly enough this BIOS contains original.tm1 file in addition to original.tmp and the former seems to be a trailer of the latter.
Hmm, I see that 25 e5 is present here. So it might mean that my ported code didn't properly enable flash chip communication?
Yes, indeed. For details, see Stefan's answer. Oh, and the SST39 series are not really the ideal chips to test flashrom with. I have one of those chips which seemed to be damaged beyond repair after flashing it.
Regards, Carl-Daniel