| #pragma once |
| |
| #include <stdint.h> |
| |
| __BEGIN_DECLS |
| |
| static inline uint8_t read_mmreg8(uintptr_t reg) |
| { |
| return *((volatile uint8_t*)reg); |
| } |
| |
| static inline uint8_t read_mmreg16(uintptr_t reg) |
| { |
| return *((volatile uint16_t*)reg); |
| } |
| |
| static inline uint32_t read_mmreg32(uintptr_t reg) |
| { |
| return *((volatile uint32_t*)reg); |
| } |
| |
| static inline uint64_t read_mmreg64(uintptr_t reg) |
| { |
| return *((volatile uint64_t*)reg); |
| } |
| |
| static inline void write_mmreg8(uintptr_t reg, uint8_t val) |
| { |
| *((volatile uint8_t*)reg) = val; |
| } |
| |
| static inline void write_mmreg16(uintptr_t reg, uint16_t val) |
| { |
| *((volatile uint16_t*)reg) = val; |
| } |
| |
| static inline void write_mmreg32(uintptr_t reg, uint32_t val) |
| { |
| *((volatile uint32_t*)reg) = val; |
| } |
| |
| static inline void write_mmreg64(uintptr_t reg, uint64_t val) |
| { |
| *((volatile uint64_t*)reg) = val; |
| } |
| |
| __END_DECLS |