arm64: Add read64() and write64()

Change-Id: I89cf4b996405af616f54cf2d9fabd4e258352b03
Signed-off-by: David Hendricks <dhendricks@fb.com>
Reviewed-on: https://review.coreboot.org/23036
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/arch/arm64/include/armv8/arch/io.h b/src/arch/arm64/include/armv8/arch/io.h
index f60e1f4d..31615f7 100644
--- a/src/arch/arm64/include/armv8/arch/io.h
+++ b/src/arch/arm64/include/armv8/arch/io.h
@@ -51,6 +51,12 @@
 	return *(volatile uint32_t *)addr;
 }
 
+static inline uint64_t read64(const void *addr)
+{
+	dmb();
+	return *(volatile uint64_t *)addr;
+}
+
 static inline void write8(void *addr, uint8_t val)
 {
 	dmb();
@@ -72,4 +78,11 @@
 	dmb();
 }
 
+static inline void write64(void *addr, uint64_t val)
+{
+	dmb();
+	*(volatile uint64_t *)addr = val;
+	dmb();
+}
+
 #endif	/* __ARCH_IO_H */