Introduction   API Reference   Files   Index  

Flexpages
[Datatypes, Defines and Macros]

Fpages. More...

Modules

 Fpage types for 32bit
 Fpage types for 64bit

Data Structures

struct  l4_snd_fpage_t
 Send flexpage types. More...

Enumerations

enum  { L4_FPAGE_RO = 0, L4_FPAGE_RW = 1, L4_FPAGE_MAP = 0, L4_FPAGE_GRANT = 1 }
 Flexpage flags. More...
enum  l4_fpage_cacheability_opt_t { L4_FPAGE_CACHE_OPT = 0x1, L4_FPAGE_CACHEABLE = 0x3, L4_FPAGE_BUFFERABLE = 0x5, L4_FPAGE_UNCACHEABLE = 0x1 }
 Flexpage cacheability option. More...
enum  { L4_WHOLE_IOADDRESS_SPACE = 16, L4_IOPORT_MAX = (1L << L4_WHOLE_IOADDRESS_SPACE) }
 Special constants for IO-flexpages. More...
enum  { L4_WHOLE_CAPADDRESS_SPACE = 11, L4_CAP_MAX = (1L << L4_WHOLE_CAPADDRESS_SPACE) }
 Special constants for cap-flexpages. More...

Functions

l4_fpage_t l4_fpage (unsigned long address, unsigned int size, unsigned char write, unsigned char grant)
 Build flexpage descriptor.
l4_fpage_t l4_iofpage (unsigned port, unsigned int size, unsigned char grant)
 Build I/O flexpage descriptor.
int l4_is_io_page_fault (unsigned long address)
 Test if fault address describes I/O pagefault.
l4_fpage_t l4_capfpage (unsigned taskno, unsigned int order, unsigned char grant)
 Build Cap flexpage descriptor.

Detailed Description

Fpages.


Enumeration Type Documentation

anonymous enum

Flexpage flags.

Enumerator:
L4_FPAGE_RO  Read-only flexpage.
L4_FPAGE_RW  Read-write flexpage.
L4_FPAGE_MAP  Map flexpage.
L4_FPAGE_GRANT  Grant flexpage.

Definition at line 27 of file __l4_fpage-common.h.

Flexpage cacheability option.

Enumerator:
L4_FPAGE_CACHE_OPT  Enable the cacheablity option in a send fpage.

L4_FPAGE_CACHEABLE  Cacheablity option to enable caches for the mapping.

L4_FPAGE_BUFFERABLE  Cacheablity option to enable buffered writes for the mapping.

L4_FPAGE_UNCACHEABLE  Cacheablity option to disable caching for the mapping.

Definition at line 39 of file __l4_fpage-common.h.

anonymous enum

Special constants for IO-flexpages.

Enumerator:
L4_WHOLE_IOADDRESS_SPACE  Whole I/O address space size.
L4_IOPORT_MAX  Maximum I/O port address.

Definition at line 58 of file __l4_fpage-common.h.

anonymous enum

Special constants for cap-flexpages.

Enumerator:
L4_WHOLE_CAPADDRESS_SPACE  Whole I/O address space size.
L4_CAP_MAX  Maximum I/O port address.

Definition at line 71 of file __l4_fpage-common.h.


Function Documentation

l4_fpage_t l4_fpage ( unsigned long  address,
unsigned int  size,
unsigned char  write,
unsigned char  grant 
) [inline]

Build flexpage descriptor.

Parameters:
address Flexpage source address
size Flexpage size (log2), L4_WHOLE_ADDRESS_SPACE to specify the whole address space (with address 0)
write Read-write flexpage (L4_FPAGE_RW) or read-only flexpage (L4_FPAGE_RO)
grant Grant flexpage (L4_FPAGE_GRANT) or map flexpage (L4_FPAGE_MAP)
Returns:
Flexpage descriptor.

Definition at line 80 of file __l4_fpage-32bit.h.

References L4_PAGEMASK.

l4_fpage_t l4_iofpage ( unsigned  port,
unsigned int  size,
unsigned char  grant 
) [inline]

Build I/O flexpage descriptor.

Parameters:
port I/O flexpage port base
size I/O flexpage size, L4_WHOLE_IOADDRESS_SPACE to specify the whole I/O address space (with port 0)
grant Grant flexpage (L4_FPAGE_GRANT) or map flexpage (L4_FPAGE_MAP)
Returns:
I/O flexpage descriptor

Definition at line 97 of file __l4_fpage-32bit.h.

int l4_is_io_page_fault ( unsigned long  address  )  [inline]

Test if fault address describes I/O pagefault.

Parameters:
address Fault address
Returns:
!= 0 if address describes I/O pagefault, 0 if not

Definition at line 89 of file __l4_fpage-32bit.h.

References l4_iofpage_struct_t::f, l4_fpage_t::fpage, l4_fpage_t::iofp, and l4_iofpage_struct_t::zero2.

l4_fpage_t l4_capfpage ( unsigned  taskno,
unsigned int  order,
unsigned char  grant 
) [inline]

Build Cap flexpage descriptor.

Parameters:
taskno Capability task number
order Capability number of task, L4_WHOLE_CAPADDRESS_SPACE to specify the whole capability address space (with taskno 0)
grant Grant flexpage (L4_FPAGE_GRANT) or map flexpage (L4_FPAGE_MAP)
Returns:
Cap flexpage descriptor

Definition at line 105 of file __l4_fpage-32bit.h.


Fiasco/L4 System Call C-Bindings Reference Manual,  © 1996-2008