genode/repos/ports/src/virtualbox
Norman Feske 4da52517c1 Simpify startup of dynamically linked binaries
This patch removes the component_entry_point library, which used to
proved a hook for the libc to intercept the call of the
'Component::construct' function. The mechansim has several shortcomings
(see the discussion in the associated issue) and was complex. So we
eventually discarded the approach in favor of the explicit handling of
the startup.

A regular Genode component provides a 'Component::construct' function,
which is determined by the dynamic linker via a symbol lookup.
For the time being, the dynamic linker falls back to looking up a 'main'
function if no 'Component::construct' function could be found.

The libc provides an implementation of 'Component::construct', which
sets up the libc's task handling and finally call the function
'Libc::Component::construct' from the context of the appllication task.
This function is expected to be provided by the libc-using application.
Consequently, Genode components that use the libc have to implement the
'Libc::Component::construct' function.

The new 'posix' library provides an implementation of
'Libc::Component::construct' that calls a main function. Hence, POSIX
programs that merely use the POSIX API merely have to add 'posix' to the
'LIBS' declaration in their 'target.mk' file. Their execution starts at
'main'.

Issue #2199
2017-01-13 13:06:52 +01:00
..
accloff vbox: use emt thread names 2016-10-21 12:39:31 +02:00
frontend Simpify startup of dynamically linked binaries 2017-01-13 13:06:52 +01:00
include vbox: update to 5.1.8 2016-11-25 15:27:29 +01:00
patches vbox: update to 5.1.8 2016-11-25 15:27:29 +01:00
spec nova: support to run VBox vCPUs within same PD 2016-11-30 13:38:06 +01:00
audiodrv.cpp base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
devices.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
devxhci.cc Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
drivers.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
dummies.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
dynlib.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
guest_memory.h vbox4: avoid iommio assertion 2016-11-30 13:38:06 +01:00
hm.cc vbox4: bring up all vCPUs 2016-10-21 12:39:30 +02:00
iommio.cc vbox4: avoid iommio assertion 2016-11-30 13:38:06 +01:00
ioport.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
libc.cc vbox: remove debug messages 2016-10-21 12:39:33 +02:00
logger.cc vfs: pass Env and allocator when creating file-systems 2016-11-08 15:26:31 +01:00
mm.cc vbox: alloc memory of RTMem*Alloc within 2G window 2016-10-21 12:39:33 +02:00
mm.h Adapt high-level components to new parent API 2016-11-30 13:37:03 +01:00
network.cpp vbox: improve network backend 2016-11-25 15:27:28 +01:00
pdm.cc base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
pgm.cc Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
README vbox: add config option to enforce use of IOAPIC 2016-06-28 11:10:45 +02:00
rt.cc vbox: alloc memory of RTMem*Alloc within 2G window 2016-10-21 12:39:33 +02:00
sup.cc vbox: map SUPSemEvent* to RTSemEvent* 2016-10-21 12:39:33 +02:00
sup.h Adapt high-level components to new parent API 2016-11-30 13:37:03 +01:00
target.mk base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
thread.cc Adapt high-level components to new parent API 2016-11-30 13:37:03 +01:00
unimpl.cc vbox4: bring up all vCPUs 2016-10-21 12:39:30 +02:00
util.h vbox: update to virtualbox 4.3.16 2014-11-28 12:02:40 +01:00
vmm_memory.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
vmm_region.h vbox: re-enable chunk-wise memory allocation 2016-08-29 17:29:33 +02:00

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

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

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

<config xhci="yes">

IOAPIC
======

The virtual PCI model delivers IRQs to the PIC by default and to the IOAPIC
only if the guest operating system selected the IOAPIC with the '_PIC' ACPI
method and if it called the '_PRT' ACPI method afterwards. When running a
guest operating system which uses the IOAPIC, but does not call these ACPI
methods (for example Genode/NOVA), the configuration option

<config force_ioapic="yes">

enforces the delivery of PCI IRQs to the IOAPIC.