add entire FMAP structure into ROM hash

as discussion in http://codereview.chromium.org/3328013/show,
we can include FMAP into hash source.

BUG=none
TEST=manually: execute hardware_Components test and verify if the hash is
different

Change-Id: I0e2399b361968f3cd5e8910f23d4ca096937861e

Review URL: http://codereview.chromium.org/3335020
diff --git a/client/site_tests/hardware_Components/hardware_Components.py b/client/site_tests/hardware_Components/hardware_Components.py
index 0962d8b..33d56a8 100644
--- a/client/site_tests/hardware_Components/hardware_Components.py
+++ b/client/site_tests/hardware_Components/hardware_Components.py
@@ -8,6 +8,7 @@
 from autotest_lib.client.common_lib import error
 from autotest_lib.client.common_lib import flashrom_util
 from autotest_lib.client.common_lib import gbb_util
+from autotest_lib.client.common_lib import site_fmap
 from autotest_lib.client.common_lib import site_vblock
 
 
@@ -260,6 +261,10 @@
         if not layout:
             raise error.TestError('Cannot detect ChromeOS flashrom layout')
         hash_src = ''
+        fmap_obj = site_fmap.fmap_decode(base_img)
+        if not fmap_obj:
+            raise error.TestError('No FMAP structure in flashrom.')
+        hash_src = hash_src + site_fmap.fmap_encode(fmap_obj)
         for section in hash_ro_list:
             src = flashrom.get_section(base_img, layout, section)
             if not src: