Files | |
file | ddi.h |
file | ddi_arg.h |
file | ddi.c |
Device Driver Interface functions. | |
Data Structures | |
struct | ddi_memarg_t |
struct | ddi_ioarg_t |
Functions | |
__native | sys_physmem_map (__native phys_base, __native virt_base, __native pages, __native flags) |
__native | sys_iospace_enable (ddi_ioarg_t *uspace_io_arg) |
__native | sys_preempt_control (int enable) |
int | ddi_iospace_enable_arch (task_t *task, __address ioaddr, size_t size) |
static int | ddi_physmem_map (__address pf, __address vp, count_t pages, int flags) |
static int | ddi_iospace_enable (task_id_t id, __address ioaddr, size_t size) |
|
Enable range of I/O space for task.
Definition at line 113 of file ddi.c. References cap_get(), CAP_IO_MANAGER, ddi_iospace_enable_arch(), ENOENT, EPERM, interrupts_disable(), interrupts_restore(), spinlock_lock, spinlock_unlock(), TASK, task_find_by_id(), and tasks_lock. Referenced by sys_iospace_enable(). Here is the call graph for this function: ![]() |
|
Enable I/O space range for task. Interrupts are disabled and task is locked.
Definition at line 59 of file ddi.c. References task::arch, bitmap_clear_range(), bitmap_copy(), bitmap_initialize(), bitmap_set_range(), bitmap_t::bits, BITS2BYTES, ENOENT, ENOMEM, FRAME_ATOMIC, free(), IO_PORTS, task_arch_t::iomap, task_arch_t::iomapver, malloc(), and bitmap_t::map. Referenced by ddi_iospace_enable(). Here is the call graph for this function: ![]() |
|
Map piece of physical memory into virtual address space of current task.
Definition at line 65 of file ddi.c. References as_area_create(), cap_get(), CAP_MEM_MANAGER, ENOMEM, EPERM, interrupts_disable(), interrupts_restore(), PAGE_SIZE, phys_backend, spinlock_lock, spinlock_unlock(), and TASK. Referenced by sys_physmem_map(). Here is the call graph for this function: ![]() |
|
Wrapper for SYS_ENABLE_IOSPACE syscall.
Definition at line 175 of file ddi.c. References copy_from_uspace(), ddi_iospace_enable(), ddi_ioarg_t::ioaddr, ddi_ioarg_t::size, and ddi_ioarg_t::task_id. Here is the call graph for this function: ![]() |
|
Wrapper for SYS_MAP_PHYSMEM syscall.
Definition at line 161 of file ddi.c. References ALIGN_DOWN, ddi_physmem_map(), FRAME_SIZE, and PAGE_SIZE. Here is the call graph for this function: ![]() |
|
Disable or enable preemption.
Definition at line 195 of file ddi.c. References cap_get(), CAP_PREEMPT_CONTROL, EPERM, preemption_disable(), preemption_enable(), and TASK. Here is the call graph for this function: ![]() |