Commit Graph

2142 Commits

Author SHA1 Message Date
Martin Stein
7057a12304 fb test: support exynos5
ref #796
2013-10-22 08:00:15 +02:00
Martin Stein
515f4cff1e framebuffer: support HDMI@1920x1080p on exynos5
ref #796
2013-10-22 08:00:15 +02:00
Martin Stein
92b3171765 platform_drv & exynos5: provide HDMI switches
ref #796
2013-10-22 08:00:15 +02:00
Alexander Boettcher
f14213b5f4 base/os: catch Ipc_error messages in Service class
Fixes #910
2013-10-22 08:00:15 +02:00
Stefan Kalkowski
c95f11418a i.MX53: fit into u-boot's memory layout on tablet
Fixes #917
2013-10-22 08:00:14 +02:00
Stefan Kalkowski
3fc962b539 i.MX53: add config lib to GPIO driver (fix #915) 2013-10-22 08:00:14 +02:00
Stefan Kalkowski
81e69dc8da i.MX53 tablet: complete IOMUX routes for display
For the framebuffer driver of the i.MX53 platform to work even when u-boot
didn't prepared the display previously, there were some IOMUX routes missing.

Fixes #914
2013-10-22 08:00:14 +02:00
Stefan Kalkowski
ebbd721278 i.MX53 tablet: handle >1 button events concurrently
By now, only one button press/release event per IRQ was handled correctly.
Pressing and/or releasing several buttons concurrently could bring the input
driver into an inconsistent state.

Fixes #913
2013-10-22 08:00:14 +02:00
Stefan Kalkowski
4f541538bd noux: use lwip dhcp plugin, avoid code duplication
Ref #892
2013-10-22 08:00:14 +02:00
Stefan Kalkowski
8f0c789ed4 Make NIC RX/TX buffer sizes configureable in libc
* Remove far too low default values from Nic::Connection constructor
* Extend lwip initialization function with desired TX/RX buffer sizes
* Add configuration possibility to libc_lwip_dhcp plugin to define
  buffer sizes, like the following:

  '<libc tx_buf_size="1M" tx_buf_size="1M"/>'

Fixes #892
2013-10-22 08:00:14 +02:00
Martin Stein
c56927b76e hw: differ ID allocators even with same size
Previously, if two ID allocators for different kernel objects had the
same size, the kernel-object framework managed both objects types
through the same allocator instance. This is caused by the use of
unsynchronized singletons in the accessor functions and can be avoided
by creating new types through inheritance instead of using typedefs.
Anyways, this fix is a little bit ugly and should replaced by avoiding
the use of unsynchronized singletons in the future.

fix #906
2013-10-22 08:00:14 +02:00
Josef Söntgen
a9651d1728 gems: provide file to terminal service
Fixes #911.
2013-10-22 08:00:14 +02:00
Martin Stein
ee5d213c1f base: do not allow unnamed threads
fix #901
2013-10-22 08:00:07 +02:00
Josef Söntgen
afdabe9df8 hw: enable performance counter on ARMv6 and ARMv7
To actually enable the performance counter 'perf_counter' has to be
added to the SPECS make variable.

Fixes #893.
2013-10-17 11:05:53 +02:00
Josef Söntgen
341290a266 trace: implement timestamp also for ARMv6
Fixes #894.
2013-10-17 11:05:41 +02:00
Josef Söntgen
4d2b349380 os: don't close the Rm_connection in ldso
At this point we cannot close the connection anymore because all
mappings are gone and the needed stack is invalid. This is not a
problem since process will be discarded anyway.

Fixes #909.
2013-10-17 11:05:29 +02:00
Josef Söntgen
eab8217bdb base: call proper __cxa_finalize
Fixes #909.
2013-10-17 11:05:20 +02:00
Josef Söntgen
e1ed832ac1 USB-storage: free Packet_descriptor after ACK
Fixes #903.
2013-10-17 11:04:25 +02:00
Christian Prochaska
65f8f9c75a GDB monitor: add support for register writing
With this patch, register contents of a paused thread (which is not
currently executing a syscall) can get modified on Fiasco.OC by GDB.

Fixes #897.
2013-10-17 11:04:08 +02:00
Christian Prochaska
9090311a06 base-foc: enable CPU state modification
With this patch, the register contents of a paused thread (which is not
currently executing a syscall) can get modified by the
'Cpu_session::state()' function.

Fixes #896.
2013-10-17 11:03:40 +02:00
Stefan Kalkowski
f17727b70b multi_linux.run: fix initrd locations (fix #885) 2013-10-17 11:03:09 +02:00
Christian Prochaska
8a2e543b69 run: use 'wait_for_output' for Linux, too
With this patch, the Linux-specific 'run_genode_until' function uses
'wait_for_output' as it gets already used for other run targets.

Fixes #863.
2013-10-17 11:02:23 +02:00
Josef Söntgen
da2c6b62f2 core: fix iterating over trace policies
Fixes #920.
2013-10-17 11:00:23 +02:00
Martin Stein
618b83499c base: bug in copy constructor of Signal
The copy constructor of Signal did not copy the Signal::Data contents of
the copy source. This bug could survive undetected because the compiler
can optimize code in a way, that copy constructor and destructor are not
necessary when returning by value from simple functions. I assume that
it creates the object in CPU registers instead of RAM and reuses it
instead of copying it to save time. This way the bug triggered first
after wait_for_signal was changed in a way that avoided optimization.

ref #912
2013-10-16 09:26:11 +02:00
Christian Helmuth
f845be8c23 base-linux: support hybrid mode in lx_rmap test
In hybrid mode, all programs are dynamic executables and ld.lib.so is
not supported. Therefore, only the "static" variant of the test can be
build and executed.
2013-10-16 09:26:11 +02:00
Christian Helmuth
74425bd918 doc: clarify to edit build.conf after create_build_dir 2013-10-16 09:26:11 +02:00
Martin Stein
c117516296 hw: relax signal limits for resource_request test
ref #912
2013-10-16 09:26:11 +02:00
Martin Stein
f88fd35f22 hw: avoid upgrade need of 8192 in signal session
ref #912
2013-10-16 09:26:11 +02:00
Martin Stein
b5c6f2c260 hw: avoid generic exceptions in signal framework
ref #912
2013-10-16 09:26:11 +02:00
Martin Stein
bb9fa16a5e hw: throw expressive exceptions in signal session
ref #912
2013-10-16 09:26:11 +02:00
Norman Feske
04cbee4c76 terminal_mux.run: Let CLI monitor preserve RAM
This change allows for the testing of cli_monitor's automatic resource
balancing by executing the following command:

  start ram_eater --ram-limit 1G --count 5

The command starts 5 instances of a RAM-eating process, which is,
however, able to yield resources when instructed. The RAM quota for the
processes gets automatically extended because of the overly large limit
of 1 GiB, which is far more than CLI monitor's RAM resources (100 MiB).
When the RAM usage hits the preservation limit, CLI monitor broadcasts
yield requests to each ram_eater instance, which allow the scenario to
remain alive.
2013-10-16 09:26:11 +02:00
Norman Feske
11e628714d Build trace policies with -std=gnu++11 enabled 2013-10-16 09:26:11 +02:00
Martin Stein
563760eb08 base: fix bug in Object_pool::first_locked
fix #899
2013-10-16 09:26:11 +02:00
Martin Stein
0ad655f4be hw: return error code on IPC replies
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
ae76e441b1 hw: fix bug in Kernel::Thread::resume
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
b85126a638 hw: enable verbose thread starts
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
d961b9ae1e hw: enable multiple compilation units in kernel
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
0771a8e9cf launchpad: remove '\n' from PERR message
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
d6d4938916 hw: fix bug in Kernel::yield_thread
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
6912e638fb hw: kill signal receivers
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
26db598fc0 hw: cancel waiting for IPC requests
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
039bae9710 base: make FIFO elements zero-pointer save
fix #904
2013-10-16 09:26:10 +02:00
Alexander Boettcher
d1c0258301 usb: fix storage with IOMMU enabled
Fixes #747
2013-10-16 09:26:09 +02:00
Alexander Boettcher
73cff5c996 nova: don't wait for workers in cpu_session::pause
If a local thread is attempted to be 'pause'd via cpu_session, don't wait
until it gets into the recalled state. If the caller is lucky it is, if not
return only the stack pointer.

Avoids deadlocking of the gdb when attached to a process running a server.

Issue #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
d8cf17687e run: use gdb_monitor by autopilot
Issue #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
fe19103546 nova: create sm for signalling via pager
The 'pause' call on base-nova assumes that a thread can solely block in its
associated semaphore. Main reason is that so core can unblock a thread in order
that the recall exception gets delivered and the register state can be
obtained.

Unfortunately the signal session implementation creates a semaphore, which is
unknown by the pager code. Instead create the semaphore via the pager of the
thread, so that the pager can unblock the signal thread when a pause is issued.

Issue #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
816b4e0479 nova: fix thread in page fault and getting paused
If a thread caused a page fault and later on get be paused, then it left
the recall handler immediately due to the pause call instead of staying
in this handler.

Add some (complicated) state machine to detect and handle the case. Still not
waterproof, especially server threads may never get recalled if they never get
a IPC from the outside.

Fixes #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
2c983f3c89 nova: remove native_cap method from cpu_session
Remove native_cap method which caused the cpu_session implementation of the
gdb server to fail.

Issue #478
2013-10-16 09:26:09 +02:00
Alexander Boettcher
dd2e006309 nova: request native ec cap via pager
Prerequisite to get rid of the base-nova special native_cap method in
cpu_session.

Vancouver/Seoul bootstrap code gets also much simpler.

Issue #478
2013-10-16 09:26:09 +02:00
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