Commit Graph

258 Commits

Author SHA1 Message Date
Alexander Boettcher
ff02dc8f10 x86emu: avoid compiler warning 2013-11-18 11:01:45 +01:00
Josef Söntgen
7ac23a2419 libports: use Timer_session as SDL's timer backend
A timer session is now used instead of a jiffy counter. This way, libSDL
can use a time source that is not bound to the granularity our libc's
nanosleep implementation. Currently, the granularity of nanosleep is in
the order of 10 milliseconds, which is far to coarse for the use of
SDL-using applications such as DosBox.

Fixes #934.
2013-11-05 12:14:37 +01:00
Josef Söntgen
4efd664619 libports: use SDL's SDL_cdrom dummy implementation
Fixes #934.
2013-11-05 12:14:23 +01:00
Christian Prochaska
c029557c8b pthreads: return error numbers
pthread functions are supposed to return error values instead of setting
'errno' and returning -1.

Fixes #856.
2013-11-05 12:13:45 +01:00
Josef Söntgen
1306915879 libports: add SDL_net
Fixes #936.
2013-11-05 12:13:19 +01:00
Christian Helmuth
78344dd672 libports: fix make clean for sdl port 2013-10-22 08:00:16 +02:00
Norman Feske
f82e1a7092 nitpicker: Late allocation of virtual framebuffer
This patch changes the interface of Nitpicker to support dynamically
dimensioned virtual frame buffers. This solves two problems:

First, it enables a client to create a connection to nitpicker without
donating much session quota in advance. The old interface required each
screen-size-dependent client to donate as much memory as needed to
allocate a screen-sized virtual framebuffer. For clients that are
interested int the screen size but cover just a small portion of the
screen (e.g., a banner, a menu, an applet that sits in the screen
corner), this overprovisioning is painful. The new interface allows such
clients to upgrade the session quota for an existing session as needed.

Second, because each nitpicker session used to have a virtual frame
buffer with a fixed size over the lifetime of the session, a client that
wanted to implement a variable-sized window had to either vastly
overprovide resources (by opening a session as large as the screen just
in order to be prepared for the worst case of a maximized window), or it
had to replace the session by a new one (thereby discarding the stacking
order of the old views) each time the window changes its dimensions. The
new interface accommodates such clients much better.
2013-10-22 08:00:16 +02:00
Stefan Kalkowski
8f0c789ed4 Make NIC RX/TX buffer sizes configureable in libc
* Remove far too low default values from Nic::Connection constructor
* Extend lwip initialization function with desired TX/RX buffer sizes
* Add configuration possibility to libc_lwip_dhcp plugin to define
  buffer sizes, like the following:

  '<libc tx_buf_size="1M" tx_buf_size="1M"/>'

Fixes #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 Helmuth
db125bad51 Increase quota of lwip_lx.run
See 33909779 for documentation.
2013-09-26 14:28:25 +02:00
Norman Feske
ad210e3981 Blacklist qt5_script library for now
Issue #890
2013-09-23 14:26:02 +02:00
Norman Feske
fe0d9c0775 stdcxx: Add 'initializer_list' header of supc++
This header is needed to build icu when C++11 is enabled.
2013-09-23 14:26:02 +02:00
Ivan Loskutov
0553490c9c libport: Fix download location of Mesa
Fixes #839
2013-09-23 14:26:00 +02:00
Norman Feske
29eeedf064 launchpad: Update config syntax, remove defaults
This patch updates the launchpad config to use XML attributes and
removes the built-in default configuration (which is only meaningful
for demo.run anyway).
2013-09-23 14:25:59 +02:00
Norman Feske
6575856624 os: Split Session_label from Session_policy
By splitting Session_policy into two classes, we make it more flexible.
Originally, the constructor accepted solely an args string, which made it
unusable for situations where we already have extracted the session
label (e.g., stored in the session meta data of a server). Now, the
extraction of the label from the args string is performed by the new
Session_label class instead, which, in turn, can be passed to the
constructor of Session_policy.

This change causes a minor API change. The following code

  Session_policy policy(session_args);

Must be turned into

  Session_label  label(session_args);
  Session_policy policy(label);
2013-09-23 14:25:59 +02:00
Norman Feske
8243329ad4 os: Move Genode::Config into 'config' library
Originally, the convenience utility for accessing a process
configuration came in the form of a header file. But this causes
aliasing problems if multiple compilation units access the config while
the configuration gets dynamically updated. Moving the implementation of
the accessor to the singleton object into a library solves those
problems.
2013-09-23 14:25:58 +02:00
Norman Feske
21462cdbd2 base: Add const qualifiers to 'util/list.h'
This patch adds support for iterating through a const list. This allows
users of lists to be more rigid with regard to constness. Furthermore,
the patch adds the function 'List::insert_at' for inserting an element
at a specified position. By adding this function, we can remove code
duplication in nitpicker.
2013-09-18 14:58:55 +02:00
Christian Prochaska
82111227d6 libc: set 'errno' for invalid file descriptors
Fixes #877.
2013-09-06 11:28:11 +02:00
Norman Feske
339097792c lwip.run: Increase quote of test-lwip_httpsrv
Adaptation to the recent increase of the NIC session quota.
2013-09-04 22:37:06 +02:00
Christian Helmuth
8707771d35 pingpong: fix compiler warnings 2013-09-04 12:14:22 +02:00
Christian Helmuth
989e880c69 lwip: remove redundant function declaration 2013-09-04 12:14:22 +02:00
Christian Prochaska
3cb6dba572 lwip: fix thread reset value in 'sys_arch_unprotect()'
Fixes #866.
2013-09-02 19:44:03 +02:00
Christian Prochaska
26ba81175b lwip: add checksum options to 'lwipopts.h'
This patch adds some of lwip's checksum calculation options to the
Genode-specific 'lwiptops.h' configuration file. The checksum calculations
are enabled by default.

