summaryrefslogtreecommitdiff
path: root/common/util.c
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-07-23 13:08:40 -0700
committerGerrit <chrome-bot@google.com>2012-07-23 23:30:33 -0700
commit1661f1cef07f5b29b7e9c06fb3220fb48d110686 (patch)
tree10149783f545d199b5abcdf4122336cbc9494648 /common/util.c
parent0653aa011ac5ce05f2e0d70bae90b5b7d126ea73 (diff)
downloadchrome-ec-1661f1cef07f5b29b7e9c06fb3220fb48d110686.tar.gz
Refactor flash module
This is a significant rewrite of the flash module, since it turns out that much less of the flash logic is actually common between stm32 and lm4. BUG=chrome-os-partner:11699 TEST=on link, (enable hardware wp) flashinfo -> wp_gpio_asserted flashwp enable flashinfo -> wp_gpio_asserted ro_at_boot reboot flashinfo -> wp_gpio_asserted ro_at_boot ro_now flashwp disable -> error 7 flashwp now flashinfo -> wp_gpio_asserted ro_at_boot ro_now rw_now reboot flashinfo -> wp_gpio_asserted ro_at_boot ro_now (disable hardware wp) reboot flashinfo -> ro_at_boot flashwp disable flashinfo -> (no flags) Change-Id: If22b02373946ce1c080d49ccded4f8fa3e380115 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/28200 Reviewed-by: Vic Yang <victoryang@chromium.org>
Diffstat (limited to 'common/util.c')
-rw-r--r--common/util.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/common/util.c b/common/util.c
index 008dc3843a..a8e154b896 100644
--- a/common/util.c
+++ b/common/util.c
@@ -139,6 +139,22 @@ int strtoi(const char *nptr, char **endptr, int base)
}
+int memcmp(const void *s1, const void *s2, int len)
+{
+ const char *sa = s1;
+ const char *sb = s2;
+
+ int diff = 0;
+ while (len-- > 0) {
+ diff = *(sa++) - *(sb++);
+ if (diff)
+ return diff;
+ }
+
+ return 0;
+}
+
+
void *memcpy(void *dest, const void *src, int len)
{
/* TODO: optimized version using LDM/STM would be much faster */