Commit Graph

3968 Commits

Author SHA1 Message Date
Norman Feske
cc8b03ae4f depot_deploy: customization hooks for start nodes
This patch enables the manual customization of 'ram', 'caps', and
'version' attributes of start nodes.
2018-02-15 10:27:00 +01:00
Norman Feske
7260a16f67 driver manager: key remappings for sculpt
This patch adds two key remappings for the magic keys of the sculpt
scenario. KEY_DASHBOARD toggles the leitzentrale. KEY_RESTART resets
the noux-control subsystem of the leitzentrale.

Issue #2676
2018-02-15 10:27:00 +01:00
Norman Feske
ead12669d5 gems: depot_deploy.run
This scenario is meant as a playgound for the depot_deploy component and
as a testing environment while creating new runtime packages.

Issue #2676
2018-02-15 10:26:46 +01:00
Norman Feske
fc902b797e depot: runtime definitions for sculpt installation
This patch supplements 'runtime' files to several pkg archives,
which thereby become deployable by the depot_deploy tool.

Issue #2676
2018-02-15 10:22:10 +01:00
Norman Feske
0253cdd50c ports: src/e2fsprogs-minimal noux package 2018-02-15 10:22:10 +01:00
Norman Feske
1053d78201 ports: src/bash-minimal noux package 2018-02-15 10:22:10 +01:00
Norman Feske
5d9eb55274 driver manager: policy for 'default' block device
If only a single AHCI device is present, the block service provided by
the drivers subsystem allows the client to refer to this block device
via the label 'default'.

Issue #2676
2018-02-15 10:22:10 +01:00
Norman Feske
69ac68ca98 nit_fb: prevent enlarging mode when out of RAM
This patch adds a safety check to nit_fb to ensures that nit_fb never
runs out of RAM. Should the available RAM not suffice for resizing the
virtual framebuffer to a new mode, it keeps the current mode.
2018-02-15 10:22:10 +01:00
Emery Hemingway
013eb506a8 Vfs::Dir_file_system: do not use Vfs_handle for opening directories as files
The Dir_file_system uses static cast to convert handles from the
application to a plugin local type. For this reason, only the local
handle type may be returned from 'opendir' or 'open'. This fixes the
unexpected behavior when opening directories as files.

Fix #2533
2018-02-15 10:22:09 +01:00
Emery Hemingway
2bbb183a18 Libc: check O_DIRECTORY flag at 'open' and 'read'
Return an error when opening a file with 'O_DIRECTORY'. Return an error
when reading directories.

Ref #2533
2018-02-15 10:22:09 +01:00
Emery Hemingway
2b006dbaac Noux: no read/write on open directories
Directories may be opened, but they cannot be read from or written to.

Ref #2533
2018-02-15 10:22:09 +01:00
Alexander Boettcher
e05a708024 os: reset packet_allocator members
Fixes #2632
2018-02-15 10:22:09 +01:00
Christian Prochaska
70112d29da depot: preserve timestamps in source packages of Noux applications
Fixes #2680
2018-02-15 10:22:09 +01:00
Alexander Boettcher
accc7e7521 fs servers: handle result propagation better
This patch removes the notion of partial writes from the file-system
servers. Since write operations are asynchronously submitted, they are
expected to succeed completely, except for I/O errors. I/O errors are
propagated with the write acknowledgement but those are usually handled
out of band at the client side. Partial writes must never occur because
they would go undetected by clients, which usually don't wait for the
completion of each single write operation.

Until now, most file-system servers returned the number of written bytes
in the acknowledgement packet. If a server managed to write a part of
the request only, it issued the acknowledgement immediately where it
should have cared about writing the remaining part first.

The patch detects such misbehaving server-side code. If partial writes
unexpectedly occur, it prints a message and leaves the corresponding
request unacknowdleged.

Issue #2672
2018-02-15 10:22:08 +01:00
Alexander Boettcher
f4e9c94bf2 vfs lib: complain about unsuccessful fs packets
Issue #2672
2018-02-15 10:22:08 +01:00
Alexander Boettcher
bfd24de4ad vfs: notify all blockers in fs adapter
if requested so ( by _post_signal_hook.arm(nullptr) )

Issue #2664
2018-02-14 20:41:10 +01:00
Alexander Boettcher
f05c4df36a vfs: handle submit_ready signal in fs adapter
to avoid starvation.

Issue #2664
2018-02-14 20:41:09 +01:00
Emery Hemingway
4a3fc21ada New watch handle mechanism for File_system session
File_system clients may now watch files and directories for changes by
opening a 'Watch_handle' rather than submitting a 'CONTENT_CHANGED'
packet to the server. When a change happens at a node with an open
Watch_handle a CONTENT_CHANGED packet will be sent from the server to
the client. This serializes registration with other handle operations
and separates I/O handle state from notification handle state.

Test at run/fs_rom_update.

Ref #1934
2018-02-14 20:41:09 +01:00
Alexander Boettcher
21b2b7e1ea rump: handle error case in vm_vfs rump layer
Fixes #2677
2018-02-14 20:41:09 +01:00
Hinnerk van Bruinehsen
ff7e8086d7 bash: update to version 4.4.18 2018-02-14 20:41:09 +01:00
Hinnerk van Bruinehsen
fce01f8b84 sed: update to version 4.4 2018-02-14 20:41:09 +01:00
Hinnerk van Bruinehsen
f2d1ba483e which: update to version 2.21 2018-02-14 20:41:09 +01:00
Hinnerk van Bruinehsen
e0f9e26c21 findutils: update to version 4.6 2018-02-14 20:41:08 +01:00
Hinnerk van Bruinehsen
78ad18ca45 tar: update to version 1.30 2018-02-14 20:41:08 +01:00
Hinnerk van Bruinehsen
86e0c45514 coreutils: update to version 8.29 2018-02-14 20:41:08 +01:00
Hinnerk van Bruinehsen
047275f16b grep: update to version 3.1 2018-02-14 20:41:08 +01:00
Hinnerk van Bruinehsen
e57863c0e5 less: update to version 487 2018-02-14 20:41:08 +01:00
Emery Hemingway
d82ddeeaff Add Intel Wireless-N 1000 to raw/wifi_firmware
Fix #2674
2018-02-14 20:41:07 +01:00
Emery Hemingway
90753f3e50 Update Fatfs library to 0.13a, vfs_fatfs recipe
Fix #2673
2018-02-14 20:41:07 +01:00
Emery Hemingway
db20aad591 VFS Rump: increase open file limit
Ref #2642
2018-02-14 20:41:07 +01:00
Emery Hemingway
980a2da677 VFS Rump: catch exceptions, print unhandled errors
Ref #2642
2018-02-14 20:41:07 +01:00
Emery Hemingway
c7d0accac0 VFS: catch Out_of_ram and Out_of_cap exceptions
Catch out of RAM and capability exceptions and return error values.
Abort opening a composite directory at Dir_file_system where an
opendir call on any child file-system returns an OUT_OF_RAM or
OUT_OF_CAPS error.

