L4Re Operating System Framework
Interface and Usage Documentation
|
Virtual machine host address space. More...
#include <vm>
Public Member Functions | |
l4_msgtag_t | vgicc_map (l4_fpage_t const vgicc_fpage, l4_utcb_t *utcb=l4_utcb()) noexcept |
Map the GIC virtual CPU interface page to the task in case Fiasco detected a GIC version 2. | |
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 rights. | |
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. | |
Additional Inherited Members | |
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 Base::__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 Base::__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< Class > | c () 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< Class > | c () 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. | |
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 28 of file __vm-arm.h.
|
inlinenoexcept |
Map the GIC virtual CPU interface page to the task in case Fiasco detected a GIC version 2.
vgicc_fpage | Flexpage that describes an area in the address space of the destination task to map the vGICC page to. |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
Definition at line 41 of file __vm-arm.h.
References L4::Kobject::cap().