Commit Graph

2725 Commits

Author SHA1 Message Date
Norman Feske
37248560d1 tool chain: disable -Werror for building GDB
Thanks to @duralog for reporting the issue!

Fixes #1214
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
Alexander Boettcher
40fc64e24f run: fix parsing of mp_server output test
Until now worked solely for 2 CPU setups. Adjust it to the actual available
number of CPUs.

Issue #1212
2014-07-24 10:18:07 +02:00
Alexander Boettcher
a371fdab4f Revert "timer: apply PIT quirk to avoid high cpu load"
This reverts commit edc03489b3.

Since commit

"timer: nova specific version of the service"

a nova specific timer is used and this quirk is not necessary anymore.

Issue #1211
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
Christian Prochaska
2a5fd44d7d tcp_terminal: fix run script
Fixes #1210.
2014-07-24 10:18:07 +02:00
Alexander Boettcher
cdb7904daa timer: nova specific version of the service
Issue #1211
2014-07-24 10:18:07 +02:00
Alexander Boettcher
e70c13ce1f nova: update to r6 nova kernel branch
- adds general support for semaphore timeouts
- fixes PCID feature (aka tagged TLB) seeen on Lenovo X201

Fixes #1211
2014-07-24 10:18:06 +02:00
Martin Stein
6cb9559feb hw: core as library
The build config for core is now provided through libraries to enable
implicit config composition through specifiers and thereby avoid
consideration of inappropriate targets.

fix #1199
2014-07-24 10:18:06 +02:00
Martin Stein
5f145b74a5 hw_imx31: fix compilation error in timer.h
fix #1200
2014-07-24 10:18:06 +02:00
Stefan Kalkowski
609f7abb0a hw: map a dataspace in core according to its flags
Thereby removing obsolete quirk for uncached CPU state dataspace
in VM session.

Fixes #1198
2014-07-24 10:18:06 +02:00
Alexander Boettcher
c5380674df vbox: add network support
- support e1000 model by default and add support for pcnet model
- add Genode xml config option to enable network models

