Nico Huber has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/33823 )
Change subject: include, lib: Add <inttypes.h> printf macros ......................................................................
include, lib: Add <inttypes.h> printf macros
In general, third party code (such as vboot) doesn't know what the underlying types are for the integers in <stdint.h>, so these macros are useful for portably printing them. Of these definitions, coreboot so far has only used PRIu64 (in one place), which isn't needed anymore since we know what the underlying type of a u64 is.
Change-Id: I9e3a300f9b1c38e4831b030ff8af3fed2fa60f14 Signed-off-by: Jacob Garber jgarber1@ualberta.ca Reviewed-on: https://review.coreboot.org/c/coreboot/+/33823 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Nico Huber nico.h@gmx.de --- M src/include/inttypes.h M src/include/stdint.h M src/lib/timestamp.c 3 files changed, 64 insertions(+), 8 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
diff --git a/src/include/inttypes.h b/src/include/inttypes.h index 77c39c4..4e2476d 100644 --- a/src/include/inttypes.h +++ b/src/include/inttypes.h @@ -1,4 +1,67 @@ +/* + * This file is part of the coreboot project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + #ifndef INTTYPES_H #define INTTYPES_H + #include <stdint.h> + +/* int8_t and uint8_t */ +#define PRId8 "d" +#define PRIi8 "i" +#define PRIu8 "u" +#define PRIo8 "o" +#define PRIx8 "x" +#define PRIX8 "X" + +/* int16_t and uint16_t */ +#define PRId16 "d" +#define PRIi16 "i" +#define PRIu16 "u" +#define PRIo16 "o" +#define PRIx16 "x" +#define PRIX16 "X" + +/* int32_t and uint32_t */ +#define PRId32 "d" +#define PRIi32 "i" +#define PRIu32 "u" +#define PRIo32 "o" +#define PRIx32 "x" +#define PRIX32 "X" + +/* int64_t and uint64_t */ +#define PRId64 "lld" +#define PRIi64 "lli" +#define PRIu64 "llu" +#define PRIo64 "llo" +#define PRIx64 "llx" +#define PRIX64 "llX" + +/* intptr_t and uintptr_t */ +#define PRIdPTR "ld" +#define PRIiPTR "li" +#define PRIuPTR "lu" +#define PRIoPTR "lo" +#define PRIxPTR "lx" +#define PRIXPTR "lX" + +/* intmax_t and uintmax_t */ +#define PRIdMAX "jd" +#define PRIiMAX "ji" +#define PRIuMAX "ju" +#define PRIoMAX "jo" +#define PRIxMAX "jx" +#define PRIXMAX "jX" + #endif /* INTTYPES_H */ diff --git a/src/include/stdint.h b/src/include/stdint.h index f363aab..0a8e153 100644 --- a/src/include/stdint.h +++ b/src/include/stdint.h @@ -110,10 +110,4 @@ #define true 1 #define false 0
-/* TODO: move into inttypes.h */ -#ifndef __ROMCC__ -#define PRIu64 "llu" -#define PRIxPTR "lx" -#endif - #endif /* STDINT_H */ diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c index adacf6b..1319b86 100644 --- a/src/lib/timestamp.c +++ b/src/lib/timestamp.c @@ -180,8 +180,7 @@ tse->entry_stamp = ts_time - ts_table->base_time;
if (CONFIG(TIMESTAMPS_ON_CONSOLE)) - printk(BIOS_SPEW, "Timestamp - %s: %" PRIu64 "\n", - timestamp_name(id), ts_time); + printk(BIOS_SPEW, "Timestamp - %s: %llu\n", timestamp_name(id), ts_time);
if (ts_table->num_entries == ts_table->max_entries) printk(BIOS_ERR, "ERROR: Timestamp table full\n");