diff --git a/src/arch/aarch64/hftest/interrupts_gicv3.c b/src/arch/aarch64/hftest/interrupts_gicv3.c
index 80b67e2..e418546 100644
--- a/src/arch/aarch64/hftest/interrupts_gicv3.c
+++ b/src/arch/aarch64/hftest/interrupts_gicv3.c
@@ -164,10 +164,10 @@
 {
 	switch (esr >> 26) {
 	case 0x25: /* EC = 100101, Data abort. */
-		dlog("Data abort: pc=0x%x, esr=0x%x, ec=0x%x", elr, esr,
+		dlog("Data abort: pc=%#x, esr=%#x, ec=%#x", elr, esr,
 		     esr >> 26);
 		if (!(esr & (1u << 10))) { /* Check FnV bit. */
-			dlog(", far=0x%x", read_msr(far_el1));
+			dlog(", far=%#x", read_msr(far_el1));
 		} else {
 			dlog(", far=invalid");
 		}
@@ -176,8 +176,8 @@
 		break;
 
 	default:
-		dlog("Unknown current sync exception pc=0x%x, esr=0x%x, "
-		     "ec=0x%x\n",
+		dlog("Unknown current sync exception pc=%#x, esr=%#x, "
+		     "ec=%#x\n",
 		     elr, esr, esr >> 26);
 	}
 
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index c8e2d90..4cf8118 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -198,10 +198,10 @@
 
 	switch (esr >> 26) {
 	case 0x25: /* EC = 100101, Data abort. */
-		dlog("Data abort: pc=0x%x, esr=0x%x, ec=0x%x", elr, esr,
+		dlog("Data abort: pc=%#x, esr=%#x, ec=%#x", elr, esr,
 		     esr >> 26);
 		if (!(esr & (1u << 10))) { /* Check FnV bit. */
-			dlog(", far=0x%x", read_msr(far_el2));
+			dlog(", far=%#x", read_msr(far_el2));
 		} else {
 			dlog(", far=invalid");
 		}
@@ -210,8 +210,8 @@
 		break;
 
 	default:
-		dlog("Unknown current sync exception pc=0x%x, esr=0x%x, "
-		     "ec=0x%x\n",
+		dlog("Unknown current sync exception pc=%#x, esr=%#x, "
+		     "ec=%#x\n",
 		     elr, esr, esr >> 26);
 		break;
 	}
@@ -477,7 +477,7 @@
 		if (!smc_handler(vcpu, vcpu->regs.r[0], vcpu->regs.r[1],
 				 vcpu->regs.r[2], vcpu->regs.r[3], &ret,
 				 &next)) {
-			dlog("Unsupported SMC call: 0x%x\n", vcpu->regs.r[0]);
+			dlog("Unsupported SMC call: %#x\n", vcpu->regs.r[0]);
 			ret = PSCI_ERROR_NOT_SUPPORTED;
 		}
 
@@ -488,8 +488,8 @@
 	}
 
 	default:
-		dlog("Unknown lower sync exception pc=0x%x, esr=0x%x, "
-		     "ec=0x%x\n",
+		dlog("Unknown lower sync exception pc=%#x, esr=%#x, "
+		     "ec=%#x\n",
 		     vcpu->regs.pc, esr, esr >> 26);
 		break;
 	}
diff --git a/src/arch/aarch64/hypervisor/psci_handler.c b/src/arch/aarch64/hypervisor/psci_handler.c
index b98dd22..5f5f211 100644
--- a/src/arch/aarch64/hypervisor/psci_handler.c
+++ b/src/arch/aarch64/hypervisor/psci_handler.c
@@ -45,12 +45,12 @@
 	case PSCI_VERSION_1_0:
 	case PSCI_VERSION_1_1:
 		/* Supported EL3 PSCI version. */
-		dlog("Found PSCI version: 0x%x\n", el3_psci_version);
+		dlog("Found PSCI version: %#x\n", el3_psci_version);
 		break;
 
 	default:
 		/* Unsupported EL3 PSCI version. Log a warning but continue. */
-		dlog("Warning: unknown PSCI version: 0x%x\n", el3_psci_version);
+		dlog("Warning: unknown PSCI version: %#x\n", el3_psci_version);
 		el3_psci_version = 0;
 		break;
 	}
diff --git a/src/cpu.c b/src/cpu.c
index 9b44d97..8f12b7e 100644
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -289,8 +289,8 @@
 	sl_unlock(&vm->lock);
 
 	if (!resume) {
-		dlog("Stage-2 page fault: pc=0x%x, vmid=%u, vcpu=%u, "
-		     "vaddr=0x%x, ipaddr=0x%x, mode=0x%x\n",
+		dlog("Stage-2 page fault: pc=%#x, vmid=%u, vcpu=%u, "
+		     "vaddr=%#x, ipaddr=%#x, mode=%#x\n",
 		     f->pc, vm->id, vcpu_index(current), f->vaddr, f->ipaddr,
 		     f->mode);
 	}
diff --git a/src/fdt.c b/src/fdt.c
index de54189..0ba1177 100644
--- a/src/fdt.c
+++ b/src/fdt.c
@@ -387,7 +387,7 @@
 				 *)((uintptr_t)hdr +
 				    be32toh(hdr->off_mem_rsvmap));
 		while (e->address || e->size) {
-			dlog("Entry: %p (0x%x bytes)\n", be64toh(e->address),
+			dlog("Entry: %p (%#x bytes)\n", be64toh(e->address),
 			     be64toh(e->size));
 			e++;
 		}
diff --git a/src/load.c b/src/load.c
index 78b5777..602cfa8 100644
--- a/src/load.c
+++ b/src/load.c
@@ -347,7 +347,7 @@
 			return false;
 		}
 
-		dlog("Loaded with %u vcpus, entry at 0x%x\n", cpu,
+		dlog("Loaded with %u vcpus, entry at %#x\n", cpu,
 		     pa_addr(secondary_mem_begin));
 
 		vcpu = vm_get_vcpu(vm, 0);
diff --git a/src/main.c b/src/main.c
index 9a66975..fc6cc55 100644
--- a/src/main.c
+++ b/src/main.c
@@ -79,12 +79,12 @@
 	cpu_module_init(params.cpu_ids, params.cpu_count);
 
 	for (i = 0; i < params.mem_ranges_count; ++i) {
-		dlog("Memory range:  0x%x - 0x%x\n",
+		dlog("Memory range:  %#x - %#x\n",
 		     pa_addr(params.mem_ranges[i].begin),
 		     pa_addr(params.mem_ranges[i].end) - 1);
 	}
 
-	dlog("Ramdisk range: 0x%x - 0x%x\n", pa_addr(params.initrd_begin),
+	dlog("Ramdisk range: %#x - %#x\n", pa_addr(params.initrd_begin),
 	     pa_addr(params.initrd_end) - 1);
 
 	/* Map initrd in, and initialise cpio parser. */
diff --git a/src/mm.c b/src/mm.c
index ee9384a..2a85484 100644
--- a/src/mm.c
+++ b/src/mm.c
@@ -928,11 +928,11 @@
 	/* Locking is not enabled yet so fake it, */
 	struct mm_stage1_locked stage1_locked = mm_stage1_lock_unsafe();
 
-	dlog("text: 0x%x - 0x%x\n", pa_addr(layout_text_begin()),
+	dlog("text: %#x - %#x\n", pa_addr(layout_text_begin()),
 	     pa_addr(layout_text_end()));
-	dlog("rodata: 0x%x - 0x%x\n", pa_addr(layout_rodata_begin()),
+	dlog("rodata: %#x - %#x\n", pa_addr(layout_rodata_begin()),
 	     pa_addr(layout_rodata_end()));
-	dlog("data: 0x%x - 0x%x\n", pa_addr(layout_data_begin()),
+	dlog("data: %#x - %#x\n", pa_addr(layout_data_begin()),
 	     pa_addr(layout_data_end()));
 
 	if (!mm_ptable_init(&ptable, MM_FLAG_STAGE1, ppool)) {
diff --git a/test/vmapi/gicv3/services/systemreg.c b/test/vmapi/gicv3/services/systemreg.c
index ebf85de..280493e 100644
--- a/test/vmapi/gicv3/services/systemreg.c
+++ b/test/vmapi/gicv3/services/systemreg.c
@@ -34,7 +34,7 @@
 TEST_SERVICE(read_systemreg_ctlr)
 {
 	/* Reading ICC_CTLR_EL1 should trap and abort the VM. */
-	dlog("ICC_CTLR_EL1=0x%x\n", read_msr(ICC_CTLR_EL1));
+	dlog("ICC_CTLR_EL1=%#x\n", read_msr(ICC_CTLR_EL1));
 	FAIL("Reading ICC_CTLR_EL1 didn't trap.");
 }
 
