diff --git a/include/arch/x86/intel64/arch.h b/include/arch/x86/intel64/arch.h
index 0bc72b7..ed726a2 100644
--- a/include/arch/x86/intel64/arch.h
+++ b/include/arch/x86/intel64/arch.h
@@ -18,6 +18,28 @@
 #endif
 
 #ifndef _ASMLANGUAGE
+
+static ALWAYS_INLINE void sys_write64(uint64_t data, mm_reg_t addr)
+{
+	__asm__ volatile("movq %0, %1"
+			 :
+			 : "r"(data), "m" (*(volatile uint64_t *)
+					   (uintptr_t) addr)
+			 : "memory");
+}
+
+static ALWAYS_INLINE uint32_t sys_read64(mm_reg_t addr)
+{
+	uint64_t ret;
+
+	__asm__ volatile("movq %1, %0"
+			 : "=r"(ret)
+			 : "m" (*(volatile uint64_t *)(uintptr_t) addr)
+			 : "memory");
+
+	return ret;
+}
+
 static ALWAYS_INLINE unsigned int arch_irq_lock(void)
 {
 	unsigned long key;
diff --git a/include/sys/sys_io.h b/include/sys/sys_io.h
index 24de867..95b7d4a 100644
--- a/include/sys/sys_io.h
+++ b/include/sys/sys_io.h
@@ -211,6 +211,28 @@
  * @return the 32 bits read
  */
 
+/**
+ * @fn static inline void sys_write64(uint64_t data, mm_reg_t addr);
+ * @brief Write 64 bits to a memory mapped register
+ *
+ * This function writes 64 bits to the given memory mapped register.
+ *
+ * @param data the 64 bits to write
+ * @param addr the memory mapped register address where to write the 64 bits
+ */
+
+/**
+ * @fn static inline uint64_t sys_read64(mm_reg_t addr);
+ * @brief Read 64 bits from a memory mapped register
+ *
+ * This function reads 64 bits from the given memory mapped register.
+ *
+ * @param addr the memory mapped register address from where to read
+ *        the 64 bits
+ *
+ * @return the 64 bits read
+ */
+
 /* Memory bits manipulation functions */
 
 /**
