Commit Graph

23 Commits

Author SHA1 Message Date
Norman Feske 560a58e5c6 Move packet stream to Genode namespace, fix #1455 2015-03-19 08:57:22 +01:00
Norman Feske 45c9739fe7 Remove repos/qt4, fix #1451 2015-03-19 08:57:20 +01:00
Josef Söntgen 0a835e4ce9 os: structured timestamp in Rtc session
Instead of returning an uint64_t value, return a structured time stamp.
This change is only visible to components using Rtc_session directly.

Fixes #1381.
2015-02-16 13:40:34 +01:00
Norman Feske f68889ea0a arora: fix domain config in plugin demo
Fixes #1375
2015-01-26 12:28:42 +01:00
Christian Helmuth 86eb3f4a0d rtc: rename get_current_time() to current_time()
Issue #1344
2015-01-26 12:28:41 +01:00
Alexander Boettcher 91daf433c5 seoul: transform absolute events to relative (PS2)
Fixes #1346
2015-01-07 15:17:51 +01:00
Martin Stein 8f9355b360 thread API & CPU session: accounting of CPU quota
In the init configuration one can configure the donation of CPU time via
'resource' tags that have the attribute 'name' set to "CPU" and the
attribute 'quantum' set to the percentage of CPU quota that init shall
donate. The pattern is the same as when donating RAM quota.

! <start name="test">
!   <resource name="CPU" quantum="75"/>
! </start>

This would cause init to try donating 75% of its CPU quota to the child
"test".  Init and core do not preserve CPU quota for their own
requirements by default as it is done with RAM quota.

The CPU quota that a process owns can be applied through the thread
constructor. The constructor has been enhanced by an argument that
indicates the percentage of the programs CPU quota that shall be granted
to the new thread. So 'Thread(33, "test")' would cause the backing CPU
session to try to grant 33% of the programs CPU quota to the thread
"test". By now, the CPU quota of a thread can't be altered after
construction. Constructing a thread with CPU quota 0 doesn't mean the
thread gets never scheduled but that the thread has no guaranty to receive
CPU time. Such threads have to live with excess CPU time.

Threads that already existed in the official repositories of Genode were
adapted in the way that they receive a quota of 0.

This commit also provides a run test 'cpu_quota' in base-hw (the only
kernel that applies the CPU-quota scheme currently). The test basically
runs three threads with different physical CPU quota. The threads simply
count for 30 seconds each and the test then checks wether the counter
values relate to the CPU-quota distribution.

fix #1275
2014-11-28 12:02:37 +01:00
Alexander Boettcher a48efd0a9d seoul: enable -Wall and fix warnings
Issue #1262
2014-10-10 14:46:02 +02:00
Alexander Boettcher d006185d90 seoul: add script turning Genode scenario into VM
Related to issue #1261
2014-10-10 13:02:31 +02:00
Bernhard Kauer 27d76f77d1 seoul: update branch to using vbios emulators
* use seoul branch containing vbios emulator

* report the memory model in the VBE mode info as otherwise the
  Genode framebuffer driver will ignore this mode

Fixes #1261
2014-10-10 13:02:31 +02:00
Josef Söntgen 9f886e1d94 ports: add openvpn-2.3.4
The port was succesfully tested a echo test and lighttpd. DHCP over
OpenVPN is not tested and probably will not work out of the box.
Therefore, the ip address etc. need to be specified manually.

For now, only ethernet bridging (using a TAP device) is supported.

Fixes #1235.
2014-08-26 11:00:35 +02:00
Christian Prochaska a06bd8cfe8 GBD: migrate to new ports mechanism
Fixes #1237.
2014-08-22 16:16:40 +02:00
Norman Feske bfdc4138ba seoul: remove superfluous includes from console
The console included nitpicker_view headers, which were not used. The
headers vanished with the recent nitpicker API change, which broke the
build of seoul.
2014-08-15 10:19:48 +02:00
Norman Feske 6820de51ba gdb_monitor: Support session upgrades
This patch enables the debugging on services that rely on dynamic
session upgrades. For example, nitpicker expects its clients to donate
RAM quota that matches the size of the virtual framebuffer, which might
change during the lifetime of a nitpicker session.
2014-07-24 10:18:08 +02:00
Alexander Boettcher 5d06078d27 x86 vmm: add general multiprocessor support
* repos/ports/include/vmm
 - add support to specify cpu location during vCPU construction
* seoul
 - update to latest seoul branch supporting smp
 - adjust to vmm interface changes
 - vCPUs will be put in a round robin fashion on the available host CPUs,
   beginning with the next CPU after the default (boot) CPU
 - number of vCPUs can be specified in run script
* virtualbox
 - adjust to vmm interface changes
 - uses still one vCPU, placed on default (boot) CPU

Fixes #1212
2014-07-24 10:18:07 +02:00
Christian Prochaska a46de84f89 Fix race condition in page fault notification
When a page fault cannot be resolved, the GDB monitor can get a hint about
which thread faulted by evaluating the thread state object returned by
'Cpu_session::state()'. Unfortunately, with the current implementation,
the signal which informs GDB monitor about the page fault is sent before
the thread state object of the faulted thread has been updated, so it
can happen that the faulted thread cannot be determined immediately
after receiving the signal.

With this commit, the thread state gets updated before the signal is sent.

At least on base-nova it can also happen that the thread state is not
accessible yet after receiving the page fault notification. For this
reason, GDB monitor needs to retry its query until the state is
accessible.

Fixes #1206.
2014-07-24 10:18:07 +02:00
Alexander Boettcher ca9f0ba89c os: extend on_alarm() by unsigned count value
The count value can be used to batch timeouts. I.e., if a periodic
timeout triggered multiple times before the timer had a chance to
process them, the count corresponds to the number of passed periods.
2014-07-09 16:26:05 +02:00
Stefan Kalkowski 786fe805da base: introduce caching attributes (fix #1184)
On ARM it's relevant to not only distinguish between ordinary cached memory
and write-combined one, but also having non-cached memory too. To insert the
appropriated page table entries e.g.: in the base-hw kernel, we need to preserve
the information about the kind of memory from allocation until the pager
resolves a page fault. Therefore, this commit introduces a new Cache_attribute
type, and replaces the write_combined boolean with the new type where necessary.
2014-06-26 10:57:26 +02:00
Alexander Boettcher 2c61392237 vmm utils: cpu-session parameter for VMM thread
Issue #1157
2014-05-27 13:45:36 +02:00
Alexander Boettcher 8ef8e8ede9 rtc: document current interface
Issue #1148
2014-05-27 13:45:20 +02:00
Christian Prochaska db89c85954 Qt5: ARM-related improvements
- fix compile errors when building for ARM
- use the correct device drivers in Qt run scripts

Fixes #1154.
2014-05-27 11:14:45 +02:00
Norman Feske 6adbb9e438 ports: migrate to new ports mechanism
Issue #1082
2014-05-27 11:14:43 +02:00
Norman Feske ca971bbfd8 Move repositories to 'repos/' subdirectory
This patch changes the top-level directory layout as a preparatory
step for improving the tools for managing 3rd-party source codes.
The rationale is described in the issue referenced below.

Issue #1082
2014-05-14 16:08:00 +02:00