Commit Graph

3277 Commits

Author SHA1 Message Date
Christian Helmuth 2ed904faab depot: update recipe hashes 2017-08-30 12:41:43 +02:00
Christian Helmuth 2cc9fa1f14 okl4: apply patches in deterministic order 2017-08-30 12:41:43 +02:00
Alexander Boettcher 035e28d7d9 sel4: apply patches in deterministic order
Issue #2242
2017-08-30 10:01:36 +02:00
Martin Stein b531a862bb nic_dump: link state and mac address
The NIC dump component didn't support forwarding of link states and link-state
signals until now. Furthermore, it now prints MAC address and link state
on session creation and on every link state change.

Ref #2490
2017-08-30 10:01:36 +02:00
Martin Stein 84ad50b527 nic_dump: synchronize down/uplink creation
Previously, the uplink session was created on component startup while the
creation of the downlink session is timed by the client component. This
created a time span in which packets from the uplink were dropped at the
nic_dump. Now the uplink session-request is done by the session component
of the downlink.

Ref #2490
2017-08-30 10:01:35 +02:00
Martin Stein 570b5a6920 libc_resolv/_lxip: fix undefined references...
... to Libc::Plugin::getdirentries, Libc::Plugin::mmap, and
Libc::Plugin::msync.

Ref #2490
2017-08-30 10:01:35 +02:00
Christian Helmuth 28764e2332 Increase cap quota for wifi_drv 2017-08-30 10:01:35 +02:00
Christian Helmuth 23b78c76cb Increase cap quota for test-smartcard 2017-08-30 10:00:01 +02:00
Alexander Boettcher 903cd8d719 noux_net_netcat: use disjoint mac addresses for platforms 2017-08-30 10:00:01 +02:00
Alexander Boettcher def14f327d okl4: remove tools of okl4 during make clean 2017-08-30 10:00:01 +02:00
Alexander Boettcher 4c382d85b2 sel4: adjust cap ram quota of fault_detection.run 2017-08-30 10:00:01 +02:00
Martin Stein 12eb7a44d0 x86 timeout test: consider instable tsc (quickfix)
This is a quickfix to avoid testing microseconds precise time on older x86
machines that have no invariant TSC as interpolation source.

Ref #2400
2017-08-30 10:00:01 +02:00
Christian Helmuth fd344eb273 netperf: use disjoint mac addresses for platforms 2017-08-30 10:00:00 +02:00
Christian Helmuth 3bc93d1242 vbox: fine-tune automatic test runs on Muen
Currently, only win7 32-bit tests run successfully and are whitelisted.
We may extent the list in future with other supported guests.
2017-08-30 10:00:00 +02:00
Christian Helmuth ae0c9e7692 Increase cap quota for usb_drv 2017-08-30 10:00:00 +02:00
Sebastian Sumpf f361cb28a5 base-hw: timer support for RISC-V
issue #2423
2017-08-30 10:00:00 +02:00
Alexander Boettcher bcfcc1db9c sel4: handle unmap error more gracefully
Issue #2505
2017-08-30 10:00:00 +02:00
Sebastian Sumpf 9094517809 base-hw: BBL fix warnings
* fix compile warnings
* added license headers to Genodes' part of BBL

issue #2423
2017-08-30 10:00:00 +02:00
Sebastian Sumpf 991a5a5622 ldso: export symbols required by RISC-V
issue #2423
2017-08-30 09:59:59 +02:00
Sebastian Sumpf e17accb3ba base-hw: RISC-V save/restore 'x29' correctly
* register x29/t4 was not saved and therefore not restored correctly
* change 'warning' to 'error' before '_die' is called

