diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-07-24 09:14:43 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-07-24 15:55:31 -0700 |
commit | 319d433d6864945c19103f0a779467f66d599c67 (patch) | |
tree | 05586e006318dfc71f9a712120864e4d39cdc7c2 /include/system.h | |
parent | 187ea8f4eaee59efd0d3c636dfb2fc108e11d7f6 (diff) | |
download | chrome-ec-319d433d6864945c19103f0a779467f66d599c67.tar.gz |
Calculate the hash only of the actual RW code
No need to hash a bunch of 0xff's at the end. We explicitly set a
0xea byte after the end of the code in firmware_image.lds.S.
BUG=chrome-os-partner:11087
TEST=look for the hash start line in the EC debug output:
[0.011543 hash start 0x00014000 0x00011590]
The second number is the code size. It should be the same size as
ec.RW.bin, instead of 0x14000.
Change-Id: Ibc94851dc1a09eb46cad46bb97dc5762f9c521f0
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/28300
Diffstat (limited to 'include/system.h')
-rw-r--r-- | include/system.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/system.h b/include/system.h index 4bcde16aae..d1975c9fed 100644 --- a/include/system.h +++ b/include/system.h @@ -104,12 +104,23 @@ const uint8_t *system_get_jump_tag(uint16_t tag, int *version, int *size); /* Return the address just past the last usable byte in RAM. */ int system_usable_ram_end(void); -/* Returns true if the given range is overlapped with the active image. */ +/* Return true if the given range is overlapped with the active image. */ int system_unsafe_to_overwrite(uint32_t offset, uint32_t size); /* Return a text description of the image copy which is currently running. */ const char *system_get_image_copy_string(void); +/** + * Return the number of bytes used in the specified image. + * + * This is the actual size of code+data in the image, as opposed to the + * amount of space reserved in flash for that image. + * + * @return actual image size in bytes, 0 if the image contains no content or + * error. + */ +int system_get_image_used(enum system_image_copy_t copy); + /* Jump to the specified image copy. */ int system_run_image_copy(enum system_image_copy_t copy); |