Commit Graph

290 Commits

Author SHA1 Message Date
Christian Helmuth 3d274366ab vbox: improve BFE argument handling 2014-04-16 17:31:24 +02:00
Alexander Boettcher 0eef45e63f vbox: implement pthread_create specifically
Issue #1114
2014-04-14 12:32:31 +02:00
Martin Stein ff28a89000 noux: make RM replay less noisy in release mode
As the message "replay: missing dataspace info for ..." occurs multiple times
on every fork, it slows down at least noux_tool_chain_auto with hw_arndale
about 10 seconds. To avoid this overhead in release mode I've turned it into a
warning rather than an error.

ref #1096
2014-04-07 17:01:21 +02:00
Christian Helmuth 83cc8da588 vbox: fix format warning (size_t) in autotest 2014-03-14 13:17:37 +01:00
Martin Stein a99a33e93e noux: enhance stack of all noux programs
This is done because we ran into a stack overflow while compiling
Genodes core/main.cc with GCC in Noux.

fix #1075
2014-03-14 13:17:36 +01:00
Christian Prochaska e142d0d2e8 gdb_monitor: improve the backtrace test
With this patch, functions which execute blocking syscalls on Fiasco.OC
are built with frame pointers to get a correct backtrace shown in GDB.

Also, the backtrace test for a thread currently executing a syscall now
traces the  'Genode::Thread_base::join()' function instead of
'Genode::sleep_forever()', because base-nova has a custom implementation
of 'Genode::sleep_forever()' with a different backtrace than on Fiasco.OC.

Fixes #1061.
2014-03-04 11:36:29 +01:00
Christian Prochaska 6a1d07de86 Arora: increase RAM quota for 'testnit'
This patch increases the RAM quota for 'testnit' in the Arora nitpicker
plugin demo.

Fixes #1074.
2014-02-28 10:11:51 +01:00
Alexander Boettcher 961bd41b05 vbox: auto test for win7 @ vbox/Genode/Nova
Issue #1055
2014-02-28 10:11:12 +01:00
Alexander Boettcher d8c2a908b8 ports: add VirtualBox as VMM for Genode
Fixes #1055
2014-02-28 10:11:12 +01:00
Alexander Boettcher dd95266235 nova: add feature to yield a thread
used by virtualbox intensively
2014-02-28 10:11:11 +01:00
Christian Prochaska 46374a6932 gdb_monitor: show correct register state on FOC
On Genode/Fiasco.OC, when an unresolved page fault occurs, only the IP and
SP registers are valid in the thread state read by GDB monitor. This was
not taken into account so far and the other (possibly outdated) register
values got reported to the client, too.

With this patch, only IP and SP get reported to the client in the page
fault case.

Fixes #1063.
2014-02-28 10:11:08 +01:00
Christian Prochaska 21f031371f Noux: fix build process of more 'e2fsprogs' programs
Fixes #1065.
2014-02-25 14:58:09 +01:00
Christian Prochaska 53c4aa6d22 Noux: fix build process of the 'fixincl' program
The 'LIBS' environment variable needs to get used to build the 'fixincl'
program correctly.

Fixes #1066.
2014-02-25 14:58:09 +01:00
Christian Prochaska 1ac034d16d Noux: fix the 'xxd' program
Fixes #1064.
2014-02-25 14:58:08 +01:00
Martin Stein 020edd3032 noux_fork: raise MAX_COUNT to 1000
To see the output of both, forker and fork, we must give the test
more time on OKL4 as fork seems to be not so fast with this kernel.

ref #989
2014-02-25 14:58:05 +01:00
Martin Stein 0b64328944 base: setup thread object for main thread in CRT0
For a main thread a thread object is created by the CRT0 before _main gets
called so that _main can already run in a generic environment that, e.g.,
catches stack overflows as a page-fault instead of corrupting the BSS.
Additionally dynamic programs have only one CRT0 - the one of the LDSO -
which does the initialization for both LDSO and program.

ref #989
2014-02-25 14:58:05 +01:00
Martin Stein ba8e61653f noux & 64bit: fix printf format-warning
ref #989
2014-02-25 14:58:05 +01:00
Martin Stein cfd4310684 libc_noux & 64bit: fix printf format-warning
Normally for intptr_t the printf format PRIiPTR should be used. As Genode
printf doens't support this format we cast it to long int (intptr_t is int
for 32 bit and long int for 64 bit).

ref #989
2014-02-25 14:58:05 +01:00
Martin Stein c2af646ad8 noux: Noux_connection::context_area_rm_session()
This enables a forked process to update the capability of its
context area RM session.

ref #989
2014-02-25 14:58:04 +01:00
Christian Prochaska 27ff408985 Noux: POSIX signal improvements
- 'kill()' syscall added
- 'wait()' gets unblocked when a signal occurs
- syscalls can get called from a signal handler without corrupting the 'sysio' object
- the child's exit status gets correctly reported to 'wait()'
- SIGCHLD gets ignored by default
- pending signals survive 'execve()'

Fixes #1035.
2014-01-30 10:05:44 +01:00
Norman Feske 8c8d53777f Generalization of nitpicker's graphics backend
This patch re-arranges nitpicker's graphics backend in a more modular
and expandable way. Generalized versions of the 'Canvas',
'Chunky_canvas', and 'Pixel_*' classes have been moved to
'os/include/util/' and 'os/include/os'. The only remaining parts that
are specific to nitpicker's needs are a few drawing functions, each
located in a distinct header at 'os/include/nitpicker_gfx/'.
2014-01-27 18:54:06 +01:00
Norman Feske 0063f217ca Move nitpicker_gfx/color.h to util/color.h 2014-01-27 18:54:06 +01:00
Norman Feske e809192b97 Remove nitpicker_gfx/miscmath.h 2014-01-27 18:54:06 +01:00
Norman Feske 35bfc34db5 Move nitpicker_gfx/geometry.h to util/geometry.h
This patch makes nitpicker's geometry utilities available for the use
by other programs. Thereby, the 'Point', 'Area', and 'Rect' classes
have become templates that take the coordinate type and distance type
as arguments.
2014-01-27 18:54:06 +01:00
Christian Prochaska cca2dbc400 Arora: fix the demo launchpad configuration
This patch adapts the launchpad configuration of the Nitpicker plugin demo
to the current launchpad config syntax.

Fixes #1018.
2014-01-27 18:54:05 +01:00
Josef Söntgen 6e15d966c7 noux: add e2fsprogs-v1.42.9 package
Fixes #1029.
2014-01-17 14:04:29 +01:00
Josef Söntgen c4c43ffc9d noux: add block device file system
Access to a block session is provided by using the block file system.
By specifying the label, each block session request can be routed to
the proper block session provider:

! <fstab>
! 	...
! 	<dir name="dev">
! 		<block name="blkdev0" label="block_session_0" />
! 	</dir>
! 	...
! </fstab>

In addition to this file system, support for the DIOCGMEDIASIZE ioctl
request was added. This request is used by FreeBSD and therefore our
libc to query the size of the block device in bytes.

Fixes #1010.
2014-01-17 14:04:29 +01:00
Alexander Boettcher 041dd2a133 netperf: use Genode specific alarm timer
Fixes #1021
2014-01-17 14:04:29 +01:00
Norman Feske 6a19b30795 Vancouver: Clarify license headers
All source codes of the glue code between Vancouver and Genode that were
based on existing GPL code had already stated that Genode Labs is not
the sole owner of the code. To make the distinction between the Genode
OS framework and the glue code more clear, this patch removes the text
"is part of the Genode OS framework" from the glue code.
2014-01-16 18:34:06 +01:00
Josef Söntgen f71e38702f noux: add SYSCALL_SYNC
File systems using the File_system_session interface can now be
synchronized by using this syscall. This is needed for file system
that maintain an internal cache, which should be flushed.

