SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
io.h
Go to the documentation of this file.
1#ifndef __IO_H__
2#define __IO_H__
3
4#include <types.h>
5
6static inline u8_t read8(virtual_addr_t addr) {
7 return (*((volatile u8_t *) (addr)));
8}
9
10static inline u16_t read16(virtual_addr_t addr) {
11 return (*((volatile u16_t *) (addr)));
12}
13
14static inline u32_t read32(virtual_addr_t addr) {
15 return (*((volatile u32_t *) (addr)));
16}
17
18static inline u64_t read64(virtual_addr_t addr) {
19 return (*((volatile u64_t *) (addr)));
20}
21
22static inline void write8(virtual_addr_t addr, u8_t value) {
23 *((volatile u8_t *) (addr)) = value;
24}
25
26static inline void write16(virtual_addr_t addr, u16_t value) {
27 *((volatile u16_t *) (addr)) = value;
28}
29
30static inline void write32(virtual_addr_t addr, u32_t value) {
31 *((volatile u32_t *) (addr)) = value;
32}
33
34static inline void write64(virtual_addr_t addr, u64_t value) {
35 *((volatile u64_t *) (addr)) = value;
36}
37
38#endif /* __IO_H__ */
static void write64(virtual_addr_t addr, u64_t value)
Definition io.h:34
static u16_t read16(virtual_addr_t addr)
Definition io.h:10
static u64_t read64(virtual_addr_t addr)
Definition io.h:18
static void write8(virtual_addr_t addr, u8_t value)
Definition io.h:22
static u32_t read32(virtual_addr_t addr)
Definition io.h:14
static void write16(virtual_addr_t addr, u16_t value)
Definition io.h:26
static void write32(virtual_addr_t addr, u32_t value)
Definition io.h:30
static u8_t read8(virtual_addr_t addr)
Definition io.h:6
unsigned int u32_t
Definition types.h:11
unsigned long long u64_t
Definition types.h:14
unsigned long long virtual_addr_t
Definition types.h:32
unsigned char u8_t
Definition types.h:5
unsigned short u16_t
Definition types.h:8
static uint8_t value
Definition io.h:144