Commit Graph

833 Commits

Author SHA1 Message Date
Martin Stein
304cb290d9 nic_router: rework quota accounting
* Account all RAM/CAP quota of a session except quota for metadata used in
  core. The latter is considered when asking if a session can afford to make
  an operation but it does not get accounted to always be able to pay back all
  quota when a session closes. The general accounting mechanism is moved from
  atop of the allocators down to the level of RAM/RM session operations.
* report statistics about session objects and quota if <report stats="yes"
  quota="yes"/> is configured. (default is yes if <report> is present)

Issue #2953
2018-10-29 09:36:21 +01:00
Christian Prochaska
31ca9d9ad7 libusb: fix page fault after failed USB transfer
Fixes #3002
2018-10-01 10:41:46 +02:00
c697fb6345 Simple bulk TCP test
Send 8 MiB from one socket to another, anticipating short writes and
short reads from sockets.

Fix #2989
2018-09-24 11:18:23 +02:00
Christian Prochaska
1f5a083129 qt5: load nic_drv without dynamic linker on Linux
Fixes #2982
2018-09-13 15:25:25 +02:00
Christian Helmuth
5dcf06d208 depot: update recipe hashes 2018-09-13 15:21:26 +02:00
Martin Stein
abe1b98486 nic_router.run: fix resource requests
Raise cap quotas.

Issue #2972
2018-09-13 15:21:11 +02:00
98380cebda VFS LwIP: do not free TCP PCBs on error
The VFS LwIP plugin is page-faulting on connect error because the LwIP
library frees a failed TCP protocol control block before calling the
error callback, and then the VFS plugin dereferences the PCB to free it
a second time. This problem was caused by a failure to follow
documentation during a transition from a C callback to a C++ method.

Fix #2972
2018-09-13 15:21:11 +02:00
Christian Prochaska
5adb6f0c5f socket_fs: show ioctl FIONREAD error message only once
Fixes #2969
2018-09-13 15:21:10 +02:00
Christian Prochaska
35f61475f5 libc_vfs: don't suspend in 'notify_read_ready()'
When 'notify_read_ready()' is called during 'select()' and fails,
suspending can cause a deadlock when the libc IO response handler becomes
active and calls 'select_notify()', which tries to acquire the
'select callback list lock', which is already acquired by the suspended
'select()' call.

It seems possible to ignore a failed 'notify_read_ready()' call instead of
suspending. When the VFS plugin calls the IO handler later when the
notification request can be processed, the 'select_notify()' call of the
libc IO response handler will eventually call 'notify_read_ready()' again.

Fixes #2970
2018-09-13 15:21:10 +02:00
874ba409ca Libc: single-user getpwent implementation
Implement the passwd database subroutines with single-user database.
This database is populated with a <passwd/> sub-node of the libc
configuration node. All fields of the "passwd" struct may be specified
with reasonable defaults provided for a "root" user. This allows a
libc-based component to spoof user information for the sake of porting
existing Unix software.

A test is provided at run/libc_getpwent.

Fix #2919
2018-09-13 15:21:10 +02:00
9f6838ae42 Libc: internal accessor for <libc/> config
Add an internal accessor for the libc configuration node.

Ref #2919
2018-09-13 15:21:10 +02:00
64a63885d1 VFS: line buffer LOG file-system
Buffer data written to log file handles until newline or overflow.

Ref #2467
Ref #2919
2018-09-13 15:21:10 +02:00
Christian Helmuth
3697f50bd3 qt5: explicit file modification time in tar archives
GNU tar interprets the passed time value in local time by default, which
lead to unstable hashes again. So, now provide a complete date/time
value incl. time zone.

Related to #2842
2018-09-13 14:54:21 +02:00
Norman Feske
2049498af0 depot: update recipe hashes 2018-09-05 11:04:24 +02:00
Christian Helmuth
cc311355cd libports: update hash of downloaded fatfs sources (again)
The author updated http://www.elm-chan.org/fsw/ff/arc/ff13b.zip again
with a marginal documentation changes and an additional example.

Issue #2766
2018-09-05 11:04:24 +02:00
Christian Helmuth
20668ccfa3 libports: download bzip2 port from fossies.org
The original bzip.org domain expired.

Issue #2766
2018-09-05 11:04:24 +02:00
Alexander Boettcher
50dcf40f24 acpica: fix regressions (poweroff and semaphore)
introduced by acpica update to version 2018-08-10.

Fixes #2935
2018-09-05 11:04:23 +02:00
fcbe060096 Remove legacy lwIP plugins
Now that the lwIP VFS plugin has become a first class IP stack it is
time to remove the lwIP 1.x library and the associated libc plugins.

Fix #2958
2018-09-05 11:04:22 +02:00
Christian Helmuth
c2e0d0ae20 depot: update recipe hashes 2018-08-30 09:25:10 +02:00
Christian Prochaska
aa1488c768 qt5: handle 'Qt::WindowMaximized' and 'Qt::WindowFullScreen'
Fixes #2952
2018-08-30 09:24:48 +02:00
6f8e8a6ea4 LwIP: clamp reads to a value that can be expressed in 16 bits
There is a bug in the LwIP VFS plugin, the chained buffers used by Lwip
use sizes expressed in sixteen bits, and under conditions such as a read
of 1<<16 the higher bits are lost and the plugin performs a zero length
read, and the application interprets this as a closed connection.

