Commit Graph

2409 Commits

Author SHA1 Message Date
Martin Stein
d5b38b674e hw: simplify buffer of Kernel::access_thread_regs
ref #1101
2014-04-07 17:05:29 +02:00
Martin Stein
06ea6cd462 hw: simplify result of Kernel::access_thread_regs
ref #1101
2014-04-07 17:04:50 +02:00
Martin Stein
1eeba3ed73 hw: comment result of Kernel::route_thread_event
ref #1101
2014-04-07 17:04:36 +02:00
Martin Stein
873c3f3984 hw: correct return type of Kernel::new_thread
ref #1101
2014-04-07 17:04:20 +02:00
Martin Stein
a64372647d hw: rename mode_transition_virt_base
ref #1101
2014-04-07 17:03:48 +02:00
Martin Stein
5112df9792 hw: remove unused kernel_pd_alignm_log2
ref #1101
2014-04-07 17:03:15 +02:00
Martin Stein
e2268c09a0 hw: move core-restricted interface to local header
fix #1096
2014-04-07 17:02:50 +02:00
Martin Stein
f0ac145471 hw: faster Kernel::Signal_receiver::_listen()
ref #1096
2014-04-07 17:02:26 +02:00
Martin Stein
00708b6696 hw: reduce stack size of idle threads
ref #1096
2014-04-07 17:02:11 +02:00
Martin Stein
d30edd4841 hw: make RM faults less noisy in release mode
If an RM fault ends up in any trouble, the faulter remains paused and
the pager activation continues with the next fault. Thus we can print
a warning instead of an error and safe execution time in release mode.

ref #1096
2014-04-07 17:02:00 +02:00
Martin Stein
9affbf33ec hw: make kernel less noisy in release mode
In most cases an error report is not necessary in the kernel as the problem
does not affect the kernel itself but the according user-land context. Thus
we can also do a warning that is not printed in release mode and hence safe
execution time.

ref #1096
2014-04-07 17:01:46 +02:00
Martin Stein
ff28a89000 noux: make RM replay less noisy in release mode
As the message "replay: missing dataspace info for ..." occurs multiple times
on every fork, it slows down at least noux_tool_chain_auto with hw_arndale
about 10 seconds. To avoid this overhead in release mode I've turned it into a
warning rather than an error.

ref #1096
2014-04-07 17:01:21 +02:00
Martin Stein
a34227cdda hw: use reliable start message in run env
Previously for determining wether boot-up succeeded or not, we looked
for a message that is switched off in release mode. Now the kernel
provides a reliable message as soon as initialization is done.

ref #1096
2014-04-07 17:01:01 +02:00
Alexander Boettcher
7fc26d496a base-fiasco: relocate all modules in bootstrap
Fix #1116
2014-04-07 14:45:15 +02:00
Alexander Boettcher
47b1db6f0a fiasco: add bda support for bootstrap
Issue #1116
2014-04-07 14:45:15 +02:00
Alexander Boettcher
819e54f860 run: change resolution of virtualbox_auto_disk
We changed the test hardware and the new one does not support 1400x1050 anymore.
Choose some conservative resolution since this is anyway a auto test nobody
is really looking at the screen output.
2014-04-07 11:56:45 +02:00
Christian Prochaska
0918c6006b stdcxx: build 'tinfo.cc'
The 'tinfo.cc' file needs to get built, because it implements
'std::type_info::operator==(std::type_info const&) const', which
is needed by the 'icu' library on ARM.

Fixes #1109.
2014-04-07 11:55:14 +02:00
Christian Prochaska
7f2b99e2a8 qt5_textedit.run: fix the USB driver configuration
This patch adds the 'uhci', 'ehci' and 'xhci' XML attributes to the USB
driver configuration in the 'qt5_textedit.run' script.

Fixes #1110.
2014-04-07 11:54:41 +02:00
Alexander Boettcher
1eb3f13484 pit: no lock required in pit anymore
timer service calls platform timer nowadays solely from the vary same thread
 - the entrypoint of the timer service

Issue #1106
2014-04-01 16:42:37 +02:00
Alexander Boettcher
7d232cafb0 timer: fix corner case if counter is 0
If counter drops to 0, the wrap flag is set also. That means we have actually
no wrap around. The patch avoids to add too much time to the elapsed time
variable.

Issue #1106
2014-04-01 16:42:37 +02:00
Alexander Boettcher
34a33e7301 timer: fix wrap handling for x86 PIT
Issue #1106
2014-04-01 16:42:37 +02:00
Alexander Boettcher
a604ea6851 os: reprogram timer solely if needed
If an alarm/timeout object became head of the timeout queue, then the
low level timer must be reprogrammed.

Issue #1106
2014-04-01 16:42:37 +02:00
Christian Helmuth
cd0d378142 Provide Genode version information in log
Fixes #551
2014-04-01 16:38:49 +02:00
Norman Feske
2f3b67c9e0 nitpicker: Fix implementation of Mode interface
The generalization of nitpicker's graphic backend changed the interface
of 'Mode::forget', which is a (non-pure) virtual function implemented
by 'User_state::forget'. Unfortunately, the signature change was not
applied to 'User_state::forget' so that the actual implementation was
no longer called. This inconsistency remained unnoticed because there
is a default implementation of the virtual function.

The effect of the omission of the 'User_state::forget' call was a
dangling pointer ('User_state::_pointed_view').

Lesson learned: Always annotate functions with the C++11 'override' when
implementing virtual functions.
2014-04-01 16:37:40 +02:00
Johannes Schlatow
2262eb8347 base: fix bug in String::valid()
String::valid() does not check whether _length is zero.
Consequently, this leads to _buf[-1] being evaluated.
2014-04-01 16:37:09 +02:00
Christian Prochaska
e6c7596af5 ldso: flush the log console in 'errx()'
The error message given to the 'errx()' function does not always contain a
'\n' character. Adding 'printf("\n")' ensures that the message appears on
the log console.

Fixes #1103.
2014-03-31 21:05:48 +02:00
Alexander Boettcher
869fbc92b1 base: allocate contexts solely inside context area
Reserve first bit in bit allocator for main thread of context allocator and
remove special cases in context allocator. Without the reservation there is
is one context outside the context area allocated.

Fixes #1100
2014-03-31 21:05:20 +02:00
Alexander Boettcher
ced0f71f13 noux: enable 64bit builds for foc and nova
Fixes #816
2014-03-31 20:59:25 +02:00
Christian Helmuth
7e35b84054 nova: simplify handling of multi-boot command line
Fixes #1105.
2014-03-31 16:53:14 +02:00
Christian Helmuth
2e5cb2ea82 Use do statement in PDBG and PWRN
The do statement ensures the macros to generate just one expression that
is compatible with any programming construct. The concrete bug was

  if (cond)
    PDBG(...);
  else
    ...

which was expanded to

  if (cond)
    if (DO_PDBG)
      Genode::printf(...);
  else
    ...

This is obviously wrong as the *else* branch is then connected to the
second *if*.
2014-03-31 16:47:12 +02:00
Christian Helmuth
c7d2d3a231 hello: fix missing build steps and vague config
Fixes #36.
2014-03-18 17:00:46 +01:00
Norman Feske
a951a9f72f uart/exynos5: Add missing author 2014-03-18 16:29:37 +01:00
Norman Feske
e285d806b3 uart/omap4: prevent copy of non-copyable objects
Follow up fix for commit 0b7ea4abab + minor whitespace changes.

Ref #1093
2014-03-18 14:33:59 +01:00
Stefan Kalkowski
ba4045889b pandaboard: prevent copy of non-copyable objects
Follow up fix for commit 0b7ea4abab
Ref #1093
2014-03-18 14:24:55 +01:00
Norman Feske
b8e6124594 Remove outdated sections from doc/architecture.txt
Fixes #71
2014-03-18 14:24:55 +01:00
Stefan Kalkowski
0dece91973 core: re-design memory allocator (fix #1091)
* Core_mem_allocator: implement Range_allocator interface
* Core_mem_allocator: allocate with page-granularity only
* Use slab allocators in core where meaningful (e.g. dataspace objects)
2014-03-18 14:24:55 +01:00
Martin Stein
36bfb56e49 util_mmio: make memory dumps easier to read
fix #1095
2014-03-14 13:24:20 +01:00
Martin Stein
9a9d093e01 util_mmio: test bitsets with a width of 64bit
ref #1095
2014-03-14 13:24:09 +01:00
Martin Stein
6476cb3bbd mmio: fix type inaccuracy in bitset reads
We must ensure that the type in use fits the shift value that gets
applied while combining the bitset sub-values.

ref #1095
2014-03-14 13:23:44 +01:00
Martin Stein
76668f0774 util_mmio: replace test_failed by error
ref #1095
2014-03-14 13:23:31 +01:00
Martin Stein
db8957562f util_mmio: test Mmio::Register with 64bit width
ref #1095
2014-03-14 13:23:19 +01:00
Martin Stein
358b2ef0c7 util_mmio: refer to failed tests via line number
ref #1095
2014-03-14 13:23:10 +01:00
Christian Helmuth
8de324245c framebuffer.run: refresh screen after test step
The commit also refactors initialization and generic functions into a
test-environment class.

Fixes #1092.
2014-03-14 13:20:06 +01:00
Christian Helmuth
83cc8da588 vbox: fix format warning (size_t) in autotest 2014-03-14 13:17:37 +01:00
Johannes Schlatow
da9e764c47 Init: bugfix
Fix a use-after-free bug concerning the use case where the config
of the init process changes dynamically. The childs' services were not
removed from the corresponding Service_registry properly.

Fixes #1094
2014-03-14 13:17:37 +01:00
Torsten Hilbrich
0b7ea4abab Genode::Connection: Mark as noncopyable
When an object derived from Genode::Connection is copied we had
strange issues. An example is that the first RPC invocation works
correctly but the second one blocks or even delivers incorrect data.

We can avoid this issue if the object is always passed by reference.
Ensure this by deriving from Genode::Noncopyable.
2014-03-14 13:17:37 +01:00
Martin Stein
f988c254df hw: comment conditions of interprocessor interrupt
ref #1088
2014-03-14 13:17:37 +01:00
Martin Stein
8ce197d7fa hw: do inter-processor interrupt only when needed
The processor scheduler can determine without much overhead wether
the currently scheduled client becomes out-dated due to the insertion
of another client. This can be used to safe inter-processor interrupts
when a remote insertion doesn't imply an update of the currently
scheduled client.

fix #1088
2014-03-14 13:17:37 +01:00
Martin Stein
18cee192e2 hw: don't do redundant inter-processor interrupts
At least with the ARM generic interrupt controller, inter-processor interrupts
are edge triggered and banked for all source processors. Thus it might be
possible that such an interrupt gets triggered redundantly until the targeted
processor is able to grab the kernel lock. As we're only interested in making
a processor recognize accumulative updates to its scheduler, we can omit
further interrupts if there is one pending already at the targeted processor.

ref #1088
2014-03-14 13:17:37 +01:00
Martin Stein
852785324f hw: move Processor_client to processor.h
ref #1088
2014-03-14 13:17:37 +01:00