Commit Graph

282 Commits

Author SHA1 Message Date
Stefan Kalkowski
0f05fa6fd4 base: resolve dead lock in weak pointer templates
This commit eliminates the mutual interlaced taking of destruction lock,
list lock and weak pointer locks that could lead to a dead-lock situation
when a lock pointer was tried to construct while a weak object is in
destruction progress.
Now, all weak pointers are invalidated and dequeued at the very
beginning of the weak object's destruction. Moreover, before a weak pointer
gets invalidated during destruction of a weak object, it gets dequeued, and
the list lock is freed again to avoid the former dead-lock.

Fix #1607
2015-07-21 09:30:04 +02:00
Emery Hemingway
c72c9924d3 init: prios shall not exceed the lowest prio level
Fixes #1570
2015-07-21 09:29:03 +02:00
Martin Stein
eaf4150c7b cpu_quota.run: support X86
The timer driver on X86 needs CPU quota with highest priority as it
frequently has to interrupt the counters to update the PIT.
On ARM this makes no difference in the test results as ARM timer
drivers, once configured, can sleep until the end of the timeouts.
On X86 we raise the error tolerance to 2% (default 1%) to compensate
the error caused by the timer.

Fixes #1621
2015-07-21 09:28:25 +02:00
Martin Stein
53e742fb02 cpu_quota.run: don't get stuck on zero counters
The test previously complained about divide-by-zero if the counters were all
zero.

Fixes #1616
2015-07-21 09:28:25 +02:00
Martin Stein
413741e58c cpu_quota.run: print all errors
Printing all errors and the goal values instead of exiting at the first
error allows for faster analysis of problems with the CPU-quota
mechanism.

Ref #1616
2015-07-21 09:28:25 +02:00
Martin Stein
5189055396 cpu_quota.run: fix bug in error detection
The test always succeeded because I forgot to set the error tolerance from
my debugging value 1 back to the correct value 0.01 before commiting the
test.

Ref #1616
2015-07-21 09:28:25 +02:00
Alexy Gallardo Segura
c14fe7e6c7 foc: Odroid-X2 basic support
Fix #1597
2015-07-21 09:28:25 +02:00
Christian Helmuth
af5c03edaf vfs: depend on ld library
So, users of VFS need not to state this dependency explicitly.
2015-07-07 19:48:07 +02:00
Alexander Boettcher
cb1e0711ec bomb.run: support configuration of many parameters
Adjust bomb to specify the various hard-coded parameters and set up bomb.run
this way that it manages at our test machine to succeed in the given time.

