Commit Graph

36 Commits

Author SHA1 Message Date
Stefan Kalkowski 8e9e866161 Unify framebuffer driver binary names (fix #720)
Introduce 'framebuffer' SPEC variable to distinguish hardware framebuffer
drivers furthermore from the SDL framebuffer driver used by Genode/Linux.
2013-05-07 13:04:30 +02:00
Christian Prochaska 339a0354ce libc_lwip_nic_dhcp: provide '/etc/resolv.conf'
With this patch, the 'libc_lwip_nic_dhcp' plugin provides the DNS server
address acquired by lwIP via DHCP in the file '/etc/resolv.conf'.

This feature can be disabled from the config file:

<libc resolv="no" />

The static network interface configuration attributes are now also a part
of the '<libc>' config node:

<libc ip_addr="..." netmask="..." gateway="..." />

Fixes #731.
2013-05-06 11:11:03 +02:00
Alexander Boettcher b85447c602 run scripts: add "Test succeeded" message
Issue #679
2013-04-12 10:56:27 +02:00
Alexander Boettcher 5d04f88816 lwip: adjust test to run with remote machine (AMT)
Issue #679
2013-04-12 10:56:27 +02:00
Norman Feske c36909e5dc acpi: Adjust device_pd quota for 64bit machines 2013-03-22 12:45:31 +01:00
Alexander Boettcher 751af95b46 lwip: adjust run script to run with new pci_drv 2013-02-27 16:47:21 +01:00
Norman Feske 4c3d49459b moon.run: Increase quota of 'test-moon'
With the use of the new timer interface, each timer client uses signals.
Hence, programs that have not used signals before will consume slightly
more quota. This is the case for the moon test (triggered on foc_x64_64
only).
2013-02-14 17:23:47 +01:00
Norman Feske cb225a1216 Adaptation to Timer::Session change 2013-02-14 13:23:33 +01:00
Ivan Loskutov 291064b5c1 nic_bridge: Add tests for static IP address configuration 2013-01-24 11:35:56 +01:00
Sebastian Sumpf 47bb48bdd6 Audio: Adjust components to new audio interface
OSS driver, ALSA driver, audio-out test, avplay, and mixer

Issue #602
2013-01-10 23:05:37 +01:00
Martin Stein 1ac1d802ee moon: provide IO_MEM for base-hw timers
Fix #536
2012-11-29 09:55:09 +01:00
Christian Prochaska f635cc4a19 Python: use 'libc-rom' plugin
This patch removes the libc plugin of the Python port. The Python test
uses the 'libc_rom' plugin instead.

Fixes #392.
2012-10-08 15:10:22 +02:00
Christian Prochaska e9ac4b653b Add support for symbolic links
This patch adds support for symbolic links in libc, libc plugins, file
system servers and Noux.

Fixes #322.
2012-10-08 15:05:02 +02:00
Sebastian Sumpf 7ca7b4417d lwIP: Rewrite NIC packet allocation
Use 'Nic::Packet_allocator', wait for acknowledgements if packet allocation
fails. Updated 'lwip.run' and 'genode_org.run' to support OMAP4 correctly. Use
memcpy to copy PBUFs

May resolve issue #347
2012-09-24 09:17:59 +02:00
Norman Feske b57c629449 Adapt timer quota to change in 'Allocator_avl' 2012-09-18 17:14:28 +02:00
Josef Söntgen 6259fcf736 libports: add lwIP tests for Pandaboard on foc 2012-09-18 10:52:57 +02:00
Christian Prochaska 3084c6f500 TAR file system service
This patch implements a service which provides the contents of a tar
archive via the 'File_system::Session' interface.

Configuration:

<config>
	<archive name="tar_archive.tar" />
	<policy label="label_of_client" root="/rootdir/for/client" />
</config>

Fixes #333.
2012-08-22 09:51:31 +02:00
Norman Feske 302e30662a Enable libSDL on ARM, add 'libports/run/sdl.run'
Fixes #45.
2012-08-16 13:33:00 +02:00
Norman Feske 7f1dd23051 Relax requirements of 'eglgears.run'
The run script works on foc_pbxa9 and foc_x86_64. So there is no reason
to restrict it to x86 only.
2012-08-16 13:33:00 +02:00
Norman Feske aa90efbf77 Disable libc_ffat test on 64bit
The test cannot be expected to work on 64-bit machines because the ATAPI
driver is currently supported on 32-bit only.
2012-08-15 14:28:42 +02:00
Alexander Boettcher 49786a7ca3 CPU service required
Required to start thread on Genode/NOVA. Without the service it fails with:

int main(): --- init created, waiting for exit condition ---
[init] timer: no route to service "CPU"
[init -> test-moon] Starting ldso ...
[init -> timer] C++ runtime: Genode::Parent::Service_denied
[init -> timer] void* abort(): abort called
2012-08-10 16:52:28 +02:00
Alexander Boettcher cd373f20c1 Enable lwip.run for 64bit
We have a driver in dde_ipxe repository which is working fine. Increase
slightly the ram quota for the timer to run in qemu.
2012-08-10 16:52:23 +02:00
Christian Prochaska d564003e1c Make fs test loopable 2012-07-10 16:48:54 +02:00
Christian Prochaska 30dc1d83da FAT file system service
This patch implements a service which provides access to files and
directories of a FAT file system via the 'File_system' interface.

Fixes #251.
2012-07-10 16:30:26 +02:00
Christian Prochaska 4fc9383c31 libports: Expat
This patch adds the "Expat" XML parser library to libports.

Fixes #245.
2012-06-20 19:44:02 +02:00
Christian Helmuth a497a22edf Moon: Route to IO_PORT/IRQ services
The timer needs IRQ and IO_PORT on platforms where it uses the PIT.
2012-05-30 08:51:28 +02:00
Christian Helmuth 7bffdacc9a Increase RAM quotas for 64-bit architectures 2012-05-29 16:08:50 +02:00
Christian Prochaska ba6dae9946 'avplay' media player
With this patch the SDL-based 'avplay' media player, which is part of
'libav', can be built. The run script expects a media file named
'mediafile' in the 'bin' directory.

Fixes #216.
2012-05-29 13:54:59 +02:00
Christian Helmuth 28d4bdba83 Lua: Use some Genode functions from example
The example provides Timer::msleep() and the process' quota() to Lua
code.
2012-05-29 13:54:58 +02:00
Christian Helmuth 0200c27e33 Lua: Port of Lua runtime and simple example
The Lua runtime library is built in two variants: ANSI C and C++. The
C++ provides all Lua API function with C++ linkage and uses C++
exceptions instead of setjmp/longjmp for protected execution of Lua
chunks.

The ported version of Lua is 5.1.5.
2012-05-29 13:54:52 +02:00
Norman Feske ae1d0c04ae File-system interface, ram_fs, libc-fs
This patch introduces the file-system-session interface, provides an
implementation of this interface in the form of an in-memory file
system, and enables the libc to use the new file-system facility.

The new interface resides in 'os/include/file_system_session/'. It
uses synchronous RPC calls for functions referring to directory
and meta-data handling. For transferring payload from/to files, the
packet-stream interface is used. I envision that the asynchronous design
of the packet-stream interface fits well will the block-session
interface. Compared to Unix-like file-system APIs, Genode's file-system
session interface is much simpler. In particular, it does not support
per-file permissions. On Genode, we facilitate binding policy (such as
write-permission) is sessions rather than individual file objects.

As a reference implementation of the new interface, there is the
new 'ram_fs' service at 'os/src/server/ram_fs'. It stores sparse
files in memory. At the startup, 'ram_fs' is able to populate the
file-system content with directories and ROM modules as specified
in its configuration.

To enable libc-using programs to access the new file-system interface,
there is the new libc plugin at 'libports/src/lib/libc-fs'. Using this
plugin, files stored on a native Genode file system can be accessed
using the traditional POSIX file API.

To see how the three parts described above fit together, the test
case at 'libports/run/libc_fs' can be taken as reference. It reuses
the original 'libc_ffat' test to exercise several file operations
on a RAM file-system using the libc API.

:Known limitations:

The current state should be regarded as work in progress. In particular
the error handling is not complete yet. Not all of the session functions
return the proper exceptions in the event of an error. I plan to
successively refine the interface while advancing the file-system
implementations. Also the support for truncating files and symlink
handling are not yet implemented.

Furthermore, there is much room for optimization, in particular for the
handling of directory entries. Currently, we communicate only one dir
entry at a time, which is bad when traversing large trees. However, I
decided to focus on functionality first and defer optimizations (such as
batching dir entries) to a later stage.

The current implementation does not handle file modification times at
all, which may be a severe limitation for tools that depend on this
information such as GNU make. Support for time will be added after we
have revisited Genode's timer-session interface (issue #1).

Fixes #54
Fixes #171
2012-05-17 20:33:53 +02:00
Christian Prochaska ff3e08f9ea POSIX threads and semaphores
This patch implements a subset of the POSIX thread and semaphore functions
in the 'pthread' library.

Fixes #174.
2012-04-16 12:16:40 +02:00
Christian Helmuth 92171e9b86 Fiasco.OC: Reduce capability-allocator size
The old variant provided 8K capability slots to all processes on core,
which increased binaries by 180 KB for the static allocator. I reduced it
to 4K capabilities stay under 100 KB overhead for the allocator.

Anyway, pci_drv and pl11x_drv need more RAM quota now: 2M for pl11x_drv
and 1M for pci_drv.
2012-02-28 10:54:42 +01:00
Norman Feske 0bf0b31c54 Build jbig2dec as shared library, fix mupdf.run 2012-02-24 13:39:23 +01:00
Norman Feske 8201075671 Initial port of MuPDF application
This version of MuPDF will use Genode's framebuffer session and input
session to display a PDF file. At the current stage, the program is
merely a skeleton that compiles and starts. Neither the actual rendering
not the response to user input are implemented. To try it out, there
is a ready-to-use run script at 'libports/run/mupdf.run'.
2012-02-14 16:44:42 +01:00
Genode Labs da4e1feaa5 Imported Genode release 11.11 2011-12-22 16:19:25 +01:00