Commit Graph

4348 Commits

Author SHA1 Message Date
Reto Buerki
3c23ddb2d5 hw_x86_64_muen: Add support for MSI
Use the new Sinfo::get_dev_info function to retrieve device information
in the platform-specific get_msi_params function. If the requested
device supports MSI, set the IRQ and MSI address/data register values to
enable MSIs in remappable format (see VT-d specification, section
5.1.2.2).

Currently only one MSI per device is supported as the subhandle in the
data register is always set to 0.
2016-02-26 11:36:54 +01:00
Reto Buerki
d137f0f2bf hw_x86_64_muen: Extend sinfo API with device info
The new Sinfo::get_dev_info function can be used to retrieve information
for a PCI device with given source-id (SID). The function returns false
if no device information for the specified device exists.
2016-02-26 11:36:54 +01:00
Reto Buerki
3350c6bf53 hw: Introduce platform-specifc MSI function
The platform-specific get_msi_params function returns MSI parameters for
a device identified by PCI config space address. The function returns
false if either the platform or the device does not support MSI mode of
operation.
2016-02-26 11:36:54 +01:00
Reto Buerki
11ee72eaa6 hw: Add MSI variables to Irq_session_component
Extend the base-hw Irq_session_component class with _is_msi, _address
and _value variables required to support MSI mode of operation.

Return MSI configuration in info() function if _is_msi is set to true.
2016-02-26 11:36:54 +01:00
Reto Buerki
f1d2d7251d hw_x86_64_muen: Include static ACPI report ROM
Enable the ACPI functionality in the platform_drv on hw_x86_64_muen and
provide a simple generated XML report as ROM session in order to make
the PCI configuration space available.

This is a requirement to implement support for MSI on hw_x86_64_muen.
2016-02-26 11:36:53 +01:00
Tomasz Gajewski
74dd356dcd Add check for ACPI version during parsing tables, fix #1883 2016-02-26 11:36:53 +01:00
Reto Buerki
ed54bb2724 hw_x86_64_muen: Adjust _ram_regions function
The available RAM region starts at 25 MiB, not 2 MiB. Also, increase the
region size to 256 MiB.
2016-02-26 11:36:53 +01:00
Reto Buerki
ac478081c3 Update hw_x86_64_muen build.conf template 2016-02-26 11:36:53 +01:00
Reto Buerki
1abff01c66 Update hw_x86_64_muen doc for Muen release 0.7.0 2016-02-26 11:36:53 +01:00
Reto Buerki
aa8e5c5016 Update Muen port to release version 0.7.0 2016-02-26 11:36:53 +01:00
Reto Buerki
39378b9982 Unify naming of libc VFS RAM run script
The new name matches the one listed in tool/autopilot.list.
2016-02-26 11:36:53 +01:00
Josef Söntgen
47b5ba3a89 linux/audio: use Server framework
In addition to now using the framework the playback is triggered by a
timer. For now it is a periodic timer that triggers every 11 ms which
is roughly the current Audio:out period (*).

The driver now also behaves like the other BSD Audio_out driver, i.e,
it always advances the play pointer. That is vital for the Audio_out
stack above the driver to work properly (e.g. the mixer).

(*) It stands to reason if it would be better to use the async ALSA
    timer interface instead of using the Timer session.

Fixes #1892.
2016-02-26 11:36:52 +01:00
Sebastian Sumpf
a8c27b51b5 scout: add config library
For some reason 'os/config.h' is imported through 'launchpad.h', when linking an
undefined symbol ('Genode::config') is produced, which actually should not
happen.
2016-02-26 11:36:52 +01:00
Sebastian Sumpf
a66df55f4e timer: add dummy implementation for RISC-V 2016-02-26 11:36:52 +01:00
Sebastian Sumpf
e367c99864 cli_monitor: build for RISC-V 2016-02-26 11:36:52 +01:00
Sebastian Sumpf
11d242de85 rpc_name: don't build
It is an example and does segfault the riscv tool chain
2016-02-26 11:36:52 +01:00
Sebastian Sumpf
1ff7de62f6 muen: remove depenency to ports for make target all 2016-02-26 11:36:52 +01:00
Sebastian Sumpf
d17134baef ldso: Support for RISC-V
issue #1880
2016-02-26 11:36:51 +01:00
Mark Vels
1668983efa base-hw: RISC-V Rocket Core on Zynq
This commit adds rocket core on the Zynq FPGA support to base HW. It also takes
advantage of the new timer infrastructure introduced with the privileged 1.8 and
adds improved TLB flush support.

fixes #1880
2016-02-26 11:36:51 +01:00
Sebastian Sumpf
c246a0d194 base-hw: initial RISC-V support
using the spike instruction emulator

issue #1880
2016-02-26 11:36:51 +01:00
Sebastian Sumpf
ac70dfd9fe riscv: run tool support for spike
issue #1880
2016-02-26 11:36:51 +01:00
Sebastian Sumpf
8c6e3c6251 riscv: create_builddir support
issue #1880
2016-02-26 11:36:50 +01:00
Sebastian Sumpf
8cddd86a4c riscv: tool chain
issue #1880
2016-02-16 14:38:02 +01:00
Sebastian Sumpf
d424134073 cxx: Simplify C++ exception wrapper functions
The wrapper functions (e.g., 'Unwind_*' and friends) now have the same signature
as the original function in 'libgcc', reside in a separate C file which is
archived to cxx.lib.a. In supc++.o we prefix the wrapped functions with '_cxx_'.

This also enables support for riscv.

related to #1880
2016-02-16 14:38:02 +01:00
Sebastian Sumpf
bfe5208e0e base: Align heap/slab allocation to machine word size
required by riscv

related to #1880
2016-02-16 14:38:02 +01:00
Josef Söntgen
6d1d8afa57 usb_block_drv: USB mass storage bulk-only driver
This driver uses the Usb session interface and provides a Block session
to its client. See _repos/os/src/drivers/usb_block/README' for more
information.

Fixes #1885.
2016-02-16 14:03:38 +01:00
Josef Söntgen
35314c8397 linux/audio: set ALSA device in the configuration
Instead of only hardcoding "hw" read 'alsa_device' attribute from the
config node to determine the proper playback device. The default value
is still "hw" in case the attribute is not present.

Fixes #1884.
2016-02-15 18:56:40 +01:00
Sebastian Sumpf
6b1923bbe6 rump_fs: handle non-existing root directory 2016-02-12 09:17:23 +01:00
Norman Feske
3680a79f38 window layouter: omit superfluous resize request
This patch removes a superfluous resize request at the creation time of
a new window, which resulted from _requested_size being initialized with
zero whereas the _geometry was initialized with the actual window
geometry. In some cases, this inconsistency led to the report of a new
resize request for the size 0x0, which is obviously wrong. I.e., it
leads clients to believe that the user has closed the window.
2016-02-10 16:15:53 +01:00
Norman Feske
56d98824e3 window layouter: reset drag state when finalized
This patch resets the part of the window state that is responsible the
dragging of window controls once the drag operation is finalized.
Without it, the window was wrongly positioned when leaving the maximized
state after a previous resize operation.
2016-02-10 15:41:52 +01:00
Norman Feske
2936cbebfd loader,nit_fb,wm: work-around for NOVA's cap revokes 2016-02-09 16:56:50 +01:00
Norman Feske
d198f07890 window layouter: keyboard actions
This patch adds support for manipulating the window layout with keyboard
actions. It supports the toggling of fullscreen (aka maximize), the
raising of the currently focused window, and the focusing the next/previous
window.
2016-02-09 16:06:40 +01:00
Norman Feske
2a916b143d window layouter: key sequence handling
This patch adds the mechanics for detecting key sequences to the window
layouter. Sequences for layouter actions can be expressed in the
layouter configuration. They cannot trigger any real action yet.
2016-02-09 16:06:40 +01:00
Norman Feske
6f27f85c3d wm.run: enable decorator controls 2016-02-09 16:06:40 +01:00
Norman Feske
44e6870e4e window layouter: respond to decorator margins 2016-02-09 15:38:34 +01:00
Norman Feske
54045771c7 window decorator: report decorator margins 2016-02-09 15:28:47 +01:00
Norman Feske
31888c610a wm: propagate nitpicker mode changes to layouter 2016-02-09 14:30:28 +01:00
Norman Feske
752ddc153e window layouter: respond to nitpicker mode changes 2016-02-09 14:30:28 +01:00
Norman Feske
37044eaad8 window layouter: internal restructuring
This patch splits the implementation of the window layouter into several
headers to ease the upcoming addition of new functionality.
2016-02-09 14:30:28 +01:00
Norman Feske
ff8d790f93 themed_decorator: cope with missing pointer info 2016-02-09 14:29:01 +01:00
Norman Feske
c3b415ffe8 wm: omit superfluous window-list updates 2016-02-09 14:28:50 +01:00
Norman Feske
e34f211dc1 themed_decorator: allow skipping of decorations
This patch weakens the themed decorator's demands with respect to the
supplied theme data. It no longer strictly requires the specification of
the '<closer>', '<title>', and '<maximizer>' nodes and the accompanied
png/tff data. Furthermore, the default.png can be left out if both decor
and aura have a size of zero.
2016-02-09 14:28:43 +01:00
Norman Feske
27b71a0876 window layouter: label-dependent window policies
This patch enhances the layouter to apply a label-dependent policy
for the placement of new windows. The policy may contain the
attributes 'xpos', 'ypos', and 'maximized'. If the latter is set
to "yes", the matching window will appear in maximized state.
2016-02-09 14:28:40 +01:00
Norman Feske
101b868cd4 gems: prevent invalid Nitpicker_buffer objects
This patch ensures that we never request a zero-sized virtual
framebuffer from nitpicker even when instantiating the object with zero
width or height. It therebu removes the burden of handling the resulting
invalid framebuffer dataspace from the user of the Nitpicker_buffer
utility.
2016-02-09 14:28:30 +01:00
Christian Helmuth
f3cce99933 Adapt terminal_mux.run to changes in cli_monitor
Subsystems are now configured via .subsystem files in the VFS directory
/subsystems. The adaption uses one <inline> node per subsystem.
2016-02-09 08:01:40 +01:00
Sebastian Sumpf
191cfd2c53 usb_drv: Add Natural Ergonomic 4000 keyboard support
fixes  #1878
2016-02-05 17:06:26 +01:00
Josef Söntgen
c10ad4ff01 ps2_drv: back down after unsucessful AUX access
The driver might end up in an endless loop on systems that do not
contain an i8042 controller when probing the AUX interface. This
leads to busy looping and in the end to not annoucing the Input
service. Components that wait for the announcement of the service
will therefore hang as well.

Normally a service gets announced only if it is usable but in this
case this is inconvient because it renders all scenarios that use
the input_merger non working on x86 systems that only provide USB
input and do not have PS/2 at all.

Ideally, the PS/2 driver should only be started if the system needs it.
That is currently not feasible and for the time being we post-pone the
inevitable and back down after several unsucessful attempts to read
from the AUX interface while initializing the driver.

Fixes #1871.
2016-02-05 10:59:10 +01:00
Alexander Boettcher
f572cf8a05 nova: stop submitting signals on dead sm caps
Fixes #1877
2016-02-05 10:57:04 +01:00
Alexander Boettcher
73de12999d ahci: fix ready status handling of ahci ports
Fixes #1875
2016-02-05 10:52:48 +01:00
Alexander Boettcher
bc70d67ee7 run: check for mis-configured Intel ME/AMT SOL
and show hint about how to enable it.

Fixes #1876
2016-02-05 10:49:30 +01:00