aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch/x86/iorw.c
blob: 308076958c9e79ecc091010b2c8bf849b21e54c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <mini-os/iorw.h>

void iowrite8(volatile void* addr, uint8_t val)
{
   *((volatile uint8_t*)addr) = val;
}
void iowrite16(volatile void* addr, uint16_t val)
{
   *((volatile uint16_t*)addr) = val;
}
void iowrite32(volatile void* addr, uint32_t val)
{
   *((volatile uint32_t*)addr) = val;
}
void iowrite64(volatile void* addr, uint64_t val)
{
   *((volatile uint64_t*)addr) = val;
}

uint8_t ioread8(volatile void* addr)
{
   return *((volatile uint8_t*) addr);
}
uint16_t ioread16(volatile void* addr)
{
   return *((volatile uint16_t*) addr);
}
uint32_t ioread32(volatile void* addr)
{
   return *((volatile uint32_t*) addr);
}
uint64_t ioread64(volatile void* addr)
{
   return *((volatile uint64_t*) addr);
}