From b9ffcadc20cd2725a07b15dee23a30e6873ad169 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Tue, 27 Jun 2017 10:03:42 -0700 Subject: [PATCH] add 8-bit and 16-bit MMIO read/write functions --- tests/mmio.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/mmio.h b/tests/mmio.h index b887b2b5..c37bff07 100644 --- a/tests/mmio.h +++ b/tests/mmio.h @@ -3,6 +3,30 @@ #include +static inline void reg_write8(uintptr_t addr, uint8_t data) +{ + volatile uint8_t *ptr = (volatile uint8_t *) addr; + *ptr = data; +} + +static inline uint8_t reg_read8(uintptr_t addr) +{ + volatile uint8_t *ptr = (volatile uint8_t *) addr; + return *ptr; +} + +static inline void reg_write16(uintptr_t addr, uint16_t data) +{ + volatile uint16_t *ptr = (volatile uint16_t *) addr; + *ptr = data; +} + +static inline uint16_t reg_read16(uintptr_t addr) +{ + volatile uint16_t *ptr = (volatile uint16_t *) addr; + return *ptr; +} + static inline void reg_write32(uintptr_t addr, uint32_t data) { volatile uint32_t *ptr = (volatile uint32_t *) addr;