[coreboot] [flashrom] Transaction Error with opcode 0x03 failed...

FENG Yu Ning fengyuning1984 at gmail.com
Thu May 7 02:45:46 CEST 2009


Andriy Gapon wrote:

> I wonder what the following means (on my machine):
> 0x54: 0x00000000 (FREG0)

All 0s value is confusing at the first sight. However, if you would
like to read the explanation once more and pay attention to the
detail, I believe you will get a different conclusion.

>> The value 0x0(23f)0(00b) means, ...
>> ... to 0x00(23f)fff ...

You probably have got it.

The explanation contains minor error, though. To be exact, bits 28 ..
16 of FREGn represent bits 24 .. 12 of the region's limit. That is one
bit more than my parentheses show. Bits 11 .. 0 of the region's limit,
I believe, is 0xfff, which is not clearly stated in the datasheet.
Bits 12 .. 0 of FREGn represent bits 24 .. 12 of the region's base.
The other (lower) bits of the region's base should be 0.

Therefore, 0x00000000 should mean a region from 0x0000000 to 0x0000fff.

> BTW:
> 0x50: 0x00000a0b (FRAP)

According to the datasheet, the bit n in bits 7 .. 0 indicates
software read access to FREGn (n is in [0, 4]). Similarly, the bit n
in bits 15 .. 8 indicates software write access to FREG(n-8) ((n-8) is
in [0, 4]). So the value means software can write to FREG1 and FREG3,
while it can read FREG0, 1 and 3. However, iirc, there is other
protection mechanism, so software may still be banned to write on part
of FREG1 or FREG3.

If you would like to get information from the source, dig into Chap 22
of the ICH9 datasheet. You may need multiple parses to find out what
you need. Besides, there are some mistakes in the datasheet, but that
should not affect if you are not reading it very carefully.

yu ning




More information about the coreboot mailing list