Index: uspace/lib/c/generic/ddi.c
===================================================================
--- uspace/lib/c/generic/ddi.c	(revision 16bfcd3dd8e60cc153482fb448ef8388600e599b)
+++ uspace/lib/c/generic/ddi.c	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
@@ -338,4 +338,10 @@
 }
 
+void pio_write_64(ioport64_t *reg, uint64_t val)
+{
+	pio_trace_log(reg, val, true);
+	arch_pio_write_64(reg, val);
+}
+
 uint8_t pio_read_8(const ioport8_t *reg)
 {
@@ -359,4 +365,11 @@
 }
 
+uint64_t pio_read_64(const ioport64_t *reg)
+{
+	const uint64_t val = arch_pio_read_64(reg);
+	pio_trace_log(reg, val, false);
+	return val;
+}
+
 /** @}
  */
Index: uspace/lib/c/generic/pio_trace.c
===================================================================
--- uspace/lib/c/generic/pio_trace.c	(revision 16bfcd3dd8e60cc153482fb448ef8388600e599b)
+++ uspace/lib/c/generic/pio_trace.c	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
@@ -91,5 +91,5 @@
 
 
-void pio_trace_log(const volatile void *r, uint32_t val, bool write)
+void pio_trace_log(const volatile void *r, uint64_t val, bool write)
 {
 	pio_regions_t *regions = get_regions();
