[coreboot-gerrit] Patch set updated for coreboot: e9b16ff libpayload: mips: add memcmp to the MIPS string functions
Patrick Georgi (pgeorgi@google.com)
gerrit at coreboot.org
Wed Mar 18 16:13:13 CET 2015
Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8743
-gerrit
commit e9b16ff523545cefd28765297172f2dea3415025
Author: Ionela Voinescu <ionela.voinescu at imgtec.com>
Date: Wed Jan 21 01:11:56 2015 +0000
libpayload: mips: add memcmp to the MIPS string functions
The default string functions work with multiple of 4 bytes
(sizeof(unsinged long)); MIPS will use LW/SW instructions
for these operations and if the source and destination
addresses are not aligned it will trigger an exception.
Therefore, this implementation does all data access operations
per byte, because there is no guarantee that the provided
strings are properly aligned.
BUG=chrome-os-partner:31438
TEST=tested on Pistachio bring up board; behaves as expected
BRANCH=none
Change-Id: I05b43673deb954f022d12cb9c3d7baac26be2a34
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
Original-Commit-Id: 8e13b3d31726404abd8c8e5c8780d3d3e16e032d
Original-Change-Id: I456e312eb6b7fee2eff10e461af7f578aed07648
Original-Signed-off-by: Ionela Voinescu <ionela.voinescu at imgtec.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/241885
Original-Reviewed-by: David Hendricks <dhendrix at chromium.org>
---
payloads/libpayload/arch/mips/string.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/payloads/libpayload/arch/mips/string.c b/payloads/libpayload/arch/mips/string.c
index 0f0c7c3..0563cf8 100644
--- a/payloads/libpayload/arch/mips/string.c
+++ b/payloads/libpayload/arch/mips/string.c
@@ -70,3 +70,13 @@ void *memset(void *s, int c, size_t n)
return s;
}
+
+int memcmp(const void *s1, const void *s2, size_t n)
+{
+ size_t i;
+
+ for (i = 0; i < n; i++)
+ if (((u8 *)s1)[i] != ((u8 *)s2)[i])
+ return ((u8 *)s1)[i] - ((u8 *)s2)[i];
+ return 0;
+}
More information about the coreboot-gerrit
mailing list