Hi Stefan,

In the system, only below regions were mapped and only these regions can be erased/programmed.

0x54: 0x000f0000 FREG0: Flash Descriptor region (0x00000000-0x0000ffff) is read-write.
0x58: 0x07ff0200 FREG1: BIOS region (0x00200000-0x007fffff) is read-write.

The other regions were not used on this platform.

Creating a romlayout file and programming only the specified regions solves the issue. The patch works fine.

#cat romlayout
00000000: 0000ffff desc
00200000: 007fffff bios

# ./flashrom -p internal:laptop=this_is_not_a_laptop -l romlayout -i desc -i bios -w NewBios.bin


Thanks & Regards,
Rajasekhar


On Wed, Apr 23, 2014 at 9:01 PM, Stefan Tauner <stefan.tauner@student.tuwien.ac.at> wrote:
On Wed, 23 Apr 2014 20:40:26 +0530
Rajasekhar Pulluru <pullururajasekhar@gmail.com> wrote:

> Hi Stefan,
>
> Attached the full logs (excluding dmi). My observation is that:
> 1) reading spi flash seems to be good.
> 2) erasing spi flash : only first 64kb erases successfully, after that
> erase reports failure.
> 3) programming spi flash: only first 64kb programs fine, after that erase
> reports failure.

Hi, your output is missing the lines that are printed to stderr instead
of stdout and you should probably use the -o option of flashrom to
create logfiles ;)
... but anyway, it seems to me as if the ME region starts exactly where
you have problems. And I assume that it is at least not writable. You
can make that r/w by changing the flash descriptor (i.e. the first 4kB
which are apparently writable).

--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner