firmware: preserve VPD in factory / incompatibe update modes (merge from ToT to R12)

Firmware updating should always preserve the content in RO/RW VPD area.

BUG=chrome-os-partner:3540
TEST=vpd -i RO_VPD -s ro=1; vpd -i RW_VPD -s rw=2;
     vpd -l # put some value
     flashrom -r bios_old.bin; # for backup
     ./updater --mode=factory; vpd -l # see values not changed
     flashrom -r bios_new.bin; # new firmware
     (mkdir old; cd old; dump_fmap -x ../bios_old.bin)
     (mkdir new; cd new; dump_fmap -x ../bios_new.bin)
     for X in old/*; do cmp "$X" "new/$(basnema $X)" || echo "diff"; done
     # seeing only RO_VPD and RW_VPD are different

Change-Id: I4aeb6ba3096700b33d1734fcd15e784555ef3fcf
Cherry-Picked: http://gerrit.chromium.org/gerrit/#change,277
Reviewed-on: http://gerrit.chromium.org/gerrit/489
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
2 files changed