Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
IOForge::IOUtils Class Reference

#include <ioforge.hpp>

Static Public Member Functions

static void * DMAAlloc (size_t size, uintptr_t *paddr)
 
static void sleep (uint32_t us)
 
static void isr_map (uint8_t irq, uint8_t vector)
 
static uint16_t irq_alloc_entry ()
 
static void irq_register (uint8_t n, void *handler)
 
static uint32_t isr_get_vector (uint8_t irq)
 
static void * alloc (size_t size)
 
static void free (void *ptr, size_t size)
 
static void DMAFree (void *paddr, void *vaddr, size_t size)
 
static void memset (void *ptr, uint8_t value, size_t num)
 
static void memcpy (void *dst, void *src, size_t num)
 
static void strcopy (char *dst, char *src)
 
static void strncopy (char *dst, char *src, size_t len)
 

Detailed Description

Definition at line 20 of file ioforge.hpp.

Member Function Documentation

◆ alloc()

static void * IOForge::IOUtils::alloc ( size_t size)
inlinestatic

Definition at line 39 of file ioforge.hpp.

References ioforge_alloc(), and size.

Referenced by __attribute__(), __attribute__(), and __attribute__().

◆ DMAAlloc()

static void * IOForge::IOUtils::DMAAlloc ( size_t size,
uintptr_t * paddr )
inlinestatic

Definition at line 23 of file ioforge.hpp.

References ioforge_dma_alloc(), and size.

Referenced by EHCIPipe::open(), and AHCIModule::port_configure().

◆ DMAFree()

static void IOForge::IOUtils::DMAFree ( void * paddr,
void * vaddr,
size_t size )
inlinestatic

Definition at line 45 of file ioforge.hpp.

References ioforge_dma_free(), and size.

◆ free()

static void IOForge::IOUtils::free ( void * ptr,
size_t size )
inlinestatic

Definition at line 42 of file ioforge.hpp.

References ioforge_free(), ptr, and size.

◆ irq_alloc_entry()

static uint16_t IOForge::IOUtils::irq_alloc_entry ( )
inlinestatic

Definition at line 30 of file ioforge.hpp.

References ioforge_irq_alloc_entry().

◆ irq_register()

static void IOForge::IOUtils::irq_register ( uint8_t n,
void * handler )
inlinestatic

Definition at line 33 of file ioforge.hpp.

References ioforge_irq_register().

◆ isr_get_vector()

static uint32_t IOForge::IOUtils::isr_get_vector ( uint8_t irq)
inlinestatic

Definition at line 36 of file ioforge.hpp.

References ioforge_isr_get_vector().

◆ isr_map()

static void IOForge::IOUtils::isr_map ( uint8_t irq,
uint8_t vector )
inlinestatic

Definition at line 27 of file ioforge.hpp.

References ioforge_map_isr(), and vector.

◆ memcpy()

static void IOForge::IOUtils::memcpy ( void * dst,
void * src,
size_t num )
inlinestatic

Definition at line 53 of file ioforge.hpp.

References dst, and ioforge_memcpy().

◆ memset()

static void IOForge::IOUtils::memset ( void * ptr,
uint8_t value,
size_t num )
inlinestatic

Definition at line 49 of file ioforge.hpp.

References ioforge_memset(), ptr, and value.

Referenced by EHCIPipe::arm(), EHCIPipe::open(), and AHCIModule::port_configure().

◆ sleep()

static void IOForge::IOUtils::sleep ( uint32_t us)
inlinestatic

Definition at line 26 of file ioforge.hpp.

References ioforge_sleep().

Referenced by AHCIModule::port_power_off(), and AHCIModule::port_power_on().

◆ strcopy()

static void IOForge::IOUtils::strcopy ( char * dst,
char * src )
inlinestatic

Definition at line 56 of file ioforge.hpp.

References dst, and IOforgeStrCopy().

Referenced by __attribute__(), __attribute__(), and __attribute__().

◆ strncopy()

static void IOForge::IOUtils::strncopy ( char * dst,
char * src,
size_t len )
inlinestatic

Definition at line 59 of file ioforge.hpp.

References dst, IOforgeStrnCopy(), and len.


The documentation for this class was generated from the following file: