Commit Graph

367 Commits

Author SHA1 Message Date
Emery Hemingway
beebd394fc lib/vfs: seperate implemention and API headers
Issue #1891
2016-11-08 15:26:30 +01:00
Alexander Boettcher
0d4f48ca0b vbox: add auto run script booting multiple VMs
Prepared for internal test machine, which has 8 logical cores.

6 Win7 64bit VMs are started, each having 2 vCPUs, using the same image and
different overlays. Changes to the VM are written to the overlays of ram_fs
and dropped after the test.

lCPU 0  : Genode base system and drivers
lCPU 1-2: VM1 2 vCPUs
lCPU 2-3: VM2 "
lCPU 3-4: VM3 "
lCPU 4-5: VM4 "
lCPU 5-6: VM5 "
lCPU 6-7: VM6 "

Fixes #2143
2016-11-08 15:26:29 +01:00
Alexander Boettcher
878abc7edb run: support multiple VMs in vbox* run scripts
Issue #2143
2016-11-08 15:26:29 +01:00
Alexander Boettcher
e864e84c5a run: add vm running directly from block partition
Fixes #2130
2016-10-21 12:39:36 +02:00
Christian Prochaska
d9c6f46fe5 vbox: automated USB device pass-through test
Fixes #2129
2016-10-21 12:39:35 +02:00
Alexander Boettcher
9d49749a49 vbox: poke timer emt thread from time to time
Fixes #2110
2016-10-21 12:39:34 +02: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
ce2139a533 vbox: add tm 4s patch
Issue #2110
2016-10-21 12:39:31 +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
d989046604 vbox4: bring up all vCPUs
broken since latest upgrade to virtualbox 4.3.*

Issue #2090
2016-10-21 12:39:30 +02:00
Alexander Boettcher
a7d04eefab vbox5: fix build for vbox
Issue #2081
2016-10-21 12:39:30 +02:00
Alexander Boettcher
b8b278458b run: vbox_auto_win81_64 write overlay to ram
to decrease failure rate because of corrupted filesystem via rump_fs
2016-10-21 12:39:29 +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
Norman Feske
7bed3967ae ports: GNU build-system support for non-noux pkgs
This patch makes the build-system integration of noux packages usable
for non-Noux targets. It moves the GNU build system wrapper to
ports/mk/gnu_build.mk, which is now included by noux.mk. This way,
non-noux applications can use the same build-system wrapper. So the
porting of individual applications becomes easier.

This change removes the 'NOUX_' prefix use the various build variables
used by the noux-pkg's target.mk files to steer the behaviour of the GNU
build system. E.g., NOUX_CONFIGURE_ARGS is now called CONFIGURE_ARGS.
Note that there is a single exception to this pattern: The formerly
named NOUX_LIBS is now called LDLIBS because the plain LIBS variable is
used by the Genode build system.

Fixes #2094
2016-10-21 12:39:29 +02:00
Alexander Boettcher
10ec9806d3 vbox: update to 4.3.40
Fixes #2090
2016-09-14 11:53:03 +02:00
Alexander Boettcher
06f1ac4025 vbox: update to 4.3.30
Issue #2090
2016-09-14 11:53:03 +02:00
Alexander Boettcher
95a9ceed4a vbox: update to 4.3.28
Issue #2090
2016-09-14 11:53:03 +02:00
Alexander Boettcher
aabdb77697 vbox: update to 4.3.26
Issue #2090
2016-09-14 11:53:02 +02:00
Alexander Boettcher
8e7a0a80fd vbox: update to 4.3.24
Issue #2090
2016-09-14 11:53:02 +02:00
Alexander Boettcher
ef0efdfcea vbox: update to 4.3.22
Issue #2090
2016-09-14 11:53:02 +02:00
Alexander Boettcher
8a3429ef16 vbox: update to 4.3.20
Issue #2090
2016-09-14 11:53:02 +02:00
Alexander Boettcher
e90cfe1268 vbox: update to 4.3.18
Issue #2090
2016-09-14 11:53:02 +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
Christian Helmuth
97201e6778 Remove tar archives after cpu_sampler_noux and noux_bash
This fixes our nightly error on cleanall with "unexpected:
./bin/diffutils.tar".
2016-09-09 11:48:43 +02:00
Emery Hemingway
929ca5c163 virtualbox5: apply nic slot label patch
Fixes #2081
2016-08-31 17:11:05 +02:00
Martin Stein
0f8a39e5ac net: move MAC and IPV4 address to NET namespace
Ref #114
2016-08-29 17:29:38 +02:00
Josef Söntgen
fbe127cdf4 vbox: fix ACPI dsl for newer iASL versions
The patch reflects the changes done in VirtualBox 5 and is at least
needed on Ubuntu 16.04.

Fixes #2068.
2016-08-29 17:29:35 +02:00
Alexander Boettcher
a1d9ed1d8a vbox: remove win8 auto test 2016-08-29 17:29:34 +02:00
Alexander Boettcher
f75bb77756 vbox: add win7_64 auto test 2016-08-29 17:29:34 +02:00
Josef Söntgen
2eda37e187 noux-pkg/noux-etc: serialize building targets
Issue #2069.
2016-08-29 17:29:34 +02:00
Alexander Boettcher
e39dc445b1 vbox: re-enable chunk-wise memory allocation
disabled by "vbox: Implement hwaccl support for Muen" for nova
2016-08-29 17:29:33 +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
Alexander Boettcher
4dbfbdb7c4 vbox: factor out/extend common parts of vbox 4 & 5
Issue #2059
2016-08-29 17:29:32 +02:00
Norman Feske
17c79a9e23 base: avoid use of deprecated base/printf.h
Besides adapting the components to the use of base/log.h, the patch
cleans up a few base headers, i.e., it removes unused includes from
root/component.h, specifically base/heap.h and
ram_session/ram_session.h. Hence, components that relied on the implicit
inclusion of those headers have to manually include those headers now.

While adjusting the log messages, I repeatedly stumbled over the problem
that printing char * arguments is ambiguous. It is unclear whether to
print the argument as pointer or null-terminated string. To overcome
this problem, the patch introduces a new type 'Cstring' that allows the
caller to express that the argument should be handled as null-terminated
string. As a nice side effect, with this type in place, the optional len
argument of the 'String' class could be removed. Instead of supplying a
pair of (char const *, size_t), the constructor accepts a 'Cstring'.
This, in turn, clears the way let the 'String' constructor use the new
output mechanism to assemble a string from multiple arguments (and
thereby getting rid of snprintf within Genode in the near future).

To enforce the explicit resolution of the char * ambiguity, the 'char *'
overload of the 'print' function is marked as deleted.

Issue #1987
2016-08-29 17:27:10 +02:00
Christian Prochaska
c72d1655f4 vbox: read 'force_ioapic' config option only once
Fixes #2049
2016-08-29 17:23:20 +02:00
Alexander Boettcher
5aabfa9dd0 sel4: disable noux_tool_chain_auto.run
Currently leaking to many capability selectors, so that the tool chain test
can't succeed.

Issue #2044
2016-08-10 11:07:57 +02:00
Christian Helmuth
b2eb42feb1 Use USB multi touch and keyboard for Win8 test 2016-08-10 11:07:49 +02:00
Alexander Boettcher
a876e655c0 vbox: support readonly overlay from disk
Add option to load the initial overlay*.vdi from disk, but keep the changes
in a ram_fs.

Used with AHCI model for vbox_auto_win7. Currently we have no way to tell
rump_fs to unmount and write back data to disk before resetting the machine.
2016-08-10 11:07:48 +02:00
Adrian-Ken Rueegsegger
dd22c961c9 Update Muen port
- Adjust list of Muen components
- vbox: Sync hw_x86_64_muen subject state with Muen SK
2016-08-10 11:07:48 +02:00
Christian Helmuth
747137c201 Increase stack size of alarm schedulers 2016-08-10 11:07:47 +02:00
Emery Hemingway
f92be575ae nit_fb: change to component API
Issue #1987
2016-08-10 11:07:46 +02:00
Emery Hemingway
d0e7cc35fa Adjust run scripts for loss of ROM filename argument
Issue #1787
2016-07-11 13:31:36 +02:00
Emery Hemingway
2b8c1af9e0 remove 'filename' from ROM sesion args
Conveying the ROM filename as the final label element simplifies
routing policy and session construction.

Annotations by nfeske:

This commit also changes the ROM session to use base/log.h instead of
base/printf.h, which produced build error of VirtualBox because the
vbox headers have a '#define Log', which collides with the content of
base/log.h. Hence, this commit has to take precautions to resolve this
conflict.

The commit alse refines the previous session-label change by adding a
new 'Session_label::prefix' method and removing the use of 'char const *'
from this part of the API.

Fixes #1787
2016-07-11 13:24:36 +02:00
Norman Feske
88b358c5ef Unification of native_capability.h
This patch establishes the sole use of generic headers across all
kernels. The common 'native_capability.h' is based on the version of
base-sel4. All traditional L4 kernels and Linux use the same
implementation of the capability-lifetime management. On base-hw, NOVA,
Fiasco.OC, and seL4, custom implementations (based on their original
mechanisms) are used, with the potential to unify them further in the
future.

This change achieves binary compatibility of dynamically linked programs
across all kernels.

Furthermore, the patch introduces a Native_capability::print method,
which allows the easy output of the kernel-specific capability
representation using the base/log.h API.

Issue #1993
2016-07-11 13:07:37 +02:00
Norman Feske
d71f0a9606 Cleanup of parent-cap handling
This patch alleviates the need for a Native_capability::Dst at the API
level. The former use case of this type as argument to
Deprecated_env::reinit uses the opaque Native_capability::Raw type
instead. The 'Raw' type contains the portion of the capability that is
transferred as-is when delegating the capability (i.e., when installing
the parent capability into a new component, or when installing a new
parent capability into a new forked Noux process). This information can
be retrieved via the new Native_capability::raw method.

Furthermore, this patch moves the functions for retriving the parent
capability to base/internal/parent_cap.h, which is meant to be
implemented in platform-specific ways. It replaces the former set of
startup/internal/_main_parent_cap.h headers.

Issue #1993
2016-07-11 13:05:27 +02:00