From e5b2453f91a1795394cb8c3c51d4f0e1dce7cb22 Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Wed, 10 Jul 2019 16:04:50 +0200 Subject: libpayload: add read64() and write64() Change-Id: I6febf13ed54a7707f5a99d3d2715c36e18517c12 Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/coreboot/+/34206 Reviewed-by: Paul Menzel Reviewed-by: Patrick Rudolph Tested-by: build bot (Jenkins) --- payloads/libpayload/include/x86/arch/io.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'payloads/libpayload/include/x86') diff --git a/payloads/libpayload/include/x86/arch/io.h b/payloads/libpayload/include/x86/arch/io.h index c417ce0c66..46836d9f7b 100644 --- a/payloads/libpayload/include/x86/arch/io.h +++ b/payloads/libpayload/include/x86/arch/io.h @@ -64,6 +64,11 @@ static inline __attribute__((always_inline)) uint32_t read32(const volatile void return *((volatile uint32_t *)(addr)); } +static inline __attribute__((always_inline)) uint64_t read64(const volatile void *addr) +{ + return *((volatile uint64_t *)(addr)); +} + static inline __attribute__((always_inline)) void write8(volatile void *addr, uint8_t value) { *((volatile uint8_t *)(addr)) = value; @@ -79,6 +84,11 @@ static inline __attribute__((always_inline)) void write32(volatile void *addr, u *((volatile uint32_t *)(addr)) = value; } +static inline __attribute__((always_inline)) void write64(volatile void *addr, uint64_t value) +{ + *((volatile uint64_t *)(addr)) = value; +} + static inline unsigned int inl(int port) { unsigned long val; -- cgit v1.2.3