Alexander Boettcher
d3bcafc4c6
nova: support requesting multiple event portals
...
Enables us to request the exception handler portals at once instead each
separately.
Issue #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
c426bac8bb
nova: create sm of each thread in pager
...
Mainly simplification of the code and getting rid of reserved (Genode) special
cap selectors in the syscall-generic.h file.
Issue #478
2013-10-16 09:26:09 +02:00
Norman Feske
a903049a1a
cli_monitor: Resource-balancing support
...
This patch introduces new commands for dynamically balancing RAM between
subsystems. The 'status' command prints a table with the RAM status of
each subsystem. The 'ram' command changes the quota or a quota limit of
a given subsystem. The quota limit can be defined to allow the on-demand
expansion of the quota. Finally, the 'yield' command can be used to
instruct a subsystem to yield a specified amount of resources.
For trying out the new commands, a so-called 'ram_eater' example has
been added to the 'terminal_mux.run' scenario. This program simulates a
subsystem with a growing demand for resources, yet with the capability
to yield resources when instructed by the parent (i.e., cli_monitor).
Besides implementing the new features, the patch splits the
implementation of 'cli_monitor' into multiple files.
2013-10-16 09:26:09 +02:00
Norman Feske
cbdad73dd7
terminal_mux.run: LOG output of terminal_log
...
This patch tweaks the route of 'terminal_log' such that a LOG session
request of this program is directed to the parent rather to itself.
2013-10-16 09:26:08 +02:00
Norman Feske
baf6eab2dc
terminal_mux: Add 'j' and 'k' keybindings
2013-10-16 09:26:08 +02:00
Norman Feske
d78ba43f64
Test for yielding resources
2013-10-16 09:26:08 +02:00
Norman Feske
9cf677cb0a
os: Add resource balancing-support to 'Slave'
...
In order to be able to dynamically balance resources of slaves, we need
to provide an accessor to the slave's RAM session and a way to issue
yield requests.
2013-10-15 16:13:45 +02:00
Norman Feske
f80c0500af
Test for 'Parent::resource_request' interface
2013-10-15 16:13:45 +02:00
Norman Feske
094c5211fd
core: Fix off-by-one in quota check
...
The check was one byte too rigid. ;-)
2013-10-14 09:45:14 +02:00
Norman Feske
90aa4ef6b5
core: Don't account RAM metadata to RAM quota
...
The meta data for allocations should be accounted to the session quota
instead of the RAM accont managed by the session.
2013-10-14 09:45:14 +02:00
Norman Feske
61b94296b2
base: Use distinct error for ref_account mismatch
2013-10-14 09:45:14 +02:00
Norman Feske
5caed68fe4
init: Transfer slack memory to children on demand
2013-10-14 09:45:14 +02:00
Norman Feske
65c4246f95
base/env: Implementation of 'Expanding_parent'
2013-10-14 09:45:14 +02:00
Norman Feske
ae40cb545c
base: Unify 'Platform_env' across platforms
2013-10-05 12:44:36 +02:00
Norman Feske
93bd4d55f8
Implement resource-balancing in parent interface
2013-10-05 12:44:35 +02:00
Norman Feske
f65606f179
Add resource-balancing support to parent interface
...
This is just the interface. The implementation is still missing.
Issue #887
2013-10-05 12:44:35 +02:00
Norman Feske
5befab7f3d
Add 'String<SIZE>' buffer type to 'util/string.h'
...
The new 'String' buffer type is meant to replace the manually created
character buffers that are scattered throughout Genode. It plainly holds
a null-terminated string to be stored as a member variable (e.g., a
session label) or passed as RPC argument. It is not intended to become a
string API.
2013-10-05 12:44:35 +02:00
Stefan Kalkowski
339193a887
Linux: compile lx_hybrid_ctors test for correct ARCH
...
Fixes #900
2013-10-04 10:13:07 +02:00
Norman Feske
91de81a10a
hello_tutorial: add missing <config> snippets
...
Thanks to Rudolf Weber for reporting.
2013-09-29 12:23:22 +02:00
Stefan Kalkowski
24007564bf
l4lx: check for "bc" tool on prepare
2013-09-27 10:53:59 +02:00
Martin Stein
327cdfdf36
hw: always remove RM client on thread destruction
...
ref #589
2013-09-26 16:09:56 +02:00
Martin Stein
36111587be
hw: don't use assertions in Kernel::get_thread
...
ref #589
2013-09-26 16:09:56 +02:00
Martin Stein
e5ea660e2e
hw: enable to destruct thread after its RM client
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
d86bf3db64
hw: destruct protection domains
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
a4f52bec19
hw: enable direct unmap
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
4f4738427d
hw: release pagers from faulting threads
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
c3be0b417a
hw: fix bug in Kernel::Thread::crash
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
00f16be122
base: fix bug in Allocator_guard::free
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
a596fa56a6
hw: destruct scheduling contexts
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
52ec56c060
hw: destruct abstract interfaces of signal backend
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
611cd95eb3
hw: destruct IPC end-nodes
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
de87fa1b5c
hw: avoid address overflow in Tlb::remove_region()
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
909c2dbc95
hw: remove note feature from IPC framework
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
349262a655
hw: handle pagefaults via IPC request/reply
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
6d03292a1e
hw: destruct signal sessions
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
1571e09823
base: implement Object_pool::first_locked()
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
84c31a7ea1
hw: destruct signal receivers
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
e07781dc1c
base: destruct signal receiver platform specific
...
This is made for future signal framework in base-hw
wich needs a platform specific hook in the signal-
receiver destruction.
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
e33ea2a8b7
hw: completely release signal-context resources
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
2223e72c7f
hw: no assert checks by default, enable opt-in
...
fix #528
2013-09-26 15:58:04 +02:00
Martin Stein
3070af9194
hw: thread in extra header with asserts reviewed
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
1843f10c62
hw: PD in extra header with asserts reviewed
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
5f64411ad7
hw: add missing include in singleton header
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
48f831af3c
hw: signal receiver in extra header without assert
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
bf37159eb9
base: provide class Genode::Fifo_element
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
9826294e6c
hw: IPC node in extra header
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
01e8ee2752
hw: IRQ receiver in extra header & reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
2c357a4f04
hw: scheduler in extra header & asserts reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
4a1c218fd0
hw: object in extra header & asserts reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
e67016ca08
hw: kernel configuration in dedicated header
...
ref #528
2013-09-26 15:58:03 +02:00