Fix #2947
2018-08-30 09:24:47 +02:00
Christian Prochaska
9d712b2ce9 vfs: libc_vfs_fs_chained.run script
Fixes #2944
2018-08-28 17:10:58 +02:00
babb633922 Pdf_view: restore page up/down keys, wheel scroll
The component now handles key presses as documented.

Fix #2942
2018-08-28 17:10:57 +02:00
26611db95b LwIP VFS: remove link status messages
Remove warnings from the plugin that were used to check behavior of
applications waiting for link and IP status changes.

Ref #2335
2018-08-28 17:10:57 +02:00
Christian Helmuth
40a84e0c81 input/ps2: poll for mouse-reset results
The PS/2 driver retries to get mouse-reset results for 700 ms, sleeping
after each attempt for 10 ms. So, the driver needs a Timer session now.

Fixes #2713
2018-08-28 17:10:55 +02:00
Martin Stein
023de11dc6 acpica port: update to version 2018-08-10
Fixes #2935
2018-08-28 16:48:46 +02:00
ffd688642a VFS LwIP: state tracking fixes
Better track the state of TCP connections and PCB pointers. Allow
received data that has queued to be read under any conditions.

Ref #2335
2018-08-28 16:45:27 +02:00
67d88526b9 VFS LwIP: delay accepted connections
Ref #2335
2018-08-28 16:45:27 +02:00
Christian Prochaska
14a338af40 qt5: QtTest support
Fixes #2933
2018-08-28 16:45:27 +02:00
Christian Helmuth
3dc822f767 qt5: honor --depot-user in run scripts 2018-08-28 16:45:26 +02:00
Christian Helmuth
a8b6fbcc31 qt5: enable xhci in drivers run util 2018-08-28 16:45:26 +02:00
c75d9e2ee0 Rename network scenarios to make use of lxip explicit 2018-08-28 16:45:23 +02:00
22ef3ed474 LwIP: manage Nic pbufs with a slab allocator
LwIP skips a packet copy by wrapping Nic stream buffer regions in LwIP
pbuf objects. Move from a fixed size array to a potentially unbounded
slab allocator for managing this buffer metadata.

Ref #2335
2018-08-28 16:45:23 +02:00
Josef Söntgen
bb8e532361 http_srv: use libc print API
Thereby one can set 'stdout' to /dev/null.
2018-08-08 13:33:37 +02:00
4678f27802 Propagate LwIP connect errors with sync
Ref #2335
Ref #2920
2018-08-08 11:34:21 +02:00
Christian Prochaska
80974b8f62 qt5: print error message in qtwebkit on failed 'mmap()'
Fixes #2927
2018-08-08 11:29:57 +02:00
Christian Prochaska
0d7dec0436 qt5: destroy finished thread in 'QThread::start()'
A 'QThread' can be reused when its execution is finished by calling
'QThread::start()' again. Before this commit, this created a new Genode
thread, but did not destroy a previously finished Genode thread first.

Fixes #2928
2018-08-08 11:29:32 +02:00
Christian Helmuth
f4ea50c6ff depot: update recipe hashes 2018-08-08 10:59:04 +02:00
e521e100f1 Move LwIP to API package
This fix vfs_lwip recursion on archive creation.

Ref #2335
2018-08-08 10:59:03 +02:00
Johannes Kliemann
06a72facc5 Ada: fix ada_secondary_stack test 2018-08-08 10:59:03 +02:00
Johannes Kliemann
0ca197374e Ada: cleanup sources (license headers, beautify) 2018-08-08 10:59:03 +02:00
Alexander Senier
069a9ad56f Ada: runtime support for 64bit arithmetics 2018-08-08 10:59:02 +02:00
Alexander Senier
ad3f020605 Ada: support for memcmp 2018-08-08 10:59:02 +02:00
Johannes Kliemann
ea8b7d8128 Ada: exception support 2018-08-08 10:59:02 +02:00
e208fbb1b3 VFS LwIP: notify peek handles on recv
Ref #2335
2018-08-08 10:59:02 +02:00
Christian Prochaska
3a1c1d1fd5 libc: allocate more backing store in memory allocator
Add the size of the 'Dataspace' object and AVL-node slab blocks like in
the 'Genode::Heap' implementation.

Fixes #2925
2018-08-02 14:36:50 +02:00
Josef Söntgen
a7eb347ce2 libports: remove obsolete pingpong client 2018-08-02 14:36:50 +02:00
Christian Prochaska
7fabc45313 libc: return MAP_FAILED if 'mmap()' failed
Fixes #2924
2018-08-02 14:36:49 +02:00
bf8b52ec3a Update LwIP to 2.1.0.rc1
This release candidate suppresses the remaining build warnings.

Ref #2335
2018-08-02 14:36:49 +02:00
Martin Stein
9b31aac1de LwIP tests: use VFS LwIP plugin
Issue #2335
2018-08-02 14:36:48 +02:00