issue #2423
2017-08-30 09:59:59 +02:00
Christian Helmuth 2f38f50b1e Revert "vbox4: disable muen run targets due to issue #2399"
This reverts commit 523b317fe6.
2017-08-30 09:59:59 +02:00
Josef Söntgen bc0c78708c sdl: add OpenGL support
Issue #2507.
2017-08-30 09:59:59 +02:00
Josef Söntgen 0fa9a0dda7 sdl: adapt test programm
Issue #2507.
2017-08-30 09:59:59 +02:00
Sebastian Sumpf b9bc48dd63 mesa: split lib and API (headers)
Issue #2507.
2017-08-30 09:59:58 +02:00
Sebastian Sumpf 89cb3aa238 mesa-demos: add more examples
Issue #2507.
2017-08-30 09:59:58 +02:00
Sebastian Sumpf dbeb7410f8 mesa: adjust i965 EGL backend for Gpu session
Issue #2507.
2017-08-30 09:59:58 +02:00
Josef Söntgen 947235ee34 drm: use Gpu session for i965 driver
Issue #2507.
2017-08-30 09:59:58 +02:00
Josef Söntgen 198019edca os: add Gpu driver for Intel Gen8 HD graphics
This commit introduces a experimental 3D driver for Intel Gen8 HD
graphics devices as well as the corresponding Gpu session.

Fixes #2507.
2017-08-30 09:59:57 +02:00
Josef Söntgen 1ac7b034ba launchpad: add Gpu to service list
Issue #2507.
2017-08-30 09:59:57 +02:00
Alexander Boettcher 830f6934f9 base: add support to unconstrain virtual space
Issue #2507.
2017-08-30 09:59:57 +02:00
Emery Hemingway 604ff9ca2c msync and Sytem V semaphore dummies
Ref #2467
2017-08-30 09:59:57 +02:00
Emery Hemingway c2c47d2e35 libc: silence close() failure messages
Return EBADF but do not log an error for invalid descriptors.

Ref #2467
2017-08-28 16:49:51 +02:00
Emery Hemingway 2c4f0e5505 port of PCG random number generator library
http://www.pcg-random.org/
http://www.pcg-random.org/using-pcg-c.html

Ref #2477
Fix #2499
2017-08-28 16:49:51 +02:00
Emery Hemingway 1fce8d0d74 default ahci_drv and part_blk Block sessions to read-only
Add a "writeable" policy option to the ahci_drv and part_blk Block
servers and default from writeable to ready-only. Should a policy
permit write acesss the session request argument "writeable" may still
downgrade a session to ready-only.

Fix #2469
2017-08-28 16:49:51 +02:00
Alexander Boettcher cf2886dc8f core: avoid freeing memory of unknown state
This should actually never happen. However if it happens, be a bit robuster
and don't provide the memory for re-use (which causes tons of other trouble
afterwards).

Issue #2505
2017-08-28 16:49:51 +02:00
Josef Söntgen 404a82d5ee register_set: do not shift when ITEM_WIDTH is 64
Issue #2507.
2017-08-28 16:49:50 +02:00
Martin Stein 7f29eff75a hw lapic: find best frequency dynamically
Some x86 machines do have a LAPIC speed < 1000 ticks per millisecond
when configured to use the maximum divider (as it was always the case).
But we need microseconds precision for the timeout framework. Thus,
reduce the divider dynamically until the frequency fullfills our
requirements.

Ref #2400
2017-08-28 16:49:50 +02:00
Martin Stein d9073a1848 timer/util: generic TIMER_MIN_TICKS_PER_MS
Ref #2400
2017-08-28 16:49:50 +02:00
Martin Stein ffaf99ae86 timeout test: remove error-limit exception for PIT
The problems with the PIT timer drivers were fixed so it is not necessary
anymore to treat them special.

Ref #2400
2017-08-28 16:49:49 +02:00
Martin Stein 399e1586be timer: generic timer_ticks_to_us implementation
There are hardware timers whose frequency can't be expressed as
ticks-per-microsecond integer-value because only a ticks-per-millisecond
integer-value is precise enough. We don't want to use expensive
floating-point values here but nonetheless want to translate from ticks
to time with microseconds precision. Thus, we split the input in two and
translate both parts separately. This way, we can raise precision by
shifting the values to their optimal bit position. Afterwards, the results
are shifted back and merged together again.