Fixes #1201
2014-07-24 10:18:06 +02:00
Alexander Boettcher
46124546f0 vbox: support to disable acpi
Issue #1201
2014-07-24 10:18:06 +02:00
Alexander Boettcher
761f0498a9 vbox: don't run shared folder test on qemu 2014-07-24 10:18:06 +02:00
Stefan Kalkowski
8f57ff1f27 hw: re-enable the L2 cache for i.MX53 (Ref #1194) 2014-07-09 16:26:06 +02:00
Stefan Kalkowski
1c11099f09 hw: clean cache lines of altered translation table
For Cortex A8, and ARM1176JZF clean cache lines of altered MMU translation
tables.

Fix #1194
2014-07-09 16:26:06 +02:00
Norman Feske
2b75fd8142 resource_yield.run: increase entrypoint stack size
Needed for fiasco_x86 on real hardware.
2014-07-09 16:26:06 +02:00
Norman Feske
bcb3c78f62 okl4: consider elfweaver in cleanall rule 2014-07-09 16:26:06 +02:00
Alexander Boettcher
b8f6abc714 vbox: disable some exits to get TinyCore running 2014-07-09 16:26:06 +02:00
Alexander Boettcher
605a5d7df2 vbox: use priorities in run scripts
By using priorities, we make sure that the timer gets scheduled whenever
it is able to run regardless of how much load is on the system.
2014-07-09 16:26:06 +02:00
Alexander Boettcher
21e9eebf25 vbox: add LPT3 to ioport whitelist 2014-07-09 16:26:06 +02:00
Alexander Boettcher
6f75bb750a vbox: mouse queue quirk 2014-07-09 16:26:05 +02:00
Alexander Boettcher
edc03489b3 timer: apply PIT quirk to avoid high cpu load 2014-07-09 16:26:05 +02:00
Alexander Boettcher
b289273d28 alarm: use on_alarm(count) feature 2014-07-09 16:26:05 +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
1c99ee951a hw: set pages shareable in SMP systems only
Fixes #1181
2014-07-09 16:26:05 +02:00
Norman Feske
db45a0d10d resource_yield test: fix race condition 2014-07-09 16:26:05 +02:00
Norman Feske
6de13fd71c Disable config syntax check for tool-chain test 2014-07-09 16:26:04 +02:00
Norman Feske
7f3601c34b python.run: make xmllint happy
This patch removes the XML-lookalike content from the inline config node
if the test-python program.
2014-07-09 16:26:04 +02:00
Stefan Kalkowski
b07b6666d6 run: wait some time before loading images via JTAG
When powering up the device it sometimes needs some seconds before the
bootloader prepared the board to use JTAG uploading.
2014-07-09 16:26:04 +02:00
Stefan Kalkowski
3d68125b5e create_builddir: add hw_imx53 (TrustZone) target
Until now, the HW platform support for the TrustZone features of the
i.MX53 boards could only be used, when adding a "trustzone" SPEC variable
manually. This commit adds a create_builddir target for HW i.MX53 with
TrustZone features enabled, fo convenience reasons.
2014-07-09 16:26:04 +02:00
Christian Helmuth
f7a7421091 Configurable clearing of array in Bit_array_base
Fixes #1177.
2014-07-09 16:26:04 +02:00
Christian Helmuth
24941ffaeb run: check XML syntax of generated config files
Fixes #1005.
2014-07-09 16:26:04 +02:00
Christian Helmuth
2c8f814c66 autopilot: provide time information
- Log elapsed time per test in summary
- Command-line switch `--time-stamp` prefixes log output lines with
  current time stamp (requires ts utility from Debian package _moreutils_)

Fixes #1156.
2014-06-27 14:25:09 +02:00
Norman Feske
365925a9ad ps2_drv: handle event-queue overflow
Fixes #1185
2014-06-27 14:15:53 +02:00
Norman Feske
b6f8bcca6a os: Add Input::Event_queue::reset function
Resetting the input-event queue is useful for error handling.

Issue #1185
2014-06-27 14:07:03 +02:00
Norman Feske
bb83c0d3da mesa: apply patches (fix #1193) 2014-06-27 14:05:50 +02:00
Martin Stein
f3ae42275a hw: move global TLB flush to extra class
A subject that inherits from Processor_client not necessarily has the need for
doing a processor-global TLB flush (e.g. VMs). At the other hand the Thread
class (as representation of the only source of TLB flushes) is already one of
the largest classes in base-hw because it provides all the syscall backends
and should therefore not accumulate other aspects without a functional reason.
Hence, I decided to move the aspect of synchronizing a TLB flush over all
processors to a dedicated class named Processor_domain_update.
Additionally a singleton of Processor_domain_update_list is used to enable
each processor to see all update-domain requests that are currently pending.

fix #1174
2014-06-26 13:42:52 +02:00
Stefan Kalkowski
42397cb512 os: avoid deadlock in packet stream (fix #1186)
Respectively resend a packet-stream-not-empty signal when a new signal handler
gets registered.
2014-06-26 12:14:03 +02:00
Martin Stein
6e993d31d4 hw: for_each & safer type casts in Double_list
ref #1174
2014-06-26 12:09:40 +02:00
Martin Stein
f0478ee214 hw: move double list to extra header
ref #1174
2014-06-26 12:09:26 +02:00
Alexander Boettcher
a6fdd68154 pthread: remove obsolete warning avoidance
Issue #1188
2014-06-26 12:06:15 +02:00
Alexander Boettcher
671e36bc45 vbox: disable ioapic support by default
and add xml configuration option to switch it on if required. Avoids trouble
on Windows 7 guest where IRQ injected by VMMDev PCI device is not delivered.

If ioapic is required and Windows guest addition "hangs", look in file
DevPCI.cpp, function pciSetIrqInternal, variable fIsApicEnabled. If

config[0xde] == 0xbe
config[0xad] == 0xef

it works. "Deadbeaf" seems to/should be set in ACPI file vbox.dsl. Happens for
unknown reason not on Genode/Nova.

Fixes #1188
2014-06-26 12:06:00 +02:00
Alexander Boettcher
f0c7eccdc7 vbox: save/restore fpu state of EMT thread
Issue #1188
2014-06-26 12:05:43 +02:00
Alexander Boettcher
149f199735 vbox: rework irq injection code
Issue #1188
2014-06-26 12:05:24 +02:00
Stefan Kalkowski
5385ada7a4 run-tool: enable image loading via openocd
By adding: "--target jtag \
            --jtag-debugger <debugger configuration> \
            --jtag-board <board configuration>" to the RUN_OPTs
this commits enables the run-tool to load and execute an ELF image
via JTAG to the target platform.

Fixes #1191
2014-06-26 12:04:53 +02:00
Stefan Kalkowski
e45fc7f0d7 hw: avoid locks before cache initialization
Fix #1190
2014-06-26 12:04:31 +02:00
Alexander Boettcher
b4e86cc499 ahci: throw exception if device can not be found
Fixes #1183
2014-06-26 12:03:28 +02:00
Stefan Kalkowski
b8798fc026 hw: prevent from off-by-one bugs in PIC classes
Instead of using Pic::MAX_INTERRUPT_ID this commit introduces more
conveniently the Pic:NR_OF_IRQ.

Ref #1169
2014-06-26 11:40:07 +02:00
Stefan Kalkowski
6d12f4eba7 hw: off-by-one bug when determining the last IRQ
Fix #1169
2014-06-26 11:39:55 +02:00