summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hendricks <dhendricks@fb.com>2018-01-28 18:01:10 -0800
committerPatrick Georgi <pgeorgi@google.com>2018-04-09 08:18:16 +0000
commit6053a9ce05c1ca9c8919689fd766e14f4a8b4884 (patch)
tree26a227637a18b74a5d9d53ea6b0fb646e76dff77
parentb90c0d90cff03e5f7cbf2c3413f8766983589762 (diff)
downloadcoreboot-6053a9ce05c1ca9c8919689fd766e14f4a8b4884.tar.xz
console: Expose vsnprintf
It's a standard function. Change-Id: I039cce2dfc4e168804eb7d12b76a29af712ac7a1 Signed-off-by: David Hendricks <dhendricks@fb.com> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/23616 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/console/vsprintf.c2
-rw-r--r--src/include/string.h5
-rw-r--r--src/southbridge/amd/cimx/sb800/AmdSbLib.h13
-rw-r--r--src/southbridge/amd/cimx/sb900/AmdSbLib.h13
4 files changed, 8 insertions, 25 deletions
diff --git a/src/console/vsprintf.c b/src/console/vsprintf.c
index 4edb3ea6e6..7071611ef9 100644
--- a/src/console/vsprintf.c
+++ b/src/console/vsprintf.c
@@ -34,7 +34,7 @@ static void str_tx_byte(unsigned char byte, void *data)
}
}
-static int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
+int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
{
int i;
struct vsnprintf_context ctx;
diff --git a/src/include/string.h b/src/include/string.h
index d2d7bb8781..fc96393c48 100644
--- a/src/include/string.h
+++ b/src/include/string.h
@@ -4,6 +4,10 @@
#include <stddef.h>
#include <stdlib.h>
+#if !defined(__ROMCC__)
+#include <console/vtxprintf.h>
+#endif
+
/* Stringify a token */
#ifndef STRINGIFY
#define _STRINGIFY(x) #x
@@ -17,6 +21,7 @@ int memcmp(const void *s1, const void *s2, size_t n);
void *memchr(const void *s, int c, size_t n);
#if !defined(__ROMCC__)
int snprintf(char *buf, size_t size, const char *fmt, ...);
+int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
#endif
// simple string functions
diff --git a/src/southbridge/amd/cimx/sb800/AmdSbLib.h b/src/southbridge/amd/cimx/sb800/AmdSbLib.h
index cc75353f3d..c13eda4e58 100644
--- a/src/southbridge/amd/cimx/sb800/AmdSbLib.h
+++ b/src/southbridge/amd/cimx/sb800/AmdSbLib.h
@@ -20,18 +20,7 @@
#ifndef _AMD_SB_LIB_H_
#define _AMD_SB_LIB_H_
-typedef signed char *va_list;
-#ifndef _INTSIZEOF
- #define _INTSIZEOF (n) ( (sizeof(n) + sizeof(UINTN) - 1) & ~(sizeof(UINTN) - 1) )
-#endif
-
-// Also support coding convention rules for var arg macros
-#ifndef va_start
- #define va_start(ap, v) ( ap = (va_list)&(v) + _INTSIZEOF (v) )
-#endif
-#define va_arg(ap, t) ( *(t *) ((ap += _INTSIZEOF (t)) - _INTSIZEOF (t)) )
-#define va_end(ap) ( ap = (va_list)0 )
-
+#include <console/vtxprintf.h>
#pragma pack (push, 1)
diff --git a/src/southbridge/amd/cimx/sb900/AmdSbLib.h b/src/southbridge/amd/cimx/sb900/AmdSbLib.h
index cc75353f3d..c13eda4e58 100644
--- a/src/southbridge/amd/cimx/sb900/AmdSbLib.h
+++ b/src/southbridge/amd/cimx/sb900/AmdSbLib.h
@@ -20,18 +20,7 @@
#ifndef _AMD_SB_LIB_H_
#define _AMD_SB_LIB_H_
-typedef signed char *va_list;
-#ifndef _INTSIZEOF
- #define _INTSIZEOF (n) ( (sizeof(n) + sizeof(UINTN) - 1) & ~(sizeof(UINTN) - 1) )
-#endif
-
-// Also support coding convention rules for var arg macros
-#ifndef va_start
- #define va_start(ap, v) ( ap = (va_list)&(v) + _INTSIZEOF (v) )
-#endif
-#define va_arg(ap, t) ( *(t *) ((ap += _INTSIZEOF (t)) - _INTSIZEOF (t)) )
-#define va_end(ap) ( ap = (va_list)0 )
-
+#include <console/vtxprintf.h>
#pragma pack (push, 1)