summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@google.com>2017-05-22 17:50:55 +0800
committerchrome-bot <chrome-bot@chromium.org>2017-05-23 21:59:45 -0700
commite58472daf82e86824471bbbc56b92de6ee048b3a (patch)
treeb542052ab83bfb70095848f2299b812d5d2d3f82
parente42da5ace4393868a610a51bba89730fafd11157 (diff)
downloadchrome-ec-e58472daf82e86824471bbbc56b92de6ee048b3a.tar.gz
hammer: Better RO/RB/RW split: 44/4/80 kB
Let's future proof hammer a bit: current flash usage, after applying uncommmited patches, is about 36/50 kB for RO/RW respectively. Let's change the RO/RB/RW layout from 64/4/60 kB to 44/4/80 kB. BRANCH=none BUG=b:38489464 TEST=Enable CONFIG_CMD_FLASH and force WP_L low. TEST=flashwrite 0xa000 0x100 => ok flashwp true; reboot flashinfo => ro_at_boot ro_now YYYYYYYY YYY..... ........ ........ flashread 0xa000 0x100 => Incrementing numbers 0->255 flasherase 0xa000 0x800 => error flashread 0xa000 0x800 => Incrementing numbers 0->255 TEST=(rollback) rollbackupdate 2 => works, rollbackinfo is correct flashwp rb; reboot flashread 0xb000 0x100 => Rollback info followed by 0xff flasherase 0xb000 0x800 => error flashread 0xb000 0x800 => Unchanged rollbackupdate 3 => fails TEST=(rw) flashwp rw; reboot flashinfo => all_at_boot all_now flashread 0x0c000 0x100 flasherase 0x0c000 0x800 => Access denied flashread 0x0c000 0x100 flashread 0x1f800 0x100 => 0xff flashwrite 0x1f800 0x100 => Access denied flashread 0x1f800 0x100 TEST=(norw) flashwp norw; reboot flasherase 0x0c000 0x800 => ok flashread 0x0c000 0x100 => 0xff flashwrite 0x0c000 0x100 flashread 0x0c000 0x100 => Incrementing numbers 0->255 reboot => RW does not verify anymore TEST=(norb) flashwp norb flasherase 0xb000 0x800 flashwrite 0xb000 0x100 rollbackinfo => block 0 shows incorrect values. Change-Id: I915ffe3032e6a70f761c5f7ea2940feaae58366b Reviewed-on: https://chromium-review.googlesource.com/510413 Commit-Ready: Nicolas Boichat <drinkcat@chromium.org> Tested-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--board/hammer/board.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/board/hammer/board.h b/board/hammer/board.h
index 494bfeb58d..654a01a5d4 100644
--- a/board/hammer/board.h
+++ b/board/hammer/board.h
@@ -38,12 +38,6 @@
#undef CONFIG_WP_STORAGE_OFF
#undef CONFIG_WP_STORAGE_SIZE
-#define _IMAGE_SIZE (CONFIG_FLASH_SIZE / 2)
-
-/* EC rollback protection block */
-#define CONFIG_ROLLBACK_OFF _IMAGE_SIZE
-#define CONFIG_ROLLBACK_SIZE CONFIG_FLASH_BANK_SIZE
-
#define CONFIG_FLASH_PSTATE
/* Do not use a dedicated PSTATE bank */
#undef CONFIG_FLASH_PSTATE_BANK
@@ -52,10 +46,16 @@
#define CONFIG_RO_MEM_OFF 0
#define CONFIG_RO_STORAGE_OFF 0
-#define CONFIG_RO_SIZE _IMAGE_SIZE
-#define CONFIG_RW_MEM_OFF (_IMAGE_SIZE + CONFIG_ROLLBACK_SIZE)
+#define CONFIG_RO_SIZE (44*1024)
+
+/* EC rollback protection block */
+#define CONFIG_ROLLBACK_OFF (CONFIG_RO_MEM_OFF + CONFIG_RO_SIZE)
+#define CONFIG_ROLLBACK_SIZE CONFIG_FLASH_BANK_SIZE
+
+#define CONFIG_RW_MEM_OFF (CONFIG_ROLLBACK_OFF + CONFIG_ROLLBACK_SIZE)
#define CONFIG_RW_STORAGE_OFF 0
-#define CONFIG_RW_SIZE (_IMAGE_SIZE - CONFIG_ROLLBACK_SIZE)
+#define CONFIG_RW_SIZE (CONFIG_FLASH_SIZE - \
+ (CONFIG_RW_MEM_OFF - CONFIG_RO_MEM_OFF))
#define CONFIG_EC_PROTECTED_STORAGE_OFF CONFIG_RO_MEM_OFF
#define CONFIG_EC_PROTECTED_STORAGE_SIZE CONFIG_RO_SIZE