L4Re - L4 Runtime Environment
iommu
1 // vi:set ft=cpp: -*- Mode: C++ -*-
2 /* \file
3  * IO-MMU interface description.
4  */
5 #pragma once
6 
7 #include <l4/sys/cxx/ipc_iface>
8 
9 namespace L4 {
16 class Iommu :
17  public Kobject_x<Iommu, Proto_t<L4_PROTO_IOMMU>, Type_info::Demand_t<1> >
18 {
19 public:
30  l4_msgtag_t, bind, (l4_uint64_t src_id, Ipc::Cap<Task> dma_space));
31 
42  l4_msgtag_t, unbind, (l4_uint64_t src_id, Ipc::Cap<Task> dma_space));
43 
44  typedef Typeid::Rpcs_code<l4_umword_t>::F<bind_t, unbind_t> Rpcs;
45 };
46 
47 }
Capability type for RPC interfaces (see L4::Cap<T>).
Definition: ipc_types:541
l4_msgtag_t bind(l4_uint64_t src_id, Ipc::Cap< Task > dma_space)
Associate dma_space with the set of device(s) specified by src_id.
L4 low-level kernel interface.
Generic Kobject inheritance template.
Definition: __typeinfo.h:1195
#define L4_INLINE_RPC(res, name, args, attr...)
Define an inline RPC call (type and callable).
Definition: ipc_iface:458
Interface Definition Language.
Interface for IO-MMUs used for DMA remapping.
Definition: iommu:16
unsigned long long l4_uint64_t
Unsigned 64bit value.
Definition: l4int.h:42
l4_msgtag_t unbind(l4_uint64_t src_id, Ipc::Cap< Task > dma_space)
Remove the association of the given DMA address space from the device(s) specified by src_id...
Message tag data structure.
Definition: types.h:159