Skip to content

MMIO

include/drivers/mmio.h View source View on GitHub
void cc_mem_io * mmio_map(paddr_t phys, size_t size)
source

mmio_map is for device registers, and mmio_map_dma is for host memory that devices use as DMA (latter cacheable)

void mmio_unmap(void cc_mem_io *vaddr, size_t size)
source
void * mmio_map_dma(paddr_t phys, size_t size)
source
void mmio_init(void)
source
void mmio_write_64(volatile void cc_mem_io *address, uint64_t value)
source
void mmio_write_32(volatile void cc_mem_io *address, uint32_t value)
source
void mmio_write_16(volatile void cc_mem_io *address, uint16_t value)
source
void mmio_write_8(volatile void cc_mem_io *address, uint8_t value)
source
uint64_t mmio_read_64(volatile void cc_mem_io *address)
source
uint32_t mmio_read_32(volatile void cc_mem_io *address)
source
uint16_t mmio_read_16(volatile void cc_mem_io *address)
source
uint8_t mmio_read_8(volatile void cc_mem_io *address)
source
#define MMIO_RANGE_SIZE ((uintptr_t) PAGE_1GB * 64ULL)
source