aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2019-02-19 18:06:46 +0530
committerAnup Patel <anup@brainfault.org>2019-02-20 12:02:40 +0530
commitce6189f7a5adbf6ac88b95f78a6d5e9b5481faf9 (patch)
tree4dc4d531455de9c0be237be66de43b7366d73652
parentdb5b25af49d4a2e4940ca9dee1a289b836f36650 (diff)
include: Add PRILX define to help print unsigned long
The unsigned long is always machine word size. This means it is 4 bytes on 32bit system and 8 bytes on 64bit system. This patch adds PRILX define for sbi_printf() which will help us print unsigned long without worrying whether it is 32bit or 64bit system. Signed-off-by: Anup Patel <anup.patel@wdc.com>
-rw-r--r--include/sbi/sbi_types.h2
-rw-r--r--lib/sbi_trap.c36
2 files changed, 20 insertions, 18 deletions
diff --git a/include/sbi/sbi_types.h b/include/sbi/sbi_types.h
index 9231dff..40909f6 100644
--- a/include/sbi/sbi_types.h
+++ b/include/sbi/sbi_types.h
@@ -29,11 +29,13 @@ typedef long s64;
typedef unsigned long u64;
typedef long int64_t;
typedef unsigned long uint64_t;
+#define PRILX "016lx"
#elif __riscv_xlen == 32
typedef long long s64;
typedef unsigned long long u64;
typedef long long int64_t;
typedef unsigned long long uint64_t;
+#define PRILX "08lx"
#else
#error "Unexpected __riscv_xlen"
#endif
diff --git a/lib/sbi_trap.c b/lib/sbi_trap.c
index ba597d8..ea5ba6b 100644
--- a/lib/sbi_trap.c
+++ b/lib/sbi_trap.c
@@ -26,41 +26,41 @@ static void __noreturn sbi_trap_error(const char *msg,
{
sbi_printf("%s: hart%d: %s (error %d)\n",
__func__, hartid, msg, rc);
- sbi_printf("%s: hart%d: mcause=0x%lx mtval=0x%lx\n",
+ sbi_printf("%s: hart%d: mcause=0x%"PRILX" mtval=0x%"PRILX"\n",
__func__, hartid, mcause, mtval);
- sbi_printf("%s: hart%d: mepc=0x%lx mstatus=0x%lx\n",
+ sbi_printf("%s: hart%d: mepc=0x%"PRILX" mstatus=0x%"PRILX"\n",
__func__, hartid, regs->mepc, regs->mstatus);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "ra", regs->ra, "sp", regs->sp);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "gp", regs->gp, "tp", regs->tp);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s0", regs->s0, "s1", regs->s1);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "a0", regs->a0, "a1", regs->a1);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "a2", regs->a2, "a3", regs->a3);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "a4", regs->a4, "a5", regs->a5);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "a6", regs->a6, "a7", regs->a7);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s2", regs->s2, "s3", regs->s3);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s4", regs->s4, "s5", regs->s5);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s6", regs->s6, "s7", regs->s7);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s8", regs->s8, "s9", regs->s9);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "s10", regs->s10, "s11", regs->s11);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "t0", regs->t0, "t1", regs->t1);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "t2", regs->t2, "t3", regs->t3);
- sbi_printf("%s: hart%d: %s=0x%lx %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX" %s=0x%"PRILX"\n",
__func__, hartid, "t4", regs->t4, "t5", regs->t5);
- sbi_printf("%s: hart%d: %s=0x%lx\n",
+ sbi_printf("%s: hart%d: %s=0x%"PRILX"\n",
__func__, hartid, "t6", regs->t6);
sbi_hart_hang();