Commit Graph

6265 Commits

Author SHA1 Message Date
Sebastian Sumpf 7c269cb933 qemu-usb: Handle failing packet allocations gracefully
* catch failed allocations
* if a packet allocation fails, return NAK USB packet state
* increase packet stream size to 6 MiB

fixes #2527
2017-10-05 17:40:04 +02:00
Christian Helmuth b3f620436c dde_linux: fix timer deletion and modification (lx_kit) 2017-10-05 17:40:03 +02:00
Christian Helmuth 7b9edcf90c lxip: fix timer deletion and modification
Linux del_timer() and mod_timer() return if the timer was pending before
the modification. Additionally, these functions are potentially called
from handler function of the timer to modify and, therefore, checking
for timeout != INVALID_TIMEOUT is not sufficient as the timeout is
indeed valid when the handler is executed.
2017-10-05 17:40:03 +02:00
Christian Helmuth 9ff82d76c0 lxip: fix timer handling and jiffies update 2017-10-05 17:40:03 +02:00
Alexander Boettcher be753ee863 tool: add genode xml schema to xmllint check
Fixes #2513
2017-10-05 17:40:03 +02:00
Norman Feske f04ef8ed40 run: align data after last boot module
In the image.elf file, the very last boot module is followed
by arbitrary other core-local data. Since those boot modules are
exported as page-granular dataspace to the outside of core via core's
ROM service, we need to ensure that the last page is padded with zeros.
2017-10-05 17:40:03 +02:00
Norman Feske 6d361b337b input/root.h: support re-opening of sessions
This patch fixes an aliasing problem of the 'close' method signature
that prevented the Input::Root_component::close method to be called.
This way, the event-queue state was not reset at session-close time,
which prevented a subsequent session-creation request to succeed. With
the patch, input servers like ps2_drv, usb_drv that rely on the
Input::Root_component support the dynamic re-opening of sessions. This
happens in particular when using a dynamically configured input filter.
2017-10-05 17:40:03 +02:00
Norman Feske 86656517e3 nitpicker: reset background if backdrop vanishes
Fixes #3
2017-10-05 17:40:03 +02:00
Christian Helmuth ad49fba42a Fix syntax in lxip_udp_echo run script
Thanks to Steven Harp for reporting.
2017-10-05 17:40:02 +02:00
Norman Feske ab0b0ac3a0 run: compress image.elf in NOVA boot dir 2017-10-05 17:40:02 +02:00
Josef Söntgen e1ada57bfa vfs: use unsigned 64bit for media size ioctl
Fixes #2523.
2017-10-05 17:40:02 +02:00
Martin Stein 3f37a12e2d timer connection: fix mixing of time sources
We update the alarm-scheduler time with results of
Timer::Connection::curr_time when we schedule new timeouts but when
handling the signal from the Timer server we updated the alarm-scheduler
time with the result of Timer::Connection::elapsed_us.  Mixing times
like this could cause a non-monotone time value in the alarm scheduler.
The alarm scheduler then thought that the time value wrapped and
triggered all timeouts immediately. The problem was fixed by always
using Timer::Connection::curr_time as time source.

Ref #2490
2017-10-05 17:40:02 +02:00
Norman Feske dae563725b drivers_interactive-pc: increase key-repeat rate 2017-10-05 17:40:02 +02:00
Norman Feske ef9435b9ed depot: recipe for src/vbox5-nova 2017-10-05 17:40:02 +02:00
Norman Feske 4835da0f4d depot: add posix lib to api/libc archive 2017-10-05 17:40:01 +02:00
Norman Feske 15606dfc49 depot: recipe for api/stdcxx
This recipe copies the entire stdcxx library into the API archive, which
is an interim solution until we introduce a proper ABI for stdcxx. With
this current version, every user of the stdcxx ABI will implicitly build
the stdcxx library.
2017-10-05 17:40:01 +02:00
Norman Feske 40b12bb83c vbox5: extract license info from 3rd-party archive
This information is needed to create a matching LICENSE file for the
vbox5 src archive.
2017-10-05 17:40:01 +02:00
Norman Feske ace5400953 depot: recipe for src/libiconv 2017-10-05 17:40:01 +02:00
Norman Feske 2ad57d3850 libports: libiconv ABI 2017-10-05 17:40:01 +02:00
Norman Feske 26d4d227ea ports: define cap quota in vbox_pointer.run 2017-10-05 17:40:01 +02:00
Norman Feske bea305aec5 depot: avoid rule aliaing in api/base content.mk
This patch merges two similar rules, which create content at 'include'
into a single rule. This prevents a possible race condition when
creating archives in parallel.
2017-10-05 17:40:01 +02:00
Alexander Boettcher 1cc09ac786 platform_drv: transfer of quota to device_pd
Issue #2507
2017-10-05 17:40:00 +02:00
Alexander Boettcher c66c23b7f1 intel_fb: avoid assertion on X201
Issue #2208
2017-10-05 17:40:00 +02:00
Christian Helmuth ddfd3c0d7e linux: stack-area handling with recent Linux kernels
We moved the stack-area segment 128 MiB behind text and data to comply
with assumptions in the kernel ELF loader.

This commit also reenables static binaries on linux and removes the
unused stack_area.stdlib.ld script.

