[coreboot-gerrit] New patch to review for coreboot: c9075cc libpayload: add xmemalign()

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Mar 18 11:42:59 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/8728

-gerrit

commit c9075ccaf20d66f4f083ea16e6e8a98a32b083d5
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Jan 22 08:53:02 2015 -0600

    libpayload: add xmemalign()
    
    Similarly to xzalloc() and xmalloc() provide an xmemalign() function
    to do the approriate assertions on allocation failure.
    
    BUG=None
    BRANCH=None
    TEST=Built and booted using xmemalign().
    
    Change-Id: I59579d9ee973af3bb34037b7df5b1024b60e348d
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 3001822656024dbfc34d6b849a0245274b8c0f46
    Original-Change-Id: Ie307d4c9c1882bba25745afe38455f2682303e37
    Original-Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/242455
    Original-Reviewed-by: Patrick Georgi <pgeorgi at chromium.org>
---
 payloads/libpayload/include/stdlib.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/payloads/libpayload/include/stdlib.h b/payloads/libpayload/include/stdlib.h
index 04acec5..e571d18 100644
--- a/payloads/libpayload/include/stdlib.h
+++ b/payloads/libpayload/include/stdlib.h
@@ -174,6 +174,20 @@ static inline void *xzalloc_work(size_t size, const char *file,
 	return ret;
 }
 #define xzalloc(size) xzalloc_work((size), __FILE__, __FUNCTION__, __LINE__)
+
+static inline void *xmemalign_work(size_t align, size_t size, const char *file,
+				  const char *func, int line)
+{
+	void *ret = memalign(align, size);
+	if (!ret && size) {
+		die_work(file, func, line,
+			 "Failed to memalign %zu bytes with %zu alignment.\n",
+			 size, align);
+	}
+	return ret;
+}
+#define xmemalign(align, size) \
+	xmemalign_work((align), (size), __FILE__, __func__, __LINE__)
 /** @} */
 
 /**



More information about the coreboot-gerrit mailing list