As this algorithm is not so trivial anymore and used by at least three
timer drivers (base-hw/x86_64, base-hw/cortex_a9, timer/pit), move it to a
generic header to avoid redundancy.

Ref #2400
2017-08-28 16:49:49 +02:00
Martin Stein 652187b25e timer pit: fix precision reduction to milliseconds
Due to the simplicity of the algorithm that translated from timer ticks
to time, we lost microseconds precision although the timer allows for it.

Ref #2400
2017-08-28 16:49:49 +02:00
Martin Stein 16745946e0 hw pit: fix precision reduction to milliseconds
Due to the simplicity of the algorithm that translated from timer ticks
to time, we lost microseconds precision although the timer allows for it.

Ref #2400
2017-08-28 16:49:49 +02:00
Martin Stein 02bbb2efaf test/timeout: use elapsed_us instead of elapsed_ms
Ref #2400
2017-08-28 16:49:49 +02:00
Martin Stein 22294d3b18 timer connection: fix division by null
When synchronizing with the remote time source, we have to take care that the
measured time difference cannot become null because its real value is smaller
than the measurement granularity. Since the granularity is one microsecond, we
simply go on polling timestamp and time until the microsecond has passed.
This busy waiting should be no problem for the system for two reasons. First,
it is limited to a relatively small amount of time and second, a busy lock
does not happen because the time source that is responsible for the limiting
factor is explicitely called on each poll.

Ref #2400
2017-08-28 16:49:49 +02:00
Christian Helmuth 2356128237 Remove unused Qemu TCP redir from autopilot scripts 2017-08-28 16:49:48 +02:00
Christian Helmuth 1f0f182151 Increase cap quota for test-pthread
The test creates 100 pthreads in a loop, which should immediately
self-destruct. Therefore, we can grant more than 130 caps.
2017-08-28 16:49:48 +02:00
Christian Helmuth 21116803b3 Cleanup warning message from %p 2017-08-28 16:49:48 +02:00
Alexander Boettcher e73521a95e nova: fix fpu nullpointer access in kernel 2017-08-28 16:49:48 +02:00
Alexander Boettcher d424f6e066 vbox*.run: fix scripts
- cap quota shortage
- ram quota shortage
- limit VM memory to 1 GB (before 9 GB) in multiple run test case
2017-08-28 16:49:48 +02:00
Christian Prochaska ee352abc56 run: add Xen support
When building Genode on a Linux system running in a Xen Dom0, the 'xen'
run target can run a Genode scenario in a Xen DomU.

Usage: in build/x86_*/etc/build.conf, define:

RUN_OPT = --include boot_dir/$(KERNEL) --include image/iso --include power_on/xen --include log/xen --include power_off/xen

The Xen DomU runs in HVM mode and loads Genode from an ISO image. Serial
log output is printed to the console and graphical output is shown in an
SDL window.

The Xen DomU ist managed using the 'xl' command line tool and it is
possible to add configuration options in the 'xen_args' variable in a run
script. Common options are:

- disabling the graphical output:

  append xen_args { sdl="0" }

- configuring a network device:

  append xen_args { vif=\["model=e1000,mac=02:00:00:00:01:01,bridge=xenbr0"\] }

- configuring USB input devices:

  append xen_args { usbdevice=\["mouse","keyboard"\] }

Note: the 'xl' tool requires super-user permissions and interactive
password input can be troublesome in combination with 'expect' and is not
practical for automatic tests. For this reason, the current implementation
assumes that no password input is needed when running 'sudo xl', which can
be achieved by creating a file '/etc/sudoers.d/xl' with the content
'user ALL=(root) NOPASSWD: /usr/sbin/xl'
(where 'user' is the Linux user name).

Fixes #2504
2017-08-28 16:49:48 +02:00