genode/repos/ports/src/virtualbox5
Norman Feske bf92232698 libc: split task.cc into multiple files
This patch is the first step of re-organizing the internal structure of
the libc. The original version involved many direct calls of global
functions (often with side effects) across compilation units, which
made the control flow (e.g., the initialization sequence) hard to
follow.

The new version replaces those ad-hoc interactions with dedicated
interfaces (like suspend.h, resume.h, select.h, current_time.h). The
underlying facilities are provided by the central Libc::Kernel and
selectively propagated to the various compilation units. The latter is
done by a sequence of 'init_*' calls, which eventually will be replaced
by constructor calls.

The addition of new headers increases the chance for name clashes with
existing (public) headers. To disambiguate libc-internal header files
from public headers, this patch moves the former into a new 'internal/'
subdirectory. This makes the include directives easier to follow and the
libc's source-tree structure more tidy.

There are still a few legacies left, which cannot easily be removed
right now (e.g., because noux relies on them). However, the patch moves
those bad apples to legacy.h and legacy.cc, which highlights the
deprecation of those functions.

Issue #3497
2019-11-19 14:10:55 +01:00
..
frontend vbox5: use nitpicker session 2019-04-01 19:33:50 +02:00
generic libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
include Remove virtualbox 4 vmm 2019-02-19 11:08:17 +01:00
nova Exclude higher-level repos from strict warnings 2018-01-17 12:14:36 +01:00
patches vbox5: adjust to run with Fiasco.OC 2019-06-13 12:22:49 +02:00
spec/nova libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
audio.cc vbox5: update to 5.1.24 2018-02-14 20:41:06 +01:00
devices.cc vbox5: remove 'force_ioapic' code 2018-05-30 13:36:15 +02:00
devxhci.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
drivers.cc vbox5: enable audio support 2017-05-31 13:15:59 +02:00
dummies.cc vbox5: revoke VM memory during VM reset 2018-08-28 17:10:58 +02:00
dynlib.cc Remove virtualbox 4 vmm 2019-02-19 11:08:17 +01:00
hm.cc vbox5: revoke VM memory during VM reset 2018-08-28 17:10:58 +02:00
libc.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
logger.cc base: remove dependency from deprecated APIs 2019-02-19 11:08:17 +01:00
mm.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
mm.h Remove virtualbox 4 vmm 2019-02-19 11:08:17 +01:00
network.cpp libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
pdm.cc Remove virtualbox 4 vmm 2019-02-19 11:08:17 +01:00
pgm.cc vbox5: use vm_session interface 2019-05-29 10:20:52 +02:00
README vbox5: remove 'force_ioapic' code 2018-05-30 13:36:15 +02:00
rt.cc vbox: allocate REM memory dense 2019-04-01 19:33:50 +02:00
sup.h vbox5: use vm_session interface 2019-05-29 10:20:52 +02:00
svm.h vbox5: use vm_session interface 2019-05-29 10:20:52 +02:00
target.inc Remove libc_terminal 2019-06-13 12:13:40 +02:00
target.mk vbox5: use vm_session interface 2019-05-29 10:20:52 +02:00
thread.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
unimpl.cc vbox: add 'RTMemDupExTag()' implementation 2019-08-21 12:37:00 +02:00
util.h Remove virtualbox 4 vmm 2019-02-19 11:08:17 +01:00
vcpu_svm.h vbox5: adjust to run with Fiasco.OC 2019-06-13 12:22:49 +02:00
vcpu_vmx.h vbox5: adjust to run with Fiasco.OC 2019-06-13 12:22:49 +02:00
vcpu.h libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
vmm.h vbox5: enable xhci model 2017-05-31 13:15:59 +02:00
vmx.h vbox5: use vm_session interface 2019-05-29 10:20:52 +02:00

VirtualBox configuration options
################################

The configuration requires an attribute named vbox_file with the name of the
vbox configuration to be used (.vbox).

<config vbox_file="file.vbox">

XHCI controller
===============

The virtual XHCI controller can be enabled with the following
configuration option:

<config xhci="yes">

CAPSLOCK
========

<config capslock="ROM">

If the capslock attribute is set to "ROM", virtualbox will open a connection
to the ROM named "capslock" and expect in the top-level node a attribute
'enabled' (yes|no). If the ROM capslock differ from the internal VM capslock,
the VMM will trigger aritifical capslock key events to the VM.