On Mon, May 2, 2011 at 1:28 PM, Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> wrote:
New version with a few bugfixes and better comments:
- Do not use reversible writes for on-the-fly opcode menu reprogramming
- Add reversible PCI MMIO writes


Revert MMIO space writes on shutdown as needed.
Reversible MMIO space writes now use rmmio_write*().
Reversible PCI MMIO space writes now use pci_rmmio_write*().
If a MMIO value needs to be queued for restore without writing it,
use rmmio_val*().

MMIO space writes which are one-shot (e.g. communication with some chip)
should continue to use the permanent mmio_write* variants.

Signed-off-by: Carl-Daniel Hailfinger<c-d.hailfinger.devel.2006@gmx.net>

Patch attached because Seamonkey started to mangle patches.

Code looks good, and I tested it successfully on some NM10/ICH7 platforms.

For testing, I applied the patch to the Chromium OS flashrom repo, which had the older version of the patch committed, to stress reverse MMIO writes when switching between SPI and LPC targets (x86 BIOS ROM vs. EC firmware ROM).

Acked-by: David Hendricks <dhendrix@google.com>

--
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.