L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
L4::Vm Class Reference

Virtual machine host address space. More...

#include <vm>

Inheritance diagram for L4::Vm:
Collaboration diagram for L4::Vm:

Additional Inherited Members

Public Member Functions inherited from L4::Task
l4_msgtag_t map (Cap< Task > const &src_task, l4_fpage_t const &snd_fpage, l4_umword_t snd_base, l4_utcb_t *utcb=l4_utcb()) noexcept
 Map resources available in the source task to a destination task.
l4_msgtag_t unmap (l4_fpage_t const &fpage, l4_umword_t map_mask, l4_utcb_t *utcb=l4_utcb()) noexcept
 Revoke rights from the task.
l4_msgtag_t unmap_batch (l4_fpage_t const *fpages, unsigned num_fpages, l4_umword_t map_mask, l4_utcb_t *utcb=l4_utcb()) noexcept
 Revoke rights from a task.
l4_msgtag_t delete_obj (L4::Cap< void > obj, l4_utcb_t *utcb=l4_utcb()) noexcept
 Release capability and delete object.
l4_msgtag_t release_cap (L4::Cap< void > cap, l4_utcb_t *utcb=l4_utcb()) noexcept
 Release object capability.
l4_msgtag_t cap_valid (Cap< void > const &cap, l4_utcb_t *utcb=l4_utcb()) noexcept
 Check whether a capability is present (refers to an object).
l4_msgtag_t cap_equal (Cap< void > const &cap_a, Cap< void > const &cap_b, l4_utcb_t *utcb=l4_utcb()) noexcept
 Test whether two capabilities point to the same object with the same permissions (only considering selected permissions).
l4_msgtag_t add_ku_mem (l4_fpage_t *fpage, l4_utcb_t *utcb=l4_utcb()) noexcept
 Add kernel-user memory.
Public Member Functions inherited from L4::Kobject
l4_msgtag_t dec_refcnt (l4_mword_t diff, l4_utcb_t *utcb=l4_utcb())
 Decrement the in kernel reference counter for the object.
Protected Types inherited from L4::Kobject_t< Vm, Task, L4_PROTO_VM >
typedef Vm Class
 The target interface type (inheriting from Kobject_t).
typedef Typeid::Iface< PROTO, Vm__Iface
 The interface description for the derived class.
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Task::__Iface_list > __Iface_list
 The list of all RPC interfaces provided directly or through inheritance.
Protected Types inherited from L4::Kobject_t< Task, Kobject, L4_PROTO_TASK, Type_info::Demand_t< 2 > >
typedef Task Class
 The target interface type (inheriting from Kobject_t).
typedef Typeid::Iface< PROTO, Task__Iface
 The interface description for the derived class.
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Kobject::__Iface_list > __Iface_list
 The list of all RPC interfaces provided directly or through inheritance.
Protected Member Functions inherited from L4::Kobject_t< Vm, Task, L4_PROTO_VM >
L4::Cap< Classc () const noexcept
 Get the capability to ourselves.
Protected Member Functions inherited from L4::Kobject_t< Task, Kobject, L4_PROTO_TASK, Type_info::Demand_t< 2 > >
L4::Cap< Classc () const noexcept
 Get the capability to ourselves.
Protected Member Functions inherited from L4::Kobject
l4_cap_idx_t cap () const noexcept
 Return capability selector.
Static Protected Member Functions inherited from L4::Kobject_t< Vm, Task, L4_PROTO_VM >
static void __check_protocols__ () noexcept
 Helper to check for protocol conflicts.
Static Protected Member Functions inherited from L4::Kobject_t< Task, Kobject, L4_PROTO_TASK, Type_info::Demand_t< 2 > >
static void __check_protocols__ () noexcept
 Helper to check for protocol conflicts.

Detailed Description

Virtual machine host address space.

L4::Vm is a specialisation of L4::Task, used for virtual machines. The microkernel employs an appropriate page-table format for hosting VMs, such as ePT on VT-x. On Arm, it offers a call to make the virtual GICC area available to the VM.

Definition at line 30 of file vm.


The documentation for this class was generated from the following file:
  • l4/sys/vm