Fixes #868.
2013-09-02 19:41:48 +02:00
Alexander Boettcher
7dfab657b2 vesa: avoid concurrent access by acpi driver
Issue #843
2013-08-30 13:37:26 +02:00
Martin Stein
0bbfa3a501 ffat: require prepare_ffat if ffat not prepared
fix #534
2013-08-30 13:27:18 +02:00
Josef Söntgen
c437255d96 libports: remove right files when cleaning libc
Only the directories and files which were created in the first place
by the libc port should be removed. Thereby ignore the exit code of
the find command to prevent GNUmake from stopping its execution.

Fixes #841.
2013-08-30 13:26:14 +02:00
Christian Helmuth
338c49da23 vesa: fix error message (interval display) 2013-08-19 10:33:29 +02:00
Christian Prochaska
d39dfef98f Qt: fix examples
With this patch, the 'textedit' example can run on base-linux again and
'qt_lauchpad' contains only runnable launch entries.

Fixes #837.
2013-08-15 09:22:49 +02:00
Stefan Kalkowski
3a6f639df8 Fix network_test run scripts for recent changes
Fix #833
2013-08-15 09:22:49 +02:00
Norman Feske
7972e4587b qt5: hook for selectively inhibiting qt5 builds 2013-08-15 09:22:48 +02:00
Christian Prochaska
f0b5c5eca5 Rename 'oss_drv' to 'audio_out_drv'
Fixes #829.
2013-08-13 17:27:40 +02:00
Christian Prochaska
7b54eaaee1 libports: add Qt5
Fixes #345.
2013-08-13 17:27:40 +02:00
Christian Prochaska
58e8481793 Implement more 'pthread' functions.
Issue #345.
2013-08-13 17:08:26 +02:00
Christian Prochaska
3ec16da03f libports: add ICU library
The ICU (International Components for Unicode) library is needed for Qt5.

Fixes #828.
2013-08-13 17:08:26 +02:00
Christian Prochaska
6741af07aa stdcxx: create 'typeinfo' symlink
The 'typeinfo' header file is needed by the ICU library.

Issue #828.
2013-08-13 17:08:26 +02:00
Alexander Boettcher
2e6504df62 run: disable libc_ffat test for some qemu versions
Disable qemu version known to be not working with the atapi driver.

Issue #827
2013-08-13 17:08:25 +02:00
Alexander Boettcher
6c994d19fe lwip: use alignment solely of 4
Temporarily 64bit fix for issue #817.
2013-08-13 17:08:25 +02:00
Christian Prochaska
adf895acad Print pthread stub messages to Genode log console
With this patch, the 'not implemented' messages of the pthread function
stubs always get printed to the Genode log console instead of stdout.

Issue #815.
2013-08-05 15:17:42 +02:00
Alexander Boettcher
99ae463e5c run: zero pad hello.py to succeed on OKL4
Fixes #804.
2013-07-15 17:06:27 +02:00
Stefan Kalkowski
76d449ebe6 Start receiver thread in LwIP after initialization
Otherwise the receiver thread might access variables not initialized properly,
and thereby raising pagefaults.

Fixes #802
2013-07-11 17:35:24 +02:00
Alexander Boettcher
86d323d3cf run: disable network tests for imx53
We have no network driver on this platform by now.
2013-07-11 12:44:24 +02:00
Alexander Boettcher
fd7683f6ea lwip: use memcpy of Genode 2013-06-27 20:12:43 +02:00
Alexander Boettcher
776a8d3f8c lwip: set to max snd window which is known to work
The window scale option (http://tools.ietf.org/html/rfc1323) patch of lwIP
definitely works solely for the receive window, not for the send window.
Setting the send window size to the maximum of an 16bit value, 65535,
or multiple of it (x * 65536 - 1) results in the same performance.

Everything else decrease performance.

We will have to check this window scale patch before using higher values.
2013-06-27 20:12:29 +02:00
Alexander Boettcher
4925f77dac run: skip libc_ffat test for non qemu test runs
Print a warning that the sd respectively hard disc must be prepared manually.

Fixes #783
2013-06-27 20:12:23 +02:00
Alexander Boettcher
d822b82f5b lwip: align the pbuf on 32 resp. 64 bit addresses
Minor speed improvements of ~6Mbit. Additionally a ethernet frame fits now
into one memory allocation per pbuf. Beforehand two were allocated - one being
1514 bytes and another one being 2 bytes (monitored by instrumenting copy loop
in libports/src/lib/lwip/platform/nic.cc).
2013-06-26 17:42:11 +02:00
Alexander Boettcher
8d9e7d0da2 lwip: set some reasonable default rcv buf size
lwip reports via getsockopt the size of the default size of the receive buffer
to the netperf server. lwip returns 2GB and netperf server uses this value to
allocate some buffers - which of course fails with out of memory.

Reduces the "default size" to some smaller value.

With the commit we are not forced anymore to (but still can) use specific
netperf client options regarding memory allocations of the receive buffer.
2013-06-26 17:42:02 +02:00
Alexander Boettcher
5d79c6be1a lwip: increase send performance for arndale USB2.0
Getting up to 91 Mbit out of a 100 Mbit card.
2013-06-25 17:42:42 +02:00
Alexander Boettcher
8a623c6317 lwip: support send, recv timeouts 2013-06-25 17:42:42 +02:00
Alexander Boettcher
4bffa249fd lwip: tweak foc_panda to netperf tcp >90MBit/s 2013-06-25 17:42:42 +02:00
Stefan Kalkowski
e23f24505b Add platform_drv to relevant run-scripts (fix #778) 2013-06-25 14:37:03 +02:00