minios: Add ioread/iowrite functions to mini-os

This patch adds iowritexx() and ioreadxx() functions for interacting
with hardware memory to mini-os. The functions are available in a header
iorw.h

Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyons.org>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
Matthew Fioravante committed 2012-10-08 14:36:28 +01:00
1 parent 98febed0b6
commit 5691487f31
2 files changed
+51

No files matched your search

+35
View File
@@ -0,0 +1,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);
}
+16
View File
@@ -0,0 +1,16 @@
#ifndef MINIOS_IORW_H
#define MINIOS_IORW_H
#include <mini-os/types.h>
void iowrite8(volatile void* addr, uint8_t val);
void iowrite16(volatile void* addr, uint16_t val);
void iowrite32(volatile void* addr, uint32_t val);
void iowrite64(volatile void* addr, uint64_t val);
uint8_t ioread8(volatile void* addr);
uint16_t ioread16(volatile void* addr);
uint32_t ioread32(volatile void* addr);
uint64_t ioread64(volatile void* addr);
#endif
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.