Commit Graph

20 Commits

Author SHA1 Message Date
Norman Feske 6d837c9e26 Attach affinity information to session requests
This patch extends the 'Parent::session()' and 'Root::session()'
functions with an additional 'affinity' parameter, which is inteded to
express the preferred affinity of the new session. For CPU sessions
provided by core, the values will be used to select the set of CPUs
assigned to the CPU session. For other services, the session affinity
information can be utilized to optimize the locality of the server
thread with the client. For example, to enable the IRQ session to route
an IRQ to the CPU core on which the corresponding device driver (the IRQ
client) is running.
2013-08-13 17:08:25 +02:00
Christian Helmuth df1209aa89 dde_ipxe: use recent iPXE upstream version 2013-05-21 10:08:34 +02:00
Alexander Boettcher 3ace475f2d net: net_stat instrumented version of iPXE driver 2013-05-10 11:16:09 +02:00
Alexander Boettcher f6d31d7243 dde_ipxe: catch exception instead of dying silently
Fix #593
2013-04-26 16:49:20 +02:00
Alexander Boettcher 958cdffa7b dde_ipxe: fix null pointer de-referencing
Issue #593
2013-04-26 16:49:09 +02:00
Alexander Boettcher 269efd1d6d dde_ipxe: alloc DMA memory via dde_kit 2013-02-26 18:24:21 +01:00
Alexander Boettcher be0fa1f63a dde_kit: enable pci lookup by device_class
Instead of trying all PCI devices by a specific PCI driver, now the device or
the device class can be limited to the one actually supported by the specific
driver.
2013-02-26 18:24:03 +01:00
Norman Feske fae63f4fa9 Merge base libraries into a single library
This patch simplifies the way of how Genode's base libraries are
organized. Originally, the base API was implemented in the form of many
small libraries such as 'thread', 'env', 'server', etc. Most of them
used to consist of only a small number of files. Because those libraries
are incorporated in any build, the checking of their inter-dependencies
made the build process more verbose than desired. Also, the number of
libraries and their roles (core only, non-core only, shared by both core
and non-core) were not easy to capture.

Hereby, the base libraries have been reduced to the following few
libraries:

- startup.mk contains the startup code for normal Genode processes.
  On some platform, core is able to use the library as well.
- base-common.mk contains the parts of the base library that are
  identical by core and non-core processes.
- base.mk contains the complete base API implementation for non-core
  processes

Consequently, the 'LIBS' declaration in 'target.mk' files becomes
simpler as well. In the most simple case, only the 'base' library must
be mentioned.

Fixes #18
2013-02-19 14:45:55 +01:00
Norman Feske 73ab30c22c Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
Christian Helmuth f9cb8a9ac3 dde_ipxe: Properly wrap iPXE interfaces to C++
As iPXE header files are not C++ compatible, the implementation missed
proper include directives. For example, alloc_memblock() had a wrong
signature, which was not detected. Now, C wrapper functions are
implemented using a local API to the C++ backend.

Related to #593.
2013-01-07 18:59:21 +01:00
Norman Feske 0dbb5e1696 Propagate 'Range_allocator::alloc_aligned' errors
This patch reflects eventual allocation errors in a more specific way to
the caller of 'alloc_aligned', in particular out-of-metadata and
out-of-memory are considered as different conditions.

Related to issue #526.
2012-11-28 22:51:09 +01:00
Christian Helmuth 2f357a7224 Firewall-friendly download methods for contrib src
After this commit "make prepare" uses HTTP, HTTPS, or FTP where possible
fvor downloading third-party source codes. This prevents problems with
strict firewall rules where only selected ports are usable.

Unfortunately, git.l4android.org does not support Git via HTTP and,
therefore, the sources need a working Git port (9418).

Fixes #443.
2012-10-30 12:12:42 +01:00
Christian Helmuth b91c06feb7 dde_ipxe: explicitly support x86_64
Fixes some obvious warnings and (maybe) hidden bugs.
2012-10-22 17:01:01 +02:00
Christian Helmuth d0a68f055f dde_ipxe: use recent iPXE upstream version
Currently, we support the following NIC families:

- Intel gigabit ethernet (e1000, e1000e, igb)
- Intel eepro100
- Realtek 8139/8169

Fixes #423.
2012-10-22 17:01:01 +02:00
Christian Prochaska 95f4b24f30 dde_ipxe_nic: add 'core/string.c' to 'SRC_C'
The 'string.c' file contains a 'memcmp()' implementation which is needed
by the driver.

Fixes #387.
2012-10-12 13:10:48 +02:00
Christian Prochaska 28744cebf7 Increase dde_ipxe 'nic_ep' thread stack size
Fixes #228.
2012-06-01 15:36:20 +02:00
Christian Helmuth 36ae42b8ff Check for required tools on 'make prepare'
Fixes #221.
2012-05-29 13:55:00 +02:00
Christian Prochaska ec09842fc7 Define struct 'generic_settings_operations'
The definition is needed to compile nic_drv with -O0 for Fiasco.OC.

This patch fixes #96.
2012-02-08 12:07:24 +01:00
Norman Feske 08ce32215d Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
Genode Labs da4e1feaa5 Imported Genode release 11.11 2011-12-22 16:19:25 +01:00