Commit Graph

27 Commits

Author SHA1 Message Date
Alexander Boettcher
e99eed3c8e vbox: show guest additions version
to detect easiler that something may be wrong. The guest addition version
should match the version we have ported.

Issue #2306
2017-03-15 12:32:24 +01:00
Alexander Boettcher
af3c238ce1 vbox: avoid null access in input handling
that happened during early bootup.

The signal about input events may arrive before keyboard and mouse is set
(due wait_and_dispatch_one_signal called from a started pthread and ep still
 not done with the initialisation)

Issue #2306
2017-03-15 12:32:24 +01:00
Norman Feske
29b8d609c9 Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
Alexander Boettcher
3226dd0649 vbox: remove signal receiver usage for fb & input
avoids deadlocks due to new libc and vfs usage
2017-02-28 12:59:23 +01:00
Alexander Boettcher
9ba24c0722 vbox: use with_libc 2017-02-28 12:59:19 +01:00
Alexander Boettcher
eea00ab8b0 vbox: provide initial memory buffer
broken due to changes of

libc: API transition
Issue #1987

For now provide a initial memory buffer for allocation of static
constructors and of malloc calls out of the libc during early
libc initialization until actual vbox code is executed having the Env
pointer.
2017-02-23 14:54:44 +01:00
Norman Feske
d1df1dbd87 libc: API transition (fix deprecated warnings)
Issue #1987
2017-02-07 11:12:24 +01:00
Alexander Boettcher
0a32fcf4e0 vbox: avoid using deprecated env()
Issue #1987
2017-01-13 13:07:08 +01:00
Emery Hemingway
745eb89237 lib/component: pass extended Libc::Env
Libc::Env is the Genode::Env interface extended to cover access
to the XML content of the 'config' ROM and a VFS instance. This
deduplicates the burden of components to attain and manage
these resources.

Fix #2217
Ref #1987
2017-01-13 13:07:01 +01:00
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
Alexander Boettcher
d3d4381128 nova: support to run VBox vCPUs within same PD
Issue #2173
2016-11-30 13:38:06 +01:00
Alexander Boettcher
5f0008cbc9 vbox: update to 5.1.10
Issue #2059
2016-11-30 13:37:05 +01:00
Norman Feske
b44f0554bd Adapt high-level components to new parent API
This patch adjusts the various users of the 'Child' API to the changes
on the account of the new non-blocking parent interface. It also removes
the use of the no-longer-available 'Connection::KEEP_OPEN' feature.

With the adjustment, we took the opportunity to redesign several
components to fit the non-blocking execution model much better, in
particular the demo applications.

Issue #2120
2016-11-30 13:37:03 +01:00
Alexander Boettcher
f4a7223bbf vbox: update to 5.1.8
Issue #2059
2016-11-25 15:27:29 +01:00
Emery Hemingway
ddf3716cff vfs: pass Env and allocator when creating file-systems
Fix #1891
2016-11-08 15:26:31 +01:00
Alexander Boettcher
a0c9915cee vbox: remove debug messages
stay more silent

Issue #2110
2016-10-21 12:39:33 +02:00
Alexander Boettcher
a5ff866ef7 vbox: map SUPSemEvent* to RTSemEvent*
and drop usage of Genode::Semaphore.

Issue #2110
2016-10-21 12:39:33 +02:00
Alexander Boettcher
07b994c8bd vbox: alloc memory of RTMem*Alloc within 2G window
Fixes #2116
2016-10-21 12:39:33 +02:00
Alexander Boettcher
08185e962f vbox: better lapic tpr support
Fixes #2110
2016-10-21 12:39:31 +02:00
Alexander Boettcher
a8495a0dfe vbox: use emt thread names
- eases debugging on smp setups

Issue #2110
2016-10-21 12:39:31 +02:00
Alexander Boettcher
14ef7a5312 vbox: support timeouts for GVMM_SCHED_HALT
Issue #2110
2016-10-21 12:39:31 +02:00
Alexander Boettcher
a7d04eefab vbox5: fix build for vbox
Issue #2081
2016-10-21 12:39:30 +02:00
Emery Hemingway
71f0757a30 transition Input infrastructure to new base API
* Supply Env to Input::Session_component
* Attach input event dataspace at Input::Client
* Process input events by lambda rather than pointer
* Supply Env and a label to Input::Connection

* Wm serves valid input_session to decorator
* Per-source signal handling at input_merger
* Base API update for dummy_input_drv, test_input
* Input API update for launcher, menu_view, terminal,
  mupdf, sdl, seoul, virtualbox

Ref #1987
2016-10-21 12:39:29 +02:00
Norman Feske
e370e08e01 Define Genode::size_t as unsigned long
Fixes #2105
2016-10-21 12:39:29 +02:00
Alexander Boettcher
8fb6f032d4 vbox: update tpr register before requesting irq
- required by win7 64bit guest single vCPU

Fixes #2089
2016-09-14 11:53:02 +02:00
Emery Hemingway
929ca5c163 virtualbox5: apply nic slot label patch
Fixes #2081
2016-08-31 17:11:05 +02:00
Alexander Boettcher
57b90e8d75 vmm: experimental virtualbox 5 support
The main feature for this version upgrade is the use of the instruction
emulator (IEM) to speed up execution and less often the slow recompiler.

issue #2059
2016-08-29 17:29:32 +02:00