Commit Graph

2760 Commits

Author SHA1 Message Date
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
Sebastian Sumpf f48bfd5db9 L4Linux: USB netperf tests on Arndale only
Issue #1189
2014-06-26 11:08:22 +02:00
Sebastian Sumpf 3eb21be9bd L4Linux: Disable netperf USB 3.0 test for x86
Issue #1189
2014-06-26 10:57:27 +02:00
Stefan Kalkowski b93a58066f trustzone: automate run script for nightly tests
Ref #1182
2014-06-26 10:57:27 +02:00
Stefan Kalkowski a492366eea hw: fix the TrustZone VM entry path
Commit 6a3368ee that refactored the mode transition assembler path, and
high-level entry point, fundamentally broke that part for the TrustZone VMs.
Instead of jumping to the appropriated address, the instruction value at that
point where used as target address.
Moreover, the TrustZone part of the mode transition page was not included into
the boundary check.

Ref #1182
2014-06-26 10:57:27 +02:00
Stefan Kalkowski 7b5237f9ff hw: add CSU I/O memory to core's memory regions
The central security regions has to be mapped when starting the hw-kernel
on the i.MX53 and using the TrustZone mechanisms.

Ref #1182
2014-06-26 10:57:27 +02:00
Stefan Kalkowski 7ca56e3fc4 hw: fix compilation errors for i.MX53/TrustZone
Fix #1182
2014-06-26 10:57:27 +02:00
Stefan Kalkowski e5b78a6494 hw: disable L2 cache for imx53 platform
Currently the L2 cache for i.MX53 doesn't work correctly in the
hw-kernel, so we temporarily disable it.

Ref #1182
2014-06-26 10:57:27 +02:00
Christian Helmuth 1c2ff67d96 test-input: log event type as string 2014-06-26 10:57:26 +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
Christian Prochaska 9580954d81 blit: fix alignment errors on ARM
Depending on 'src_w' and 'dst_w', different lines of a block to copy may be
32-bit aligned or not, so the alignment of each line needs to get checked.

Fixes #1111.
2014-06-26 10:57:26 +02:00
Stefan Kalkowski 031cabf862 hw: let assembler constants be upper-case (Ref #1180) 2014-06-26 10:57:26 +02:00
Stefan Kalkowski 00ee2b565a hw: define assembler constants in global scope
Don't define assembler constants inside macros, thereby calling the
corresponding macros isn't needed anymore. To prevent having to much
constants included in files where they aren't needed, split macros.s
file into a generic mode_transition.s part, and globally used macros.s.

Fix #1180
2014-06-26 10:57:26 +02:00
Martin Stein f5fdcc8f1e hw: get a thread cap in Thread_base constructor
Previously this was not done before Thread_base::start(..) in
base-hw as it was not needed to have a valid cap that early. However,
when changing the affinity of a thread we need the cap to be valid
before Thread_base::start(..).

fix #1151
2014-06-26 10:57:26 +02:00
Martin Stein ccba43574f hw: fix bug in scheduler timing
By now the scheduling timer was only refreshed for a new scheduling timeout
when the choosen scheduling context has changed. But we want it to be refreshed
also when the scheduled context yields without an effect to the schedulers
choice (this is the case e.g. when the idle thread gets a scheduling timeout
or a thread yields without any competitor in its priority band).

ref #1151
2014-06-26 10:57:26 +02:00
Sebastian Sumpf cf73ae2c20 usb_drv: Make EHCI-queue header non-cachable
Fixes #758
2014-06-26 10:57:26 +02:00