libpayload: use PRIu64 type to print u64

The appropriate way to print a u64 variable regardless of the current
architecture is to use the PRI*64 macros.  libpayload is mostly used
in 32 bits but when ported to other projects and compiled in 64 bits
it breaks the compilation.

Change-Id: I479fd701f992701584d77d43c5cd5910f5ab7633
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45628
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/payloads/libpayload/drivers/options.c b/payloads/libpayload/drivers/options.c
index 9e437f9..b6d2342 100644
--- a/payloads/libpayload/drivers/options.c
+++ b/payloads/libpayload/drivers/options.c
@@ -26,8 +26,11 @@
  * SUCH DAMAGE.
  */
 
+#define __STDC_FORMAT_MACROS
+
 #include <libpayload.h>
 #include <coreboot_tables.h>
+#include <inttypes.h>
 
 u8 *mem_accessor_base;
 
@@ -325,7 +328,7 @@
 			/* only works on little endian.
 			   26 bytes is enough for a 64bit value in decimal */
 			*dest = malloc(26);
-			sprintf(*dest, "%llu", *(u64*)raw);
+			sprintf(*dest, "%" PRIu64, *(u64 *)raw);
 			break;
 		case 's':
 			*dest = strdup(raw);
diff --git a/payloads/libpayload/libc/time.c b/payloads/libpayload/libc/time.c
index c0a3313..6780008 100644
--- a/payloads/libpayload/libc/time.c
+++ b/payloads/libpayload/libc/time.c
@@ -31,11 +31,14 @@
  * General time functions
  */
 
+#define __STDC_FORMAT_MACROS
+
 #include <libpayload-config.h>
 #include <libpayload.h>
 #if CONFIG(LP_ARCH_X86) && CONFIG(LP_NVRAM)
 #include <arch/rdtsc.h>
 #endif
+#include <inttypes.h>
 
 extern u32 cpu_khz;
 
@@ -173,7 +176,7 @@
 	if (hz == 0) {
 		hz = timer_hz();
 		if (hz < 1000000) {
-			printf("Timer frequency %lld is too low, "
+			printf("Timer frequency %" PRIu64 " is too low, "
 			       "must be at least 1MHz.\n", hz);
 			halt();
 		}