mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
98febed0b6
commit
5691487f31
2 files changed
+51
No files matched your search
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||