L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
__vm-arm.h
Go to the documentation of this file.
1// vi:set ft=cpp: -*- Mode: C++ -*-
6/*
7 * (c) 2018 Adam Lackorzynski <adam@l4re.org>
8 *
9 * This file is part of TUD:OS and distributed under the terms of the
10 * GNU General Public License 2.
11 * Please see the COPYING-GPL-2 file for details.
12 *
13 * As a special exception, you may use this file as part of a free software
14 * library without restriction. Specifically, if other files instantiate
15 * templates or use macros or inline functions from this file, or you compile
16 * this file and link it with other files to produce an executable, this
17 * file does not by itself cause the resulting executable to be covered by
18 * the GNU General Public License. This exception does not however
19 * invalidate any other reasons why the executable file might be covered by
20 * the GNU General Public License.
21 */
22#pragma once
23
24#include <l4/sys/task>
25
26namespace L4 {
27
28class Vm : public Kobject_t<Vm, Task, L4_PROTO_VM>
29{
30public:
41 l4_msgtag_t vgicc_map(l4_fpage_t const vgicc_fpage,
42 l4_utcb_t *utcb = l4_utcb()) noexcept
43 { return l4_task_vgicc_map_u(cap(), vgicc_fpage, utcb); }
44
45protected:
46 Vm();
47
48private:
49 Vm(Vm const &);
50 void operator = (Vm const &);
51};
52
53}
Helper class to create an L4Re interface class that is derived from a single base class.
Definition __typeinfo.h:761
l4_cap_idx_t cap() const noexcept
Return capability selector.
Definition kobject:79
Virtual machine host address space.
Definition __vm-arm.h:29
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.
Definition __vm-arm.h:41
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
Definition utcb.h:67
l4_utcb_t * l4_utcb(void) L4_NOTHROW L4_PURE
Get the UTCB address.
Definition utcb.h:340
L4 low-level kernel interface.
Definition io_regblock.h:19
Message tag data structure.
Definition types.h:164
Common task related definitions.
L4 flexpage type.
Definition __l4_fpage.h:85