Fixes #1008.
2013-12-20 15:21:08 +01:00
Stefan Kalkowski b10b9e20a2 block: support for block number >32 bit (Fix #968) 2013-12-19 11:34:04 +01:00
Martin Stein 1eeb68bf56 hw: adjust gcc package to makeinfo version 5
Makeinfo versions greater 5 treat an @itemx that isn't preceeded by an @item
not as warning anymore but as error. The GCC version 4.7.2 that is used by
noux currently triggers this error multiple times. This commit adds a patch
to 'make prepare PKG="gcc"' that avoids the use of @itemx without preceeding
@item. As GCC versions greater than 4.8 should fix this problem by themselves
this should be seen as temporary quick fix.

ref #964
2013-12-03 08:33:24 +01:00
Martin Stein fd003f0e00 noux_fork: use pause() instead of endless loop
At least with base-hw, the endless loop at the end of the fork
parent slows execution of the fork child dramatically. Using
libc function pause() is a cleaner solution anyways.

ref #964
2013-12-03 08:33:24 +01:00
Sebastian Sumpf 634f4c0d8c netperf: Add separate run scripts for lwip/lxip
Also removed target 'app/netperf' and added 'app/netperf/lwip' and
'app/netperf/lxip'.
2013-11-26 14:32:06 +01:00
Alexander Boettcher f00195e26d seoul: support to run VM outside VMM's PD
Issue #949

Related to issue #808 - one way to nearly double the maximum VM size for
VMs on 32bit Genode/Nova host if decreased performance is acceptable.
2013-11-25 12:12:31 +01:00
Norman Feske 1df48b8331 ports: common utilities for building VMMs on NOVA
To ease the creation of custom virtual machine monitors on top of
NOVA, this patch moves generic utilities from vancouver resp. seoul to the
public include location 'ports/include/vmm'. As a nice side effect,
this change simplifies 'vancouver/main.cc'.

Issue #949
2013-11-25 12:12:31 +01:00
Alexander Boettcher 0d8abab3ee nova: remove cap_sel - use cap_map
Fixes #905
2013-11-18 11:01:46 +01:00
Josef Söntgen 9bc42ecd87 ports: native version of DosBox
DosBox is DOS-Emulator which is mainly used for playing old
DOS games on POSIX systems and newer Windows versions.

This port of DosBox runs natively on Genode by using its
SDL backend. It is currently only works on x86_*.

Fixes #937.
2013-11-14 19:54:14 +01:00
Josef Söntgen 8b8e3ef7a5 noux: calculate inode value from path
There are programms that use struct stat's st_ino field to check certain
conditions. Since we are using multiple filesystems in a noux session we
cannot use the inode number which the actual filesystem provides.
Therefore we calculate a random inode number by hashing the stated path.

Fixes #299.
2013-11-05 12:54:04 +01:00
Christian Prochaska a1458307da GDB monitor: test the 'set var' and 'call' commands
Fixes #930.
2013-10-29 18:08:29 +01:00
Christian Prochaska cc04ffcf42 GDB monitor: find out page faulting thread
Fixes #898.
2013-10-25 23:49:00 +02:00
Alexander Boettcher 69263f6593 seoul: increase memory for network with bridge
Fixes #918
2013-10-22 08:00:16 +02:00
Christian Prochaska 047d851fb6 Noux: add basic 'Ctrl-C' support
This patch implements the POSIX signal functionality needed to interrupt a
running Noux GDB by pressing 'Ctrl-C'.

It allows to register a signal handler for the 'SIGINT' signal, which
gets executed after 'Ctrl-C' is received from the terminal. With the
current state of the implementation, the signal handler only gets executed
when the Noux application calls a 'read()', 'write()', 'ftruncate()' or
'select()' syscall.

Fixes #923.
2013-10-22 08:00:16 +02:00
Stefan Kalkowski 4f541538bd noux: use lwip dhcp plugin, avoid code duplication
Ref #892
2013-10-22 08:00:14 +02:00
Martin Stein ee5d213c1f base: do not allow unnamed threads
fix #901
2013-10-22 08:00:07 +02:00
Christian Prochaska 65f8f9c75a GDB monitor: add support for register writing
With this patch, register contents of a paused thread (which is not
currently executing a syscall) can get modified on Fiasco.OC by GDB.

Fixes #897.
2013-10-17 11:04:08 +02:00
Alexander Boettcher dd2e006309 nova: request native ec cap via pager
Prerequisite to get rid of the base-nova special native_cap method in
cpu_session.

Vancouver/Seoul bootstrap code gets also much simpler.

Issue #478
2013-10-16 09:26:09 +02:00
Norman Feske f1dcaa746d Enable C++11 by default 2013-09-23 14:26:01 +02:00
Christian Prochaska eeacc5a297 Noux: register inherited file descriptors
With this patch, a Noux process registers all inherited open file
descriptors in its local libc file descriptor registry at program start.

Fixes #882.
2013-09-23 14:26:00 +02:00
Christian Prochaska 9370ba160b Noux: increase entrypoint stack size
Needed to run Noux built with -O0

Fixes #880.
2013-09-23 14:26:00 +02:00