summaryrefslogtreecommitdiff
path: root/common/firmware_image.lds.S
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2014-12-03 10:49:48 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-12-05 00:02:06 +0000
commit63704fd11b1858d9438f6bfefcc0b304c43644ad (patch)
treebb353017ff03af633d66bf0bf9859084ab5b45f5 /common/firmware_image.lds.S
parent2777252a2093fa91a4f905314b288ac970d6076c (diff)
downloadchrome-ec-63704fd11b1858d9438f6bfefcc0b304c43644ad.tar.gz
Remove extra EAh at end of RW image.
EAh is used at the end marker for calculating hash in EC. The extra EAh make hash calculated by EC different from calculated in host by sha256sum for the RW image. The RO image is fine. Fix a comment, no A,B images anymore. BUG=chromium:438326 TEST=Check sha256sum is similar for Ryu EC image. On EC console > hash rw [28.740271 hash start 0x00010000 0x0000ea24] > [28.938875 hash done e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534] sha256sum of built image: sha256sum build/ryu_p1/ec.RW.flat e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534 build/ryu_p1/ec.RW.flat TEST=Check firmware upgrade still works: Using a modify version of coreboot with - ryu_p1 as main ec firmware - code to reenable SW sync: CL:233222 Ryu with an older image: cros_ec_init: CrosEC protocol v3 supported (128, 128) Google ChromeOS EC driver ready, id 'ryu_p1_v1.1.2570-942248a' Clearing the recovery request. VbEcSoftwareSync(devidx=0) EC hash:e2c40d0168ce4b20e8320438c7fc719d2188d7f88d9cb7ca694527b3f507e534 EC-RW hash address, size are 0x835b4ff8, 32. Hash = b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 Expected hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 EC-RW firmware address, size are 0x837f9374, 59924. VbEcSoftwareSync() - expected len = 59924 Computed hash of expected image:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 VbEcSoftwareSync() updating EC-RW... VbEcSoftwareSync() jumping to EC-RW VbEcSoftwareSync() jumped to EC-RW VbEcSoftwareSync() in RW; done Check that at next reboot the firmware is not upgraded: cros_ec_init: CrosEC protocol v3 supported (128, 128) Google ChromeOS EC driver ready, id 'ryu_p1_no_version' Clearing the recovery request. VbEcSoftwareSync(devidx=0) EC hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 EC-RW hash address, size are 0x835b4ff8, 32. Hash = b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 Expected hash:b183cd58d668d3d42a7cec95f2dcbb8ddee33f6a42d873f4b78106f85d341b46 VbEcSoftwareSync() in EC-RW and it matches BRANCH=ToT Change-Id: I2db275a16b16fbcea95f53287e95104ba921593e Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/232952 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'common/firmware_image.lds.S')
-rw-r--r--common/firmware_image.lds.S1
1 files changed, 0 insertions, 1 deletions
diff --git a/common/firmware_image.lds.S b/common/firmware_image.lds.S
index c655b4856d..e2de7a2c1c 100644
--- a/common/firmware_image.lds.S
+++ b/common/firmware_image.lds.S
@@ -20,7 +20,6 @@ SECTIONS
. = ALIGN(CONFIG_FLASH_BANK_SIZE);
.image.RW : AT(CONFIG_FLASH_BASE + CONFIG_FW_RW_OFF) {
*(.image.RW)
- BYTE(0xEA) /* Mark end explicitly */
} > FLASH =0xff
.padding : AT(CONFIG_FLASH_BASE + CONFIG_FLASH_SIZE - 1) {
BYTE(0xff);