Ref #2642
2018-02-14 20:41:07 +01:00
Alexander Boettcher
c34a4bfdb4 vbox5: update to 5.1.32
Issue #2658
2018-02-14 20:41:06 +01:00
Alexander Boettcher
e156511157 vbox5: update to 5.1.30
Issue #2658
2018-02-14 20:41:06 +01:00
Alexander Boettcher
529be993c7 vbox5: update to 5.1.28
Issue #2658
2018-02-14 20:41:06 +01:00
Alexander Boettcher
d76826ae83 vbox5: update to 5.1.26
Issue #2658
2018-02-14 20:41:06 +01:00
Alexander Boettcher
bd81eac98b vbox5: update to 5.1.24
Issue #2658
2018-02-14 20:41:06 +01:00
Alexander Boettcher
8287abf63f virtualbox.run: switch to vbox5
Issue #2658
2018-02-14 20:41:05 +01:00
Christian Prochaska
50966583f6 noux: handle short writes in the libc plugin
Fixes #2661
2018-02-14 20:41:05 +01:00
Alexander Boettcher
2ee15cc2e0 nova: enable -Weffc++ for kernel
Issue #465
Issue #2646
2018-02-14 20:41:05 +01:00
Alexander Boettcher
711cce3f4d nova: provide exec. time caused by cross core IPC
Issue #2646
2018-02-14 20:41:05 +01:00
Alexander Boettcher
9269d09e18 sel4: support tracing of exec. time of core thread
Issue #2646
2018-02-14 20:41:04 +01:00
Alexander Boettcher
2bd873e2b4 nova: support tracing of exec. time of core thread
Issue #2646
2018-02-14 20:41:04 +01:00
Norman Feske
cd7e3425ee nit_fb: allow screen-relative initial_width/height
This change enables the use of negative values for the 'initial_width'
and 'initial_height' attributes to specify values that are relative to
the screen size. This is consistent with the meaning of the 'width' and
'height' attributes.
2018-02-14 20:41:04 +01:00
Norman Feske
cd45a3b8d6 libports: set mupdf gamma value to 1.5
This makes the look of tikz illustrations consistent with the look when
viewing them in evince (as I do while creating them).
2018-02-14 20:41:04 +01:00
Norman Feske
065c2163dd depot: recipe for src/depot_deploy 2018-02-14 20:41:04 +01:00
Norman Feske
d7522defde depot_deploy: support multiple runtimes
This patch changes the 'depot_deploy' tool to spawn any number of
runtimes. In contrast to the original version, which merely consumed a
blueprint generated by a pre-configured 'depot_query' instance, the new
version actively generates queries as needed. So there is a feedback
loop between 'depot_deploy' and 'depot_query'. The instantiation of
subsystems is controlled by the '<start>' nodes of the 'depot_deploy'
configuration. For each start node, the tool tries to determine the
ingredients (provided by the depot) by asking the 'depot_query' tool.
Once the information is complete, a corresponding start node of the
dynamic init instance is generated.
2018-02-14 20:41:03 +01:00
Norman Feske
3149506963 depot_query: refined <runtime> node structure
This patch introduces the subnodes <provides>, <requires>, and
<content> to the <runtime> node. All <rom> sessions that are
expected from the depot appear within the <content> node, which
sets them nicely apart from <rom> sessions that may be required
as runtime arguments.

Note that the <requires> and <provides> nodes do not appear in the
patch because the existing depot_deploy tool does not interpret this
information (the pkg/test-fs_report runtime does not provide any
service, and the timer session is provided as a common route).
2018-02-14 20:41:03 +01:00
Norman Feske
a57dd46aff depot_query: obtain query from separate ROM
This patch adds the config attribute 'query'. If set to the value "rom",
the query information is obtained from a ROM session labeled "query".
Otherwise, the query information is expected to be part of the config.

This enables us to use the component in two different scenarios. In
one scenario, 'depot_query' is embedded in a managed dynamic init.
Here, taking the query from the config is easy. In the other scenario,
'depot_query' is running as a daemon with a once-configured VFS but
varying queries. The queries originate from a component that does not
control the 'depot_query' config.
2018-02-14 20:41:03 +01:00
Norman Feske
a22b0c3ac6 noux: respond to terminal-size changes 2018-02-14 20:41:03 +01:00
Norman Feske
8aa1e349fc terminal session: propagate resize events
The new 'Terminal_session::size_changed_sigh' RPC function registers a
signal handler that is triggered each time when the terminal size
changes. It enables the client to adjust itself to the new size by
subsequently calling the 'size' RPC function. Of all terminal servers,
only the graphical terminal triggers this signal.
2018-02-14 20:41:03 +01:00
Norman Feske
96a068f90a terminal: improve internal structure
This patch reorganizes the terminal's source code to become easier to
extend. It also enables the strict warning level.
2018-02-09 14:04:32 +01:00
Christian Prochaska
12c8e51071 terminal fixes
- handle line wraps in 'ech()'
- take (1,1) origin into account in 'hpa()' and 'vpa()'
- unify handling of SGR escape sequences of different lengths
- accept the '[?2004h' and '[?2004l' escape sequences (used by midnight commander)

Fixes #2671
2018-02-09 14:04:25 +01:00
Norman Feske
fefeb29d5f Depot-download subsystem 2018-02-09 14:04:17 +01:00
Norman Feske
66a93d9199 os: add 'Expanding_reporter' to os/reporter.h
The 'Expanding_reporter' wrapper for the 'Reporter' eliminates
the burden of handling 'Xml_generator::Buffer_exceeded' exceptions
from components that generate reports.

Fixes #2655
2018-02-09 14:04:06 +01:00
Norman Feske
8d09d02b85 depot: update recipe hashes 2018-02-09 13:34:24 +01:00
Stefan Kalkowski
9d16169a65 run: remove NIC driver from nic_*.run tests
Instead of having a lot of platform specific quirks in the run test,
and to also test it on platforms currently missing a NIC driver,
this commit removes hardware drivers from the nic_router and
nic_bridge run scripts, and uses the nic_loopback server instead.
2018-02-09 13:34:24 +01:00
Christian Helmuth
4853d61c3b qt5: download qtscriptclassic via http
FTP repeatedly causes trouble in some regions.
2018-02-09 13:34:24 +01:00
Martin Stein
abf9557bb5 AVL node/tree: make non-copyable
AVL trees can't be copied with the default copy constructor as the
parent pointer of the first item of both of the resulting trees would
point to the original tree. Copying an AVL node, however, generally
violates the integrity of the corresponding tree. The copy constructor
of Avl_tree is used in some places but in those places it can be
replaced easily. So, this commit deletes the copy constructor of
Avl_node_base which makes Avl_node and Avl_tree non-copyable.

Issue #2654
2018-02-09 13:34:23 +01:00
Martin Stein
4e9ff5ad7b trace_subject_reporter: fix missing include
Issue #2654
2018-02-09 13:34:23 +01:00
Emery Hemingway
79a433ae77 Fix Nim release mode
Append "-d:release" to NIM_OPTS, not NIM_ARGS in the 'release' spec.
Compiling for a release removes some runtime assertions.

Fix #2662
2018-02-09 13:34:23 +01:00
Christian Helmuth
bb9d15b8b9 intel_fb: prevent destruction of session singleton
Issue #2588
2018-02-09 13:34:22 +01:00
Stefan Kalkowski
28f7568e82 run: always return driver names in platform.inc
On platforms without nic or audio driver support, the corresponding
functions to return the correct names should return a meaningful
name instead of an empty list. Otherwise, in an erroneous run-script
that calls those functions to append names to the boot modules
the whole 'bin' directory is appended instead, which leads to big
image files or errors when linking the boot modules to core.
2018-02-09 13:34:22 +01:00
Stefan Kalkowski
e9a8d83eb5 depot: recipe for clipboard
Ref #2446
2018-02-09 13:34:22 +01:00
Stefan Kalkowski
7ba6297988 clipboard: handle focus at startup
Fixes #2667
2018-02-09 13:34:22 +01:00
Stefan Kalkowski
c79ffc5c79 dde_ipxe: build for x86 only
Fixes #2666
2018-02-09 13:34:22 +01:00
Christian Helmuth
30b0bd641f Remove obsolete config_args library dependency 2018-02-09 13:34:21 +01:00
Christian Prochaska
3c3c86bdba noux_tool_chain_auto.run: use '[depot_dir]' instead of '$genode_dir/depot'
Fixes #2663
2018-02-09 13:34:21 +01:00
Christian Helmuth
166e487559 libc: withstand pthreads calling with_libc() 2018-02-09 13:34:21 +01:00
Christian Prochaska
584aaec2a5 noux: close files marked with the 'close_on_execve' flag on 'execve()'
Fixes #2660
2018-02-09 13:34:21 +01:00
Christian Prochaska
c7d1a9e270 noux_tool_chain_auto.run: add tclsh
Issue #2648
2018-02-09 13:34:20 +01:00
Norman Feske
4447a54059 ports: add tclsh as noux package
Fixes #2648
2018-02-09 13:34:20 +01:00
Norman Feske
c2590995c0 posix ABI: require 'main' symbol
Issue #2648
2018-02-09 13:34:20 +01:00
Norman Feske
ddc50431e6 ports: allow more customizations in gnu_build.mk
This patch adds hooks for customizing the location of the configure
script within the package, the build target, as well as the install
step. This is useful for packages like tcl that deviate from the
usual layout of source packages.

Issue #2648
2018-02-09 13:34:20 +01:00
Martin Stein
ccc67d6f68 trace_logger: convenient tracing frontend
The 'trace_logger' component can be used to easily gather, process and export
different types of tracing data. Which subjects to select is configurable via
session label policies and thread names. Which data to collect from the
selected subjects can be configured for each subject individually, for groups
of subjects, or for all subjects. The gathered data can be exported as log
output.

This is an example configuration of the 'trace_logger' component which shows
the default value for each attribute except the policy.thread and
policy.label:

! <config verbose="no"
!         session_ram="10M"
!         session_arg_buffer="4K"
!         session_parent_levels="0"
!         period_sec="5"
!         activity="no"
!         affinity="no"
!         default_policy="null"
!         default_buffer="4K">
!
!    <policy label="init -> timer" />
!    <policy label_suffix=" -> ram_fs" />
!    <policy label_prefix="init -> encryption -> "
!            thread="worker"
!            buffer="4K"
!            policy="null" />
! </config>

For more details see os/src/app/trace_logger/README.

Fixes #2654
2018-02-09 13:34:20 +01:00
Martin Stein
3e6d1b96e7 trace/policy/rpc_name: enable building again
Building this policy was disabled by a REQUIRES = riscv_toolchain_bugfix
to prevent compiler crashes on nightly test builds. Since the latest
RISCV toolchain update, test builds for RISCV crash at much more places
which makes this single work-around senseless.

Issue #2654
2018-02-09 13:34:20 +01:00
Martin Stein
c10554851d trace_session: fix exception list in 'trace' RPC
Trace_session::trace might throw Nonexistant_subject which was neither
documented nor declared in the RPC interface.

Issue #2654
2018-02-09 13:34:19 +01:00
Martin Stein
c68d551c41 base/trace/buffer.h: fix circular #include
Previously, base/trace/buffer.h included base/thread.h which includes
base/trace/logger.h which includes base/trace/buffer.h.

Removed the base/thread.h include in base/trace/buffer.h as it is not
needed.

Issue #2654
2018-02-09 13:34:19 +01:00
Martin Stein
ef1dee8bc6 init config.xsd: add ld_verbose attribute
Issue #2654
2018-02-09 13:34:19 +01:00
Johannes Schlatow
bfe0031304 base-hw: enable SMP support for Zynq-7000 boards
Issue #2641
2018-02-09 13:34:19 +01:00
Emery Hemingway
abd536d5d3 Libc: zero sysctl buffer before strncpy
The uname utility from coreutils needs its read buffer zero-terminated,
regardless of read length.

Fix #2657
2018-02-09 13:34:18 +01:00
Christian Helmuth
4a444651c5 gems: loop on partial reads in file util 2018-02-09 13:34:18 +01:00
Alexander Boettcher
666f6c9ac4 ahci: enable pci config command memory access
Issue #2620
2018-02-09 13:34:18 +01:00
Alexander Boettcher
fcadbc9023 platform_drv: try enabling msi independent of gsi
value written in pci config space.

Issue #2620
2018-02-09 13:34:18 +01:00
Alexander Boettcher
336140c5f1 platform_drv: enable full access for pci bridges
Issue #2620
2018-02-09 13:34:18 +01:00
Alexander Boettcher
1f1d1af041 dde_linux: enable pci config command memory access
Issue #2620
2018-02-09 13:34:18 +01:00
Norman Feske
10f1616c28 base: add util/list_model.h
The new 'List_model' utility helps with the implementation of
component-internal data models created and updated from XML.

Fixes #2653
2018-02-09 13:34:17 +01:00
Norman Feske
cde8163770 os: make 'Buffered_xml' util publicly available
The 'Buffered_xml' utility is used by three components and a fourth is
on the way. To avoid another duplication of the code, this patch makes
it publicly available at 'os/buffered_xml.h'.
2018-02-09 13:34:17 +01:00
Norman Feske
faea43906f init test: conserve RAM in dummy app
This patch replaces the 'Heap' by a 'Sliced_heap' to avoid the
allocation of a 16 KiB memory block when 'dummy' acts as a server. On
seL4, such an allocation would exceed the 1M quota as assigned by the
init.run script.
2018-02-09 13:34:17 +01:00
Roman Iten
9175d801e0 qt5: emit started signal in qthread
Fixes #2651.
2018-02-09 13:34:17 +01:00
Christian Prochaska
d0eacdd0d6 stdcxx: define _GLIBCXX11_USE_C99_STDLIB
Fixes #2652
2018-02-09 13:34:17 +01:00
Josef Söntgen
fe6f616cf1 nit_fb: add attribute for initial dimensions
The 'initial_width' and 'initial_height' attributes were added to
accomodate the use-case to set the initial dimensions whenever 'nit_fb'
is used in a dynamic fashion, e.g, in combination with a window manager.
These attributes may not be mixed with the 'width' and 'height'
attributes, which are mostly used when a static size configuration is
desired.
2018-02-09 13:34:16 +01:00
Martin Stein
6575df84c5 nic_router: fix use of outdated ARP-cache entries
When a NIC session is destructed at the router, we have to remove all ARP
cache entries that match the MAC address of that session. Otherwise the
outdated entries might be re-applied later, leading to wrong destination
MAC addresses in routed packets.

Fixes #2637
2018-02-09 13:34:16 +01:00
Pirmin Duss
0423eb4499 stdcxx: fix src recipe
fixes #2649
2018-02-09 13:34:16 +01:00
Alexander Senier
33ba587813 stdcxx: Add missing symbols to ABI
- typeinfo for std::runtime_error
- typeinfo for std::regex_error
- vtable for std::regex_error
2018-02-09 13:34:16 +01:00
Norman Feske
c7fa3b69d9 file_terminal: remove superfluous log message 2018-02-09 13:34:16 +01:00
Norman Feske
e9b9f684ef os: reduce log noise by trace-info apps 2018-02-09 13:34:16 +01:00
Alexander Boettcher
a9a8c65f53 base: remove debug message from Allocator_guard 2018-02-09 13:34:15 +01:00
Norman Feske
e6b87e9d20 depot_query.run: use label_last 2018-02-09 13:34:15 +01:00
Norman Feske
4619e2e84c init: new label_last attribute for session routes
Fixes #2647
2018-02-09 13:34:15 +01:00
Norman Feske
eff67d3131 depot_query: support nested pkgs and raw content 2018-02-09 13:34:15 +01:00
Norman Feske
5641ebcd1b depot_query: 'binary' and 'config' as attributes
By specifying the 'config' of a '<runtime>' as an attribute, we can
distinguish the case where the config is obtained from a ROM session
from the case where the config is specified inline as a '<config>' node.
2018-02-09 13:34:15 +01:00
Norman Feske
506bc023b7 depot: add layouter.config to raw/wm
This way, the wm subsystem does no longer propagate the ROM request for
the layouter configuration via the label 'config' to the parent.
2018-02-09 13:34:15 +01:00
Norman Feske
f07cfbe02d depot: add missing nit_fb to pkg/pdf_view 2018-02-09 13:34:14 +01:00
Norman Feske
18d963419d depot: recipe for src/depot_query 2018-02-09 13:34:14 +01:00
Norman Feske
c8c910a41b fetchurl: dim debug-message noise 2018-02-09 13:34:13 +01:00
Norman Feske
f1ce555cd9 depot: recipes for src/extract and used libs 2018-02-09 13:34:13 +01:00
Norman Feske
5b6bd8459f Signature checking tool based on GnuPG
The new 'verify' component facilitates the code of GnuPG to verify
detached OpenPGP signatures against public keys.

Since GnuPG depends on libgcrypt and libgpg-error, the patch adds these
libraries to the libports repository.

Fixes #2640
2018-02-09 13:34:13 +01:00
Norman Feske
8fca8a9a04 nitpicker: refresh when focused client disappears
This fix handles the case where the focused domain loses its focus
because the currently focused client vanishes. In this case, the focus
will be undefined and the non-focused views of the domain become
tinted again. The refresh should take effect immediately as soon as the
client vanishes.
2018-02-09 13:34:13 +01:00
Norman Feske
e0e9b3b32e init: close all sessions of exited children
With this patch, init responds to the exit of a child by closing all
sessions of the child. E.g., if a child is a GUI application, its
nitpicker session is closed at the time of exit, not at the time when
the start node disappears from init's configuration.

Since this change requires a modification of the 'Genode::Child' class,
it takes the chance to make the child-destruction less brutal. The
new version ensures that all threads of the destructed subsystem are
destructed before other sessions, in particular PD sessions. This
eliminates spurious page-fault warnings during the child destruction.

On Fiasco.OC, closing the CPU session of a thread while being called by
the thread causes a deadlock. Hence, we skip the eager destruction of
CPU sessions on this kernel.

Related to issue #2659
2018-02-09 13:31:27 +01:00
Martin Stein
fe46d50ab3 netperf tests: test nic_router throughput
Adds two new netperf tests, netperf_lxip_router and netperf_lwip_router
who test the TCP throughput of the NIC router when routed with a tcp-forward
rule and NAT.

Issue #2624
2018-02-09 13:26:03 +01:00
Alexander Boettcher
02d33e7b28 nova: disable IOMMU fault reporting on-demand
if too many faults are caused by devices.

Fixes #2631
2018-02-09 13:26:02 +01:00
Alexander Boettcher
df26dc07e9 trace_subject_reporter: adjust ram usage
to trace connection

Issue #2638
2018-02-09 13:26:02 +01:00
Alexander Boettcher
7c0894159f top: consider dead thread with execution time
which executed in the current measurement period but are now dead.
Keep the Entry object up to next period, where the recent_execution_time will
become 0 since it will not execute definitely.

Issue #2638
2018-02-09 13:26:02 +01:00
Alexander Boettcher
2a0f940bd7 top: adapt to ram usage of trace connection
Issue #2638
2018-02-09 13:26:02 +01:00
Alexander Boettcher
9fc4ee5f6c base: free up all meta-data of trace subjects
Issue #2638
2018-02-09 13:26:02 +01:00
Martin Stein
26f65f4996 Xml_node: fix bug in Xml_node::decoded_content
Previously, the dst_len value was not decreased after each character that was
written to the dst buffer. This way, if the content length was greater than
dst_len, decoded_content wrote to memory out of bounds.

Issue #2644
2018-02-09 13:26:02 +01:00
Martin Stein
84e476facb Xml_node: do not consider '0' in decoded_content
Do not leave space for a terminating '0' at the end of the dst buffer in
decoded_content as the method does not write this '0'. The caller of the
method shall take care of it instead.

Issue #2644
2018-02-09 13:26:01 +01:00
Martin Stein
1936667a53 test/xml_node: test Xml_node::decoded_content
Issue #2644
2018-02-09 13:26:01 +01:00
Sebastian Sumpf
963f5de117 vbox5: increase boot speed of Linux guests
Until now, if we examined an EPT fault and the corresponding guest
physical memory was not allocated, we forwarded the faulting instruction
to the instruction emulator, which in turn handled the memory allocation
implicitly. This lead to long instruction emulation times on certain
instructions (e.g. 'rep mov' on large memory junks).  Therefore, we now
allocate and map the corresponding guest physical memory immediately in
the EPT fault handler and directly return to the guest.

fixes #2645
2018-01-17 12:19:44 +01:00
Christian Helmuth
6013889028 depot: update recipe hashes 2018-01-17 12:14:44 +01:00
Christian Helmuth
ce44dcf9c1 netperf: explicitly test IPv4 only 2018-01-17 12:14:44 +01:00
Christian Helmuth
a1e22789af fetchurl: NIC driver binary from platform_drv.inc 2018-01-17 12:14:43 +01:00
Christian Helmuth
d26554f38d vbox: support symlinks on host file system
Before this commit, symbolic links in shared folders lead to the use of
unimplemented functions, ie., halted the VMM.
2018-01-17 12:14:43 +01:00
Josef Söntgen
4009239328 vfs: skip synced file systems in complete_sync
Fixes #2606.
2018-01-17 12:14:43 +01:00
Josef Söntgen
fb1c504568 gpu: the Intel multiplexer is only for x86_64
Require x86_64 because memory/adress space limitations on x86_32
restrict the use-cases on such a platform anyway. Doing that,
we can also assume that memory adresses are always 64bit long and
do not have to handle 32bit adresses.
2018-01-17 12:14:43 +01:00
Christian Helmuth
55b070d204 Update download URL of mpc library port 2018-01-17 12:14:43 +01:00
Martin Stein
8844c57254 net-stat: remove as it is not used and outdated
According to the creator of the net-stat lib, this lib was a mere debugging
tool that is not used anymore nor worth the work of updating the it to
modern Genode coding paradigms. Also, there exist no tests for the lib.
2018-01-17 12:14:42 +01:00
Norman Feske
80ef5fa73c Enable use of 'check_abi' in build system
This patch invokes the 'check_abi' tool for each shared library that
implements an ABI.

Issue #2639
2018-01-17 12:14:42 +01:00
Christian Helmuth
b7fffb1b24 abi: remove duplicates and internal symbols, fix sizes
The most important part of this patch are symbol-size changes, which
potentially lead to data corruption.

Issue #2639
2018-01-17 12:14:42 +01:00
Martin Stein
fbd545ae70 net: remove unused enums
Issue #465
2018-01-17 12:14:41 +01:00
Martin Stein
4f1d43ce21 net: remove placement new operators
They are not used any more.

Issue #465
2018-01-17 12:14:41 +01:00
Martin Stein
f4a2d932e3 net: check packet data size in accessor
Instead of having a method validate_size in each packet class, check
sizes in the data accessor of the surrounding packet class. This packet
accessor is the one that casts the data pointer to the desired data type
so it is sensible that it also checks whether the desired type would
exceed the available RAM before doing the cast. This also fits nicely
the fact that for the top-level packet-class of a packet, the size must
not be checked (which was previously done).

Issue #465
2018-01-17 12:14:41 +01:00
Sebastian Sumpf
89a9e88a7e vfs: GNU long file name support for tar 2018-01-17 12:14:41 +01:00
Josef Söntgen
a867c29633 libc: return on nanosleep with zero timeout
In case the calculated timeout value is zero return directly and do
not call Libc::suspend as it will suspend us indefinitely.

Fixes #2636.
2018-01-17 12:14:40 +01:00
Christian Helmuth
2b711f59ed nit_fb: fix resizing on framebuffer-mode change
Respect relative width/height configuration if the underlying
framebuffer dimensions change.
2018-01-17 12:14:40 +01:00
Christian Helmuth
81ada6b4f2 lwip: tweak configuration for downloading clients
The TCP window scaling is implemented for servers (like netperf's
netserver) only. The client implementation just uses the lower 16 bits
of the TCP_WND configuration value, which we therefore maximize to ~64K.
2018-01-17 12:14:40 +01:00
Norman Feske
bdc8e1f8fb libports: component for extracting archives
Issue #2528
2018-01-17 12:14:39 +01:00
Norman Feske
219218dd38 libarchive: enable support for tar.xz
Issue #2528
2018-01-17 12:14:39 +01:00
Ben Larson
dc246544de port library: liblzma
Issue #2528
2018-01-17 12:14:39 +01:00
Ben Larson
b34f70d312 port library: lz4
Issue #2528
2018-01-17 12:14:39 +01:00
Norman Feske
a36def9a10 depot_query: respond to config updates 2018-01-17 12:14:39 +01:00
Norman Feske
9e0dafbd93 depot_query: move 'Archive' utils to include/depot
This enables other depot tools to use the same utilities.
2018-01-17 12:14:38 +01:00
Norman Feske
9a671cf8bc depot_query: support to query <dependencies>
The '<dependencies>' attribute 'path' refers to a depot archive.
Depending on the attributes 'source="no"' and 'binary="no" (defaults
shown), the depot_query component determines the source/binary
dependencies of the given archive. The result has the form of a report
with a sequence of <missing> and <present> nodes, each equipped with the
'path' of the dependency.
2018-01-17 12:14:38 +01:00
Norman Feske
b0abfc2dcd depot_query: rename <query> to <blueprint> node
Since the <query> node results in the generation of a "blueprint"
report, it should better be named <blueprint>. This also clears the way
for adding further query types such as <dependencies>, following the
same pattern of generating a report of the corresponding query name.
2018-01-17 12:14:38 +01:00
Norman Feske
6552313098 depot_query: query user information
The new '<user name"...">' node allows for querying the download
location and public key of the specified name.
2018-01-17 12:14:38 +01:00
Norman Feske
f5fb9684db gems/vfs.h: intuitive meaning of 'Directory const'
With this patch, it becomes possible to pass a 'Directory const &' to
the constructor of 'File_content', which is intuitive as the directory
content is not changed by reading a file.
2018-01-17 12:14:37 +01:00
Norman Feske
75e22fef4a gems/vfs.h: fix end-of-data condition
The 'File_content::for_each_line' method did not correctly detect the
end of data for files without a trailing linebreak, thereby cutting the
last character from the last line.
2018-01-17 12:14:37 +01:00
Norman Feske
5d6f97cc1d drivers_managed-pc: simplification
This patch removes the former use of ram_fs, fs_rom, and fs_report from
the subsystem and uses a report_rom instead. The fs-based reporting was
introduced to accommodate automatically instantiated usb_block drivers,
which turned out to be impractical for the sculpt scenario.
2018-01-17 12:14:37 +01:00
Norman Feske
95a2fc7167 os: component to reflect ROMs as reports 2018-01-17 12:14:37 +01:00