Resource Allocation


Functions

L4_CV l4_addr_t l4io_request_mem_region (l4_addr_t start, l4_size_t len, int flags)
 Request I/O memory region.
L4_CV l4_addr_t l4io_request_mem_region_name (const char *name, const int index)
 Request I/O memory region.
L4_CV int l4io_get_irq_name (const char *name, const int index)
 Get IRQ number by name.
L4_CV int l4io_search_mem_region (l4_addr_t addr, l4_addr_t *start, l4_size_t *len)
 Search I/O memory region for an address.
L4_CV int l4io_release_mem_region (l4_addr_t start, l4_size_t len)
 Release I/O memory region.
L4_CV int l4io_request_region (l4_uint16_t start, l4_uint16_t len)
 Request I/O port region.
L4_CV int l4io_release_region (l4_uint16_t start, l4_uint16_t len)
 Release I/O port region.
L4_CV int l4io_request_dma (unsigned int channel)
 Request ISA DMA channel.
L4_CV int l4io_release_dma (unsigned int channel)
 Release ISA DMA channel.

Detailed Description

Allocation and deallocation of shared system resources - ports, memory, ISA DMA channels.

Function Documentation

L4_CV int l4io_get_irq_name ( const char *  name,
const int  index 
)

Get IRQ number by name.

Parameters:
name name of the IRQ.
index index of the IRQ in the descriptor, starting with 0
Returns:
IRQ number; -1 on error

L4_CV int l4io_release_dma ( unsigned int  channel  ) 

Release ISA DMA channel.

Parameters:
channel ISA DMA channel number
Returns:
0 on success; negative error code otherwise

L4_CV int l4io_release_mem_region ( l4_addr_t  start,
l4_size_t  len 
)

Release I/O memory region.

Parameters:
start begin of mem region
len size of mem region
Returns:
0 on success; negative error code otherwise

L4_CV int l4io_release_region ( l4_uint16_t  start,
l4_uint16_t  len 
)

Release I/O port region.

Parameters:
start begin of port region
len size of port region
Returns:
0 on success; negative error code otherwise

L4_CV int l4io_request_dma ( unsigned int  channel  ) 

Request ISA DMA channel.

Parameters:
channel ISA DMA channel number
Returns:
0 on success; negative error code otherwise

L4_CV l4_addr_t l4io_request_mem_region ( l4_addr_t  start,
l4_size_t  len,
int  flags 
)

Request I/O memory region.

Parameters:
start begin of mem region
len size of mem region
flags bit 0=1: map region cachable otherwise uncacheable bit 1=1: allocate MTRR and enable write combining
Returns:
virtual address of mapped region; 0 on error

L4_CV l4_addr_t l4io_request_mem_region_name ( const char *  name,
const int  index 
)

Request I/O memory region.

Parameters:
name name of the I/O memory region
index index of memory region in the descriptor, starting with 0
Returns:
virtual address of mapped region; 0 on error

L4_CV int l4io_request_region ( l4_uint16_t  start,
l4_uint16_t  len 
)

Request I/O port region.

Parameters:
start begin of port region
len size of port region
Returns:
0 on success; negative error code otherwise

L4_CV int l4io_search_mem_region ( l4_addr_t  addr,
l4_addr_t *  start,
l4_size_t *  len 
)

Search I/O memory region for an address.

Parameters:
addr Address to search for
Return values:
start Start of memory region if found
len Length of memory region if found.
Returns:
0 on success; negative error code otherwise


generic_io Reference Manual, written by Christian Helmuth  © 2003 Technische Universitaet Dresden