Issue #1615
2015-07-07 19:48:07 +02:00
Stefan Kalkowski
c951c30d8a base: extend weak pointer test (Ref #1607)
Add a test where a locked pointer shall be taken during object destruction.
Moreover, extend the run-script so it runs on different platforms with
"real" timers.
2015-07-07 19:48:06 +02:00
Stefan Kalkowski
89255c3979 remove Versatile Express board (Fix #1611) 2015-07-07 19:48:06 +02:00
Norman Feske
3c0517fe1f init: use binary name as ROM label
Init used to specify the unique child name as session label when
requesting the binary image of a dynamically linked child. The actual
module name was propagated as "filename" session argument. Since we want
to move towards the sole use of the session label, which can be taken
into account for the session routing, the module name should always be
the last part of a ROM session label.
2015-07-07 19:48:06 +02:00
Norman Feske
785cac7168 decorator: consider partially transparent windows
This patch changes the window manager, the decorator, and the
floating window layouter to propagate the usage of an alpha channel from
the client application to the decorator. This way, the decorator can
paint the decoration elements behind the affected windows, which would
otherwise be skipped.
2015-07-07 19:48:06 +02:00
Norman Feske
8b013287ba Simple CPU-time burner application 2015-07-07 19:48:05 +02:00
Norman Feske
0cc314399c nitpicker: make redraw debug feature configurable 2015-07-06 12:22:28 +02:00
Norman Feske
b4ebefd616 cli_monitor: read subsystem configs from VFS
This patch changes the way how CLI monitor obtains its subsystem
configurations. Originally, this information was provided via the
Genode::config mechanism. But for managing complex scenarios, the config
node becomes very complex. Hence, it is preferrable to have a distinct
file for each subsystem configuration.

The CLI monitor scans the directory '/subsystems' for files ending with
".subsystem". Each file has the same syntax as the formerly used
subsystem nodes.
2015-07-06 12:22:27 +02:00
Norman Feske
f917728ecb vfs: let rom fs update ROM when opening file 2015-07-06 12:22:27 +02:00
Sebastian Sumpf
463c9bec17 Replace Nic driver interface by customizable component
Removed the Nic::Driver implementation. All nic servers now inherit from
Nic::Session_component. Packet stream signals are dispatched to
the 'handle_packet_stream' function within a session component. Thus, nic
servers now have direct access to the packet stream channels, making handling
more flexible.

Adjusted nic_loobpack, dde_ipxe, wifi, usb, lan9118, Linux nic, and OpenVPN to
the new interface.

Fixes #1602
2015-07-01 14:46:16 +02:00
Norman Feske
cc4febd1c2 sd_card: SDHCI quirk for 136-bit responses 2015-07-01 14:46:15 +02:00
Norman Feske
ed88d3aa13 Rename "failsafe" test to "fault_detection"
The name "failsafe" will be used for the upcoming failsafe server
wrapper.

Issue #1592
2015-06-22 14:43:40 +02:00
Norman Feske
712875ade4 os: use the server API in server/nic_loopback
This patch also introduces a run script for testing the component.
2015-06-22 14:43:40 +02:00
Norman Feske
5d678dba9e core: throw Trace::Out_of_metadata in subjects()
While importing trace sources as trace subjects into a TRACE session,
the session quota might become depleted. The TRACE session already keeps
track of the session quota via an allocator guard but the 'subjects' RPC
function missed to handle the out-of-memory condition. This patch
reflects the error condition as an 'Out_of_metadata' exception to the
TRACE client. It also contains an extension of the trace test to
exercise the corner case.
2015-06-22 14:43:39 +02:00
Norman Feske
b22f3c67f0 Trace-subject reporter
Issue #813
2015-06-22 14:43:38 +02:00
Norman Feske
959572968d core: provide thread exec times via TRACE service
This patch enable clients of core's TRACE service to obtain the
execution times of trace subjects (i.e., threads). The execution time is
delivered as part of the 'Subject_info' structure.

Right now, the feature is available solely on NOVA. On all other base
platforms, the returned execution times are 0.

Issue #813
2015-06-22 14:43:38 +02:00
Norman Feske
4f88fe7bd0 init: fix label buffer size
This patch bases the size of the destination buffer in
'Init::Child_policy_redirect_rom_file' on the maximum label size
instead of the filename size. Otherwise, the use of a long configfile
name (i.e., "trace_subject_reporter.config") in combination with a long
child name ("trace_subject_reporter") would result in a truncated label
string.
2015-06-22 14:43:38 +02:00
Norman Feske
4616f540df report_rom: clear stale content
When replacing a report with a smaller one, the corresponding ROM
dataspace should not contain any traces of the old report. Otherwise,
the consumer of the ROM dataspace may mistake the stale content as
meaningful information. This is particularly annoying when manually
inspecting reports. This patch overwrites the stale content with zeros.
2015-06-22 14:43:37 +02:00
Norman Feske
cc74204801 os: add Reporter::clear method 2015-06-22 14:43:37 +02:00
Taru Karttunen
5fec78fcd6 Add nullptr error handling in part_blk, fix #1586 2015-06-22 14:43:37 +02:00
Josef Söntgen
80893dfcfc platform_drv: specific AUDIO/HDAUDIO class aliases
The alias AUDIO matches audio multimedia device while the HDAUDIO
alias matches HD audio multimedia devices.

Fixes #1581
2015-06-22 14:43:37 +02:00
Norman Feske
68c6052485 report_rom: zero-terminate reports 2015-06-22 14:43:36 +02:00
Christian Helmuth
178f2c0e88 reporter: support reporting data buffers
Issue #1557
2015-06-22 14:43:36 +02:00
Emery Hemingway
cec2dd3b3f unify file system utilities to os/include/file_system
Fixes #1564
2015-06-22 14:43:36 +02:00
Alexander Boettcher
c72ea84bcd pci: fix irq re-routing discovery
The commit handles the case that a host bridge device is not at 0:0.0 located.

Issue #1547
2015-06-22 14:43:36 +02:00
Norman Feske
fcf35a0397 report_rom: add 'verbose' config attribute 2015-06-22 14:43:35 +02:00
Norman Feske
6f167b449c Let XML generator append a trailing newline
By appending a newline to the generated XML data, we prevent the output
from messing with the command prompt when using 'cat' on a shell.
Futhermore, when using line-buffered output, the trailing newline
ensures that the output gets gets properly flushed.
2015-06-22 14:43:35 +02:00
Norman Feske
613d208045 Fix comment 2015-06-22 14:43:34 +02:00
Alexander Boettcher
1f40d9de6a pci: convert to platform_drv
Fixes #1542
2015-06-22 14:43:34 +02:00
Christian Helmuth
3d7b865251 dynamic_rom: fix returned condition 2015-06-22 14:43:34 +02:00
Alexander Boettcher
52110b9d89 os: remove dde_kit
Issue #1565
2015-06-22 14:43:34 +02:00
Alexander Boettcher
1c38d4903b x86: use report_rom for acpi and pci driver
Issue #1542
2015-06-09 11:00:12 +02:00
Norman Feske
66e5796017 nitpicker: fix Domain_registry destructor
When reloading the nitpicker configuration, the destructor would get
stuck, trying to destroy the same object again and again.
2015-06-09 11:00:12 +02:00
Christian Helmuth
4004a3a9ca cpu_quota: pre-define variables in run script
If a regexp does not match but the variable is used later, the script
exits with an error like

  can't read "slow_quota_sp": no such variable
2015-06-09 11:00:11 +02:00
Alexander Boettcher
8ccac9a3bb pci: fix 'ALL' policy rule handling
Related to #1541.

Fixes #1559
2015-06-09 11:00:11 +02:00
Norman Feske
167925ab76 vfs: add Vfs_handle::Guard utility
Issue #1561
2015-06-09 11:00:11 +02:00
Norman Feske
e3be65833f vfs: decouple file-system factory from libc
This patch moves the VFS file-system factory to a separate vfs library
that is independent from libc. This enables libc-less Genode programs to
easily use the VFS infrastructure.

Fixes #1561
2015-06-09 11:00:10 +02:00
Alexander Boettcher
e1896e3b44 run: add platform_drv include for usage by scripts
Related to #765 and used for issue #1542
2015-06-09 11:00:10 +02:00
Alexander Boettcher
8cf09281c1 acpi: transfer memory quota of pci client/driver
Fixes #1550
2015-06-03 12:53:48 +02:00
Emery Hemingway
2c090119ae ram_fs: writes to files should return length
Fixes #1545
2015-05-28 11:23:18 +02:00
Alexander Boettcher
1592e78387 pci: handle 'class' alias correctly
Fixes #1541
2015-05-27 11:38:54 +02:00
Alexander Boettcher
6133acb179 pci: use per pci session a separate device_pd
Fixes #1539
2015-05-27 11:37:18 +02:00