![]()  | 
  
    L4Re Operating System Framework
    
   Interface and Usage Documentation 
   | 
 
List of driver memory regions assigned to a single L4-VIRTIO transport instance. More...
#include <l4virtio>
Public Types | |
| typedef L4Re::Util::Unique_cap< L4Re::Dataspace > | Ds_cap | 
| type for storing a data-space capability internally  | |
Public Member Functions | |
| Driver_mem_list_t () | |
| Make an empty, zero capacity list.  | |
| void | init (unsigned max) | 
| Make a fresh list with capacity max.   | |
| bool | full () const | 
| Mem_region const * | add (l4_uint64_t drv_base, l4_umword_t size, l4_addr_t offset, Ds_cap &&ds) | 
| Add a new region to the list.   | |
| void | remove (Mem_region const *r) | 
| Remove the given region from the list.   | |
| Mem_region * | find (l4_uint64_t base, l4_umword_t size) const | 
| Find memory region containing the given driver address region.   | |
| void | load_desc (Virtqueue::Desc const &desc, Request_processor const *p, Virtqueue::Desc const **table) const | 
| Default implementation for loading an indirect descriptor.   | |
| void | load_desc (Virtqueue::Desc const &desc, Request_processor const *p, Mem_region const **data) const | 
| Default implementation returning the Driver_mem_region.   | |
| template<typename ARG> | |
| void | load_desc (Virtqueue::Desc const &desc, Request_processor const *p, ARG *data) const | 
| Default implementation returning generic information.   | |
List of driver memory regions assigned to a single L4-VIRTIO transport instance.
      
  | 
  inline | 
      
  | 
  inline | 
Find memory region containing the given driver address region.
| base | Driver base address. | 
| size | Size of the region. | 
Definition at line 703 of file l4virtio.
Referenced by L4virtio::Svr::Driver_mem_list_t< No_custom_data >::load_desc(), L4virtio::Svr::Driver_mem_list_t< No_custom_data >::load_desc(), and L4virtio::Svr::Driver_mem_list_t< No_custom_data >::load_desc().
      
  | 
  inline | 
Definition at line 658 of file l4virtio.
Referenced by L4virtio::Svr::Driver_mem_list_t< No_custom_data >::add().
      
  | 
  inline | 
      
  | 
  inline | 
Default implementation returning generic information.
| ARG | Abstract argument type used with Request_processor::start() and Request_processor::next() to deliver the result of loading a descriptor. This type must provide a constructor taking three arguments: (1) pointer to a Driver_mem_region, (2) the Virtqueue::Desc descriptor, and (3) a pointer to the calling Request_processor. | 
| desc | The descriptor to load | |
| p | The request processor calling us | |
| [out] | data | Shall be assigned to ARG(mem, desc, p) | 
| Bad_descriptor | The descriptor address could not be translated. | 
      
  | 
  inline | 
Default implementation returning the Driver_mem_region.
| desc | The descriptor to load | |
| p | The request processor calling us | |
| [out] | data | Shall be set to a pointer to the Driver_mem_region that covers the descriptor. | 
| Bad_descriptor | The descriptor address could not be translated. | 
      
  | 
  inline | 
Default implementation for loading an indirect descriptor.
| desc | The descriptor to load | |
| p | The request processor calling us | |
| [out] | table | Shall be set to the loaded descriptor table | 
| Bad_descriptor | The descriptor address could not be translated. | 
      
  | 
  inline |