Fixes #2521
2017-10-05 17:40:00 +02:00
Sebastian Sumpf ff800af820 ahci: make port enumeration independent from port count
fixes #2522
2017-10-05 17:40:00 +02:00
Norman Feske 6bfd4f4276 gems: driver-manager subsystem for PC platforms
This is a drivers subsystem that starts the most fundamental
(framebuffer, input, block) device drivers dynamically, depending on the
runtime-detected devices. The discovered block devices are reported
as a "block_devices" report.
2017-10-05 17:40:00 +02:00
Norman Feske 37b5c9a2c1 nano3d.run: fix cap quota for drivers subsystem 2017-10-05 17:40:00 +02:00
Christian Helmuth d80fadc635 intel_fb: optionally respect connector hz config 2017-10-05 17:39:59 +02:00
Christian Helmuth c63f7725be intel_fb: support forced virtual framebuffer size 2017-10-05 17:39:59 +02:00
Christian Helmuth 02d7b401fe intel_fb: initial backlight brightness of 75% 2017-10-05 17:39:59 +02:00
Norman Feske 6fcf95d536 terminal: cursor-key handling w/o set key layout
This patch applies the handling of cursor keys, function keys, and page
up/down keys even if no keymap is defined. This is the case when using
the terminal with character events produced by the input filter.
2017-10-05 17:39:59 +02:00
Norman Feske c6690ea447 ports: use depot in noux_vim.run, noux_bash.run 2017-10-05 17:39:59 +02:00
Norman Feske ea21576eac bash: make dependency from ld.lib.so explicit
This patch is a workaround for the apparent problem that noux
applications, which perform execve, implicitly use functionality from
the dynamic linker, not explicitly via the libc. If the binary lacks the
dependency information, noux will fail on the execve attempt. The latter
is the case when the noux package is built as a depot archive where
library dependencies are not traversed over multiple levels.
2017-10-05 17:39:59 +02:00
Norman Feske 796810ea06 depot: recipe for src/vbox_pointer 2017-10-05 17:39:59 +02:00
Norman Feske 47b7ce5149 depot: recipe for rtc_drv,top 2017-10-05 17:39:58 +02:00
Norman Feske d8861262b2 depot: recipe for cpu_load_display 2017-10-05 17:39:58 +02:00
Norman Feske f10af1cc57 depot: recipe for src/xray_trigger 2017-10-05 17:39:58 +02:00
Norman Feske 070aa62f92 depot: recipes for file_terminal, terminal_log 2017-10-05 17:39:58 +02:00
Norman Feske 1953a31031 depot: recipe for src/noux 2017-10-05 17:39:58 +02:00
Norman Feske 9d3d7c4cb4 depot: recipes for ncurses,vim,coreutils,e2fsprogs 2017-10-05 17:39:58 +02:00
Norman Feske 14b5e81f1e depot: recipe for src/intel_fb_drv 2017-10-05 17:39:58 +02:00
Norman Feske 23e15cb2ab gems: add missing with_libc call in file_terminal
Ref #2286
2017-10-05 17:39:57 +02:00
Norman Feske d9d32847b1 xray_trigger: make initial state configurable 2017-10-05 17:39:57 +02:00
Norman Feske 0574cdf705 libports: ncurses ABI 2017-10-05 17:39:57 +02:00
Norman Feske 1d56c3d3aa base: remove non-critical quota messages
In nested scenarios like driver_manager.run, the initial session quota
for IO_PORT, IO_PORT, and IRQ sessions is expectedly insufficient.
However, the condition is properly handled by re-attemping the request
with a slightly increased quota. Still, core prints a warning each time
the request is denied for quota reasons, which spams the log. This patch
removes the non-critical message.
2017-10-05 17:39:57 +02:00
Norman Feske 040e331f77 mupdf: support resizeable framebuffers 2017-10-05 17:39:57 +02:00
Martin Stein d62c3117de run/timeout: test if maximum timeouts trigger bugs
Create periodic and one-shot timeouts with the maximum duration
to see if triggers any corner-case bugs. They must not trigger during
the test.

Ref #2490
2017-10-05 17:39:57 +02:00
Martin Stein 8fd914c6ab timeout: fix outdated time in alarm scheduler
If we add an absolute timeout to the back-end alarm-scheduler we must first
call 'handle' at the scheduler to update its internal time value.
Otherwise, it might happen that we add a timeout who's deadline is so big that
it normally belongs to the next time-counter period but the scheduler thinks
that it belongs to the current period as its time is older than the one used
to calculate the deadline.

Ref #2490
2017-10-05 17:39:56 +02:00
Martin Stein 2633ff8661 alarm: fix information loss due to int-cast
When we have two time values of an unsigned integer type and we create
the difference and want to know wether it is positive or negative within
the same value we loose at least one half of the value range for casting
to signed integers. This was the case in the alarm scheduler when
checking wether an alarm already triggered. Even worse, we casted from
'unsigned long' to 'signed int' which caused further loss on at least
x86_64. Thus, big timeouts like ~0UL falsely triggered directly.

Now, we use an extra boolean value to remember in which period of the
time counter we are and to which period of the time counter the deadline
of an alarm belongs. This boolean switches its value each time the time
counter wraps. This way, we can avoid any casting by checking wether the
current time is of the same period as the deadline of the alarm that we
inspect. If so, the alarm is pending if "current time >= alarm
deadline", otherwise it is pending if "current time < alarm deadline".

Ref #2490
2017-10-05 17:39:56 +02:00
Sebastian Sumpf a932fc2e5a depot: recipe for rump/file_system
Ref #2446
2017-10-05 17:39:56 +02:00