|
L4Re - L4 Runtime Environment
|
Dataspace server class. More...
Collaboration diagram for L4Re::Util::Dataspace_svr:Public Member Functions | |
| int | map (l4_addr_t offset, l4_addr_t local_addr, unsigned long flags, l4_addr_t min_addr, l4_addr_t max_addr, L4::Ipc::Snd_fpage &memory) |
| Map a region of the dataspace. More... | |
| virtual int | map_hook (l4_addr_t offs, unsigned long flags, l4_addr_t min, l4_addr_t max) |
| A hook that is called as the first operation in each map request. More... | |
| virtual int | phys (l4_addr_t offset, l4_addr_t &phys_addr, l4_size_t &phys_size) throw () |
| Return physical address for a virtual address. More... | |
| virtual void | take () throw () |
| Take a reference to this dataspace. More... | |
| virtual unsigned long | release () throw () |
| Release a reference to this dataspace. More... | |
| virtual long | copy (l4_addr_t dst_offs, l4_umword_t src_id, l4_addr_t src_offs, unsigned long size) throw () |
| Copy from src dataspace to this destination dataspace. More... | |
| virtual long | clear (unsigned long offs, unsigned long size) const throw () |
| Clear a region in the dataspace. More... | |
| virtual long | allocate (l4_addr_t offset, l4_size_t size, unsigned access) throw () |
| Allocate a region within a dataspace. More... | |
| virtual unsigned long | page_shift () const throw () |
| Define the size of the flexpage to map. More... | |
| virtual bool | is_static () const throw () |
| Return whether the dataspace is static. More... | |
Dataspace server class.
The default implementation of the interface provides a continuously mapped dataspace.
Definition at line 40 of file dataspace_svr.
|
inlinevirtual | ||||||||||||||||||||||||
Allocate a region within a dataspace.
| offset | Offset in the dataspace, in bytes. |
| size | Size of the range, in bytes. |
| access | Access mode with which the memory backing the dataspace region should be allocated. |
| 0 | Success |
| <0 | Error |
Definition at line 168 of file dataspace_svr.
References L4_ENODEV.
Referenced by is_static().
Here is the caller graph for this function:
|
virtual | ||||||||||||||||||||
Clear a region in the dataspace.
| offs | Start of the region |
| size | Size of the region |
| 0 | Success |
| <0 | Error |
Referenced by copy(), and is_static().
Here is the caller graph for this function:
|
inlinevirtual | ||||||||||||||||||||||||||||
Copy from src dataspace to this destination dataspace.
| dst_offs | Offset into the destination dataspace |
| src_id | Local id of the source dataspace |
| src_offs | Offset into the source dataspace |
| size | Number of bytes to copy |
| >=0 | Number of bytes copied |
| <0 | An error occured. The error code may depend on the implementation. |
Definition at line 139 of file dataspace_svr.
References clear(), and L4_ENODEV.
Referenced by is_static().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual | |||||||||||||
Return whether the dataspace is static.
Definition at line 184 of file dataspace_svr.
References allocate(), clear(), copy(), L4::Ipc::Gen_fpage< T >::data(), L4Re::Dataspace::Stats::flags, L4::Ipc::Gen_fpage< T >::id_received(), L4_CAP_FPAGE_W, L4_EACCESS, L4_EINVAL, L4_EOK, L4_EPERM, l4_round_size(), map(), page_shift(), phys(), release(), L4Re::Dataspace::Stats::size, and take().
Here is the call graph for this function:| int L4Re::Util::Dataspace_svr::map | ( | l4_addr_t | offset, |
| l4_addr_t | local_addr, | ||
| unsigned long | flags, | ||
| l4_addr_t | min_addr, | ||
| l4_addr_t | max_addr, | ||
| L4::Ipc::Snd_fpage & | memory | ||
| ) |
Map a region of the dataspace.
| offset | Offset to start within data space | |
| local_addr | Local address to map to. | |
| flags | Map flags, see L4Re::Dataspace::Map_flags. | |
| min_addr | Defines start of receive window. | |
| max_addr | Defines end of receive window. | |
| [out] | memory | Send fpage to map |
| 0 | Success |
| <0 | Error |
Referenced by is_static().
Here is the caller graph for this function:
|
inlinevirtual |
A hook that is called as the first operation in each map request.
| offs | Offs param to map |
| flags | Flags param to map |
| min | Min param to map |
| max | Max param to map |
| <0 | Error and the map request will be aborted with that error. |
| >=0 | Success |
Definition at line 90 of file dataspace_svr.
References phys().
Here is the call graph for this function:
|
inlinevirtual | |||||||||||||
Define the size of the flexpage to map.
Definition at line 176 of file dataspace_svr.
References L4_LOG2_PAGESIZE.
Referenced by is_static().
Here is the caller graph for this function:
|
virtual | ||||||||||||||||||||||||
Return physical address for a virtual address.
| offset | Offset into the dataspace | |
| [out] | phys_addr | Physical address |
| [out] | phys_size | Size of continious physical region |
| 0 | Success |
| <0 | Error |
Referenced by is_static(), and map_hook().
Here is the caller graph for this function:
|
inlinevirtual | |||||||||||||
Release a reference to this dataspace.
Default does nothing and returns always zero.
Definition at line 124 of file dataspace_svr.
Referenced by is_static().
Here is the caller graph for this function:
|
inlinevirtual | |||||||||||||
Take a reference to this dataspace.
Default does nothing.
Definition at line 114 of file dataspace_svr.
Referenced by is_static().
Here is the caller graph for this function: