Commit Graph

311 Commits

Author SHA1 Message Date
58f44d39c5 base: use 'Ram_quota' in 'Ram_session' args
This patch replaces the former use of size_t with the use of the
'Ram_quota' type to improve type safety (in particular to avoid
accidentally mixing up RAM quotas with cap quotas).

Issue #2398
2017-05-31 13:16:04 +02:00
1828f70037 Fix deprecated warnings in servers
Issue #1987
2017-05-31 13:16:02 +02:00
b58fbe5ba5 Depot-archive recipes
Issue #2339
2017-05-31 13:15:56 +02:00
1ed5110d55 wm.run: host window-manager components in sub init 2017-05-31 13:15:56 +02:00
f96b5b89f2 Fix more deprecated warnings
Issue #1987
2017-05-02 15:28:55 +02:00
93b78573bd Remove superfluous 'cxx' from LIBS in target.mk 2017-05-02 15:28:53 +02:00
f3c8233e7f Fix a socket leak when it is closed remotely
Fixes #2346
2017-05-02 15:28:52 +02:00
139525b6c9 cpu_sampler: support -fno-omit-frame-poiner builds 2017-03-24 16:20:04 +01:00
cb43e04691 ldso: defer execution of static constructors
Ldso now does not automatically execute static constructors of the
binary and shared libraries the binary depends on. If static
construction is required (e.g., if a shared library with constructor is
used or a compilation unit contains global statics) the component needs
to execute the constructors explicitly in Component::construct() via
Genode::Env::exec_static_constructors().

In the case of libc components this is done by the libc startup code
(i.e., the Component::construct() implementation in the libc).

The loading of shared objects at runtime is not affected by this change
and constructors of those objects are executed immediately.

Fixes #2332
2017-03-24 16:20:04 +01:00
88db3c0df7 Fix some deprecated warnings
Issue #1987
2017-03-24 16:20:03 +01:00
ca2871e2e4 nova: use 'Native_cpu' component for thread initialization
Pass the thread type and exception base to core with a 'Native_cpu'
component instead of enhancing the 'Thread_state' class.

Fixes #2298
2017-03-15 12:24:42 +01:00
a77e509283 cpu_sampler: kernel-agnostic build support
Fixes #2293
2017-02-28 13:00:42 +01:00
9b8fcb5fd0 nano3d: get rid of env() calls
Issue #1987
2017-02-28 13:00:42 +01:00
51515a598c tcp_terminal: avoid env deprecated warnings
Issue #2280
2017-02-28 12:59:31 +01:00
06f5ee21c0 file_terminal: remove env deprecated warnings
Issue #2280.
2017-02-28 12:59:31 +01:00
29b8d609c9 Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
e266e3cf1d floating_window_layouter: remove deprecated env()
Issue #2280.
2017-02-28 12:59:21 +01:00
e951425c59 nit_fader: fix "deprecated" warning
Issue #1987
2017-02-28 12:59:20 +01:00
e17811fb7a cli_monitor: API transition
Issue #1987
2017-02-28 12:59:20 +01:00
19868de69a launcher: API transition (deprecated warnings)
Issue #1987
2017-02-27 15:37:49 +01:00
c6c79acf8e gems/wm: API transition (deprecated warnings)
Issue #1987
2017-02-27 15:37:49 +01:00
aee90ed453 Adapt components to new Event::CHARACTER type
Issue #2264
2017-02-27 15:37:49 +01:00
455bd9396e gems/terminal: support 'CHARACTER' events
This patch adds the handling of 'CHARACTER' events as emitted by the
input-filter's character generator (<chargen>). To avoid interpreting
press/release events twice (at the input filter and by the terminal's
built-in scancode tracker), the terminal's scancode tracker can be
explicitly disabled via <config> <keyboard layout="none"/> </config>.
In the future, the terminal's built-in scancode tracker will be
removed.

The use of the terminal with the input filter is illustrated by the
'terminal_echo.run' script.

Issue #2264
2017-02-27 15:37:49 +01:00
48150a706b update Reporter constructors
The Reporter utility needs a reference to the environment at
construction to establish Report connections.

Ref #1987
Fix #2232
2017-02-07 19:20:29 +01:00
f8349b5bc7 os/slave.h: Remove use of global allocator
This patch eliminates the need for a global allocator by passing the
parent-service registry as argument to the 'Slave::Policy' constructor.

Fixes #2269
2017-02-07 11:12:28 +01:00
aaa079c360 terminal_mux: fix comment 2017-01-31 14:58:37 +01:00
cd3a5852d6 Warn about the use of deprecated headers
This commit enables compile-time warnings displayed whenever a deprecated
API header is included, and adjusts the existing #include directives
accordingly.

Issue #1987
2017-01-31 12:01:18 +01:00
eb869ab2dc backdrop: API transition (fix deprecated warnings)
Issue #1987
2017-01-31 12:01:13 +01:00
9006b7ea6a cpu_sampler: fix 'Native_cpu_component' for Fiasco.OC
Fixes #2244
2017-01-23 16:46:04 +01:00
645cd88a8b gems/menu_view: adaptation to new libc/vfs config
Issue #2217
2017-01-23 16:46:04 +01:00
dbb641d44a terminal session: return number of bytes written
To better support non-blocking terminal components, let the
'Terminal::Session::write()' function return the number of bytes
actually written.

Fixes #2240
2017-01-20 16:46:59 +01:00
344f6f9e53 os/include/block: API transition (fix 'deprecated' warnings)
...and adaptation of the users of 'Block::Driver', 'Block::Root' and
'Block::Session_component' to the modified interface.

Issue #1987
2017-01-20 16:46:57 +01:00
703d68c7c1 themed_decorator: API transition
Issue #1987
2017-01-13 13:07:16 +01:00
7180851b2f menu_view: API transition
Issue #1987
2017-01-13 13:07:16 +01:00
81862a41e1 decorator: API transition
Issue #1987
2017-01-13 13:07:16 +01:00
99bfc3c0e2 test/decorator_stress: API transition
Issue #1987
2017-01-13 13:07:15 +01:00
6f6f68f216 nitpicker/wm: fix session_control mechanism
The session-control mechanism is based on the way how sessions are
labeled. In #2171, we changed the labeling to be more strict. In
particular, label-less sessions do no longer exist.

Unfortunately, nitpicker and the window manager still handled the former
weaker labeling, which ultimately led to a situation where any
session-control argument would mismatch. The behavior could be observed
in the launcher.run script where a click on the subsystem button would
not focus the clicked-on subsystem. With the patch, the scenario works
again as expected.
2017-01-13 13:07:14 +01:00
07cb4b2a4e server/terminal: API transition
The key repeat and flush handling was added by Norman Feske.

Ref #1987
2017-01-13 13:07:12 +01:00
745eb89237 lib/component: pass extended Libc::Env
Libc::Env is the Genode::Env interface extended to cover access
to the XML content of the 'config' ROM and a VFS instance. This
deduplicates the burden of components to attain and manage
these resources.

Fix #2217
Ref #1987
2017-01-13 13:07:01 +01:00
e91170a49c app/cli_monitor: API transition
Besides updating CLI monitor to the new API, the patch removes
Fiasco.OC-specific extensions that remained unused for a long time.

Ref #1987
2017-01-13 13:07:00 +01:00
3268a16d13 server/nit_fader: API transition
Ref #1987
2017-01-13 13:06:59 +01:00
5f4ead01bb server/wm: API transition
Ref #1987
2017-01-13 13:06:58 +01:00
2b7fcf5cae app/floating_window_layouter: API transition
Ref #1987
2017-01-13 13:06:58 +01:00
8ab932a8d0 app/backdrop: API transition
Ref #1987
2017-01-13 13:06:57 +01:00
3315294f2d Deprecate Genode::config()
Issue #1959
2017-01-13 13:06:54 +01:00
4da52517c1 Simpify startup of dynamically linked binaries
This patch removes the component_entry_point library, which used to
proved a hook for the libc to intercept the call of the
'Component::construct' function. The mechansim has several shortcomings
(see the discussion in the associated issue) and was complex. So we
eventually discarded the approach in favor of the explicit handling of
the startup.

A regular Genode component provides a 'Component::construct' function,
which is determined by the dynamic linker via a symbol lookup.
For the time being, the dynamic linker falls back to looking up a 'main'
function if no 'Component::construct' function could be found.

The libc provides an implementation of 'Component::construct', which
sets up the libc's task handling and finally call the function
'Libc::Component::construct' from the context of the appllication task.
This function is expected to be provided by the libc-using application.
Consequently, Genode components that use the libc have to implement the
'Libc::Component::construct' function.

The new 'posix' library provides an implementation of
'Libc::Component::construct' that calls a main function. Hence, POSIX
programs that merely use the POSIX API merely have to add 'posix' to the
'LIBS' declaration in their 'target.mk' file. Their execution starts at
'main'.

Issue #2199
2017-01-13 13:06:52 +01:00
0d9e566b18 wm: fix possible deadlock
Fixes #2183
2016-12-23 16:52:08 +01:00
3865ee7ccc foc: move base/thread_state.h to include/foc/
The header is foc-specific. It used to shadow the generic one provided
by the base repository, which contradicts with the kernel-agnostic
Genode API. Hence, it had to be moved to a foc-specific location.
2016-12-23 16:51:12 +01:00
f613cd2aa9 nova: remove native_cpu interface
Issue #2173
2016-12-14 11:22:29 +01:00
ccffbb0dfc Build dynamically linked executables by default
Fixes #2184
2016-12-14 11:22:27 +01:00