barrelfish
6 years agoFix: conversion lvaddr to genvaddr release2014-08-29
Stefan Kaestle [Fri, 29 Aug 2014 11:18:45 +0000]
Fix: conversion lvaddr to genvaddr

6 years agoFixed x86_32 type conversion and printf format
Stefan Kaestle [Thu, 28 Aug 2014 12:01:12 +0000]
Fixed x86_32 type conversion and printf format

6 years agoRevert 8d1681
Stefan Kaestle [Wed, 27 Aug 2014 13:28:46 +0000]
Revert 8d1681

git submodules, when exported to HG, are automatically checked when
cloned. We don't want that. Reverting use of submodules temporarily.

6 years agoharness: Use BIOS PCI allocation plan for sbrinz{1,2}
Stefan Kaestle [Wed, 27 Aug 2014 14:51:24 +0000]
harness: Use BIOS PCI allocation plan for sbrinz{1,2}

6 years agoharness: Use BIOS PCI allocation plan for sbrinz{1,2}
Stefan Kaestle [Wed, 27 Aug 2014 11:33:16 +0000]
harness: Use BIOS PCI allocation plan for sbrinz{1,2}

6 years agoFixed build dependency problem
Stefan Kaestle [Wed, 27 Aug 2014 11:32:06 +0000]
Fixed build dependency problem

6 years agoFixed name of Xeon Phi manager
Stefan Kaestle [Wed, 27 Aug 2014 11:31:21 +0000]
Fixed name of Xeon Phi manager

6 years agoFixed NAS benchmarks to work with new BOMP interface
Stefan Kaestle [Wed, 27 Aug 2014 11:30:42 +0000]
Fixed NAS benchmarks to work with new BOMP interface

6 years agoFixed PandaBoard build
Stefan Kaestle [Wed, 27 Aug 2014 11:28:04 +0000]
Fixed PandaBoard build

6 years agoreplaced non-ascii chars in dev files
Reto Achermann [Tue, 26 Aug 2014 09:46:51 +0000]
replaced non-ascii chars in dev files

6 years agoarm_molly: Add strstr() function to mini C library of arm_molly.
Raphael Fuchs [Thu, 21 Aug 2014 15:46:17 +0000]
arm_molly: Add strstr() function to mini C library of arm_molly.

Creating the arm_gem5_image failed because it uses lib/elf/elf32.c but the
mini C library that comes with arm_molly did not feature the strstr() function.

6 years agokernel: Implement strstr().
Raphael Fuchs [Thu, 21 Aug 2014 15:30:49 +0000]
kernel: Implement strstr().

Compilation for armv7 failed with the following error:

../kernel/string.c:33:1: error: function might be candidate for attribute
'noreturn' [-Werror=suggest-attribute=noreturn]

Instead of adding the attribute, I provided a simple implementation.

6 years agomenu.lst.x86_64: Revert to clean menu.lst template.
Raphael Fuchs [Thu, 24 Jul 2014 11:41:37 +0000]
menu.lst.x86_64: Revert to clean menu.lst template.

Revert local menu.lst templates from the acreto branch that erroneously
made it into the tree.

6 years agolibbomp: added function stubs for dynamic scheduling.
Reto Achermann [Thu, 14 Aug 2014 11:23:54 +0000]
libbomp: added function stubs for dynamic scheduling.

6 years agonewlib: float_t / double_t were not defined when using C++.
Reto Achermann [Thu, 14 Aug 2014 11:23:09 +0000]
newlib: float_t / double_t were not defined when using C++.

6 years agolibelf: k1om architecture complained about "index" parameter.
Reto Achermann [Thu, 14 Aug 2014 11:22:29 +0000]
libelf: k1om architecture complained about "index" parameter.

6 years agoadded git submodule for tools/green-marl
Reto Achermann [Thu, 14 Aug 2014 11:21:36 +0000]
added git submodule for tools/green-marl

6 years agolibelf: added functions to find symbol by name and address, and looking
Reto Achermann [Thu, 14 Aug 2014 08:38:25 +0000]
libelf: added functions to find symbol by name and address, and looking
up symbol names.

6 years agolibcxx: removed a defined from the __config.
Reto Achermann [Wed, 13 Aug 2014 15:42:56 +0000]
libcxx: removed a defined from the __config.

6 years agoC++ compiler flags in arch default.
Reto Achermann [Wed, 13 Aug 2014 15:42:28 +0000]
C++ compiler flags in arch default.

6 years agolibelf: Adding the GNU/Linux distinction in libelf.
Reto Achermann [Wed, 13 Aug 2014 15:40:33 +0000]
libelf: Adding the GNU/Linux distinction in libelf.

C++ programs are compiled with gnu/linux not with system V. So we also
have to allow this type of binary to allow loading of C++ programs.

6 years agoposixcompat: made some headers compile with C++ and added libdeps for
Reto Achermann [Wed, 13 Aug 2014 15:32:12 +0000]
posixcompat: made some headers compile with C++ and added libdeps for
vfs.

6 years agoXeon Phi Client: disabling debug output.
Reto Achermann [Wed, 13 Aug 2014 15:25:25 +0000]
Xeon Phi Client: disabling debug output.

6 years agohake: added *.cc endings for finding C++ files.
Reto Achermann [Wed, 13 Aug 2014 15:20:45 +0000]
hake: added *.cc endings for finding C++ files.

6 years agolibcxx: exception handling
Reto Achermann [Wed, 13 Aug 2014 12:12:19 +0000]
libcxx: exception handling

added missing code to enable exception handling of C++ programs on
barrelfish:

+ adding .eh_frame and .eh_frame_hdr section information to the
dispatcher when the new domain is spawned.

+ adding two new functions to obtain the eh_frame and eh_frame_hdr
information from userspace (used by libcxx for exception handling)

6 years agolibbomp: bugfix in number of created threads
Reto Achermann [Mon, 11 Aug 2014 14:59:26 +0000]
libbomp: bugfix in number of created threads

the number of created workers were not correct, since we have to count
the master thread aswell. Further a bug reduced the number of workers in
every loop iteration and raised an exception.

adapted the test utility to provide a C++ main.

6 years agolibcxx: replaced printf directives with portable form (PRI..)
Reto Achermann [Mon, 11 Aug 2014 12:05:30 +0000]
libcxx: replaced printf directives with portable form (PRI..)

activated DWARF backend and made it compile. Added some new functions to
the pthreads library.

6 years agoPatches 4878a9a through 6b8a570
Stefan Kaestle [Thu, 21 Aug 2014 08:57:23 +0000]
Patches 4878a9a through 6b8a570

6 years agoCleanup
Stefan Kaestle [Thu, 21 Aug 2014 08:54:06 +0000]
Cleanup

6 years agoFixed build dependency error in e1000 and bulk_transfer benchmark
Stefan Kaestle [Wed, 2 Jul 2014 12:59:11 +0000]
Fixed build dependency error in e1000 and bulk_transfer benchmark

Conflicts:
usr/bench/bulk_transfer/Hakefile

6 years agolibbomp: working xeon phi implementation (with threads on host)
Reto Achermann [Tue, 5 Aug 2014 16:13:23 +0000]
libbomp: working xeon phi implementation (with threads on host)

6 years agoReverted and applied Simon's xcore patch
Reto Achermann [Sun, 3 Aug 2014 14:53:30 +0000]
Reverted and applied Simon's xcore patch

diff --git a/lib/barrelfish/spawn_client.c
b/lib/barrelfish/spawn_client.c
index 6365801..05ccb30 100644
--- a/lib/barrelfish/spawn_client.c
+++ b/lib/barrelfish/spawn_client.c
@@ -21,6 +21,7 @@
 #include <barrelfish/spawn_client.h>
 #include <barrelfish/cpu_arch.h>
 #include <if/spawn_rpcclient_defs.h>
+#include <if/monitor_defs.h>
 #include <vfs/vfs_path.h>

 extern char **environ;
@@ -189,6 +190,13 @@ errval_t spawn_program_with_caps(coreid_t coreid,
const char *path,
         path = pathbuf;
     }

+    // XXX: HACK: change waitset on monitor binding temporarily so we
get UMP
+    // cap transfer notifications!
+    struct monitor_binding *mb = get_monitor_binding();
+    struct waitset *mon_ws = mb->waitset;
+    mb->change_waitset(mb, &cl->rpc_waitset);
+
+
     if (capref_is_null(inheritcn_cap) && capref_is_null(argcn_cap)) {
         err = cl->vtbl.spawn_domain(cl, path, argstr, argstrlen,
                                     envstr, envstrlen,
@@ -203,13 +211,15 @@ errval_t spawn_program_with_caps(coreid_t coreid,
const char *path,
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "error sending spawn request");
     } else if (err_is_fail(msgerr)) {
-        return msgerr;
+        goto out;
     }

     if (ret_domainid != NULL) {
         *ret_domainid = domain_id;
     }

+out:
+    mb->change_waitset(mb, mon_ws);
     return msgerr;
 }

6 years agoFixed more build dependency problems
Stefan Kaestle [Thu, 21 Aug 2014 08:46:35 +0000]
Fixed more build dependency problems

6 years agoPCI: Fixed PCI bus configuration on nos6
Stefan Kaestle [Wed, 2 Jul 2014 13:05:31 +0000]
PCI: Fixed PCI bus configuration on nos6

The problem was introduced with the Arrakis changes. From Simon
Peter's description:

The new PCI configuration will reassign all discovered buses to
space them 2 bus numbers apart, so that SR-IOV devices can stride into
the gaps.

nos6 does not seem to support the full range of 256 bus members. I
added a check to only execute the new code for devices that are
assigned to bus numbers supported by the machine.

6 years agoFixed more dependency problems
Stefan Kaestle [Thu, 10 Jul 2014 13:29:49 +0000]
Fixed more dependency problems

6 years agoFix: vregions are only valid on x86
Stefan Kaestle [Fri, 27 Jun 2014 12:06:02 +0000]
Fix: vregions are only valid on x86

6 years agoImproved output of debug register dump on arm
Stefan Kaestle [Fri, 27 Jun 2014 08:59:42 +0000]
Improved output of debug register dump on arm

6 years agoDeleting old files
Stefan Kaestle [Wed, 20 Aug 2014 22:00:53 +0000]
Deleting old files

6 years agoFixed build dependency issues.
Stefan Kaestle [Tue, 24 Jun 2014 09:44:50 +0000]
Fixed build dependency issues.

6 years agoadded /toolchain to .gitignore
Reto Achermann [Tue, 5 Aug 2014 16:21:09 +0000]
added /toolchain to .gitignore

6 years agoXeon Phi Client: changes in the RPC functinality.
Reto Achermann [Tue, 5 Aug 2014 16:17:52 +0000]
Xeon Phi Client: changes in the RPC functinality.

6 years agoXeon Phi Driver: sysmem manager and RPC
Reto Achermann [Tue, 5 Aug 2014 16:16:48 +0000]
Xeon Phi Driver: sysmem manager and RPC

Adapted the functionality of the sys mem manager to deal with
reallocations.

Some changes with the RPC functionality of the interphi channel

Driver waits now for all spawnd up before signalling to the host

6 years agoXOMP test domain update.
Reto Achermann [Tue, 5 Aug 2014 16:14:39 +0000]
XOMP test domain update.

6 years agoremoved old xomp library (merged with bomp)
Reto Achermann [Tue, 5 Aug 2014 16:13:57 +0000]
removed old xomp library (merged with bomp)

6 years agolibbomp: merging of xomp as additional backend
Reto Achermann [Mon, 4 Aug 2014 16:18:54 +0000]
libbomp: merging of xomp as additional backend

+ added argument to the init function
+ adapted existing code with the new interface
+ added k1om spinlock adaptation

6 years agolibbomp: added xomp files into the bomp directory
Reto Achermann [Mon, 4 Aug 2014 16:16:21 +0000]
libbomp: added xomp files into the bomp directory

6 years agoxomptest: put the openMP loop in a function.
Reto Achermann [Mon, 4 Aug 2014 16:05:31 +0000]
xomptest: put the openMP loop in a function.

6 years agobomptest: added k1om to the supported architectures, added printf at the beginning.
Reto Achermann [Mon, 4 Aug 2014 11:26:38 +0000]
bomptest: added k1om to the supported architectures, added printf at the beginning.

6 years agoskb: removed the gedit temp file.
Reto Achermann [Mon, 4 Aug 2014 11:25:35 +0000]
skb: removed the gedit temp file.

6 years agoXOMP test domain: changes in setting up the test.
Reto Achermann [Mon, 4 Aug 2014 11:24:24 +0000]
XOMP test domain: changes in setting up the test.

6 years agoXeon Phi driver: RPC style handling of open messages towards client.
Reto Achermann [Mon, 4 Aug 2014 11:21:25 +0000]
Xeon Phi driver: RPC style handling of open messages towards client.

6 years agolibxomp: Added settig of callbacks for the Xeon Phi client messages
Reto Achermann [Mon, 4 Aug 2014 11:19:09 +0000]
libxomp: Added settig of callbacks for the Xeon Phi client messages

6 years agoxomp: basic test application.
Reto Achermann [Sun, 3 Aug 2014 20:09:18 +0000]
xomp: basic test application.

6 years agoXeon Phi Test:
Reto Achermann [Sun, 3 Aug 2014 15:04:33 +0000]
Xeon Phi Test:

6 years agolibxomp: added initial implementation.
Reto Achermann [Sun, 3 Aug 2014 15:04:09 +0000]
libxomp: added initial implementation.

Spawning of clients on the Xeon Phi.
Creating a Flounder channel between the Master and the Workers
Basic xomp.if

6 years agoMinor interface adaptions in the Xeon Phi driver
Reto Achermann [Sun, 3 Aug 2014 15:02:11 +0000]
Minor interface adaptions in the Xeon Phi driver

Serve the additional supplied argument
DMA driver registration
Argv for Spawn events

6 years agoAdapted the DMA driver registratoin to register directly with the Nameservice when...
Reto Achermann [Sun, 3 Aug 2014 15:00:19 +0000]
Adapted the DMA driver registratoin to register directly with the Nameservice when running on Xeon Phi instead talking to the manager.

6 years agoXeon Phi Library: bugfixes and waiting for ready
Reto Achermann [Sun, 3 Aug 2014 14:59:01 +0000]
Xeon Phi Library: bugfixes and waiting for ready

Some bugfixes in the nameservice registartion (too small buffers)
Xeon Phi Client: introduced an online check before sending the
spawn/open requests

Adapted the Xeon Phi host driver to add the respective entries to the
name service.

6 years agoXeon Phi Driver: Adapted the spawn and open to handle arguments
Reto Achermann [Sun, 3 Aug 2014 14:57:04 +0000]
Xeon Phi Driver: Adapted the spawn and open to handle arguments

Open: Supply a 64bit value as a argument / identifier for the open call

Spawn: splitted cmdline into path and argv values.

6 years agoAdded XOMP error numbers.
Reto Achermann [Sun, 3 Aug 2014 14:53:55 +0000]
Added XOMP error numbers.

6 years agospawn_with_cap: workaround
Reto Achermann [Sat, 2 Aug 2014 18:32:10 +0000]
spawn_with_cap: workaround

Added a workaround to spawn_with_cap to take just one capability in
order to make UMP spawning with one argcap work.

6 years agoXeon Phi Driver: Added trigger for full nameservice functionality.
Reto Achermann [Thu, 31 Jul 2014 21:09:56 +0000]
Xeon Phi Driver: Added trigger for full nameservice functionality.

6 years agoXeon Phi Driver: Added functionality for the name service request forwarding.
Reto Achermann [Thu, 31 Jul 2014 13:14:03 +0000]
Xeon Phi Driver: Added functionality for the name service request forwarding.

6 years agoXeon Phi test: adapted code to the new Interface.
Reto Achermann [Thu, 31 Jul 2014 13:13:20 +0000]
Xeon Phi test: adapted code to the new Interface.

6 years agoXeon Phi Domain registration (Nameservice)
Reto Achermann [Thu, 31 Jul 2014 13:12:43 +0000]
Xeon Phi Domain registration (Nameservice)

6 years agoXeon Phi Client: removed interface name from the open functions.
Reto Achermann [Thu, 31 Jul 2014 13:12:01 +0000]
Xeon Phi Client: removed interface name from the open functions.

6 years agoXeon PHI driver: removed unused spawn files.
Reto Achermann [Thu, 31 Jul 2014 13:11:21 +0000]
Xeon PHI driver: removed unused spawn files.

6 years agoXeon Phi: Removed old messaging files.
Reto Achermann [Thu, 31 Jul 2014 13:11:03 +0000]
Xeon Phi: Removed old messaging files.

6 years agoXeon Phi Interfaces: added nameservice functionality
Reto Achermann [Thu, 31 Jul 2014 13:10:14 +0000]
Xeon Phi Interfaces: added nameservice functionality

6 years agoXeon Phi Driver: added coreid to the register interface.
Reto Achermann [Wed, 30 Jul 2014 19:02:17 +0000]
Xeon Phi Driver: added coreid to the register interface.

6 years agoIncreased the slot CNODE size in memserver to 13.
Reto Achermann [Wed, 30 Jul 2014 17:27:33 +0000]
Increased the slot CNODE size in memserver to 13.

6 years agoAdded: new error numbers to xeon phi.
Reto Achermann [Wed, 30 Jul 2014 17:27:04 +0000]
Added: new error numbers to xeon phi.

6 years agoXeon Phi Driver: switched to the new Xeon Phi Client, added open call to interphi...
Reto Achermann [Wed, 30 Jul 2014 17:25:57 +0000]
Xeon Phi Driver: switched to the new Xeon Phi Client, added open call to interphi interface.

6 years agolibxeonphi: removed unneeded files. added xeon phi client.
Reto Achermann [Wed, 30 Jul 2014 17:25:02 +0000]
libxeonphi: removed unneeded files. added xeon phi client.

6 years agoXeon Phi Driver: adapted the initialization to make use of the flounder interface...
Reto Achermann [Tue, 29 Jul 2014 16:35:36 +0000]
Xeon Phi Driver: adapted the initialization to make use of the flounder interface for intra phi messaging.

6 years agoadded ifdef for k1om in barrelfish/threads.c
Reto Achermann [Tue, 29 Jul 2014 16:34:47 +0000]
added ifdef for k1om in barrelfish/threads.c

6 years agoXeon Phi: small changes in the driver interface.
Reto Achermann [Tue, 29 Jul 2014 16:34:04 +0000]
Xeon Phi: small changes in the driver interface.

6 years agoadapted the K1OM boot to hand over the message frame size to xeon phi.
Reto Achermann [Tue, 29 Jul 2014 16:10:03 +0000]
adapted the K1OM boot to hand over the message frame size to xeon phi.

6 years agoAdapted the spinlock implementation to the xeon phi.
Reto Achermann [Tue, 29 Jul 2014 16:08:27 +0000]
Adapted the spinlock implementation to the xeon phi.

6 years agoXeon Phi Driver: rewritten interphi messaging to use flounder.
Reto Achermann [Tue, 29 Jul 2014 16:07:04 +0000]
Xeon Phi Driver: rewritten interphi messaging to use flounder.

6 years agospawnd: missing #ifdef resulted in a wait forever condition
Reto Achermann [Mon, 28 Jul 2014 14:07:49 +0000]
spawnd: missing #ifdef resulted in a wait forever condition

6 years agoAdded DMA verification to the Xeon Phi test domain.
Reto Achermann [Mon, 28 Jul 2014 11:37:15 +0000]
Added DMA verification to the Xeon Phi test domain.

6 years agoxeon phi driver: adapted the polling.
Reto Achermann [Mon, 28 Jul 2014 11:36:42 +0000]
xeon phi driver: adapted the polling.

6 years agolibdma: increased the ring size.
Reto Achermann [Mon, 28 Jul 2014 11:35:55 +0000]
libdma: increased the ring size.

6 years agolibdma: bugfixes with the DMA ring and small tweaks
Reto Achermann [Mon, 28 Jul 2014 11:35:08 +0000]
libdma: bugfixes with the DMA ring and small tweaks

bugfix: If the ring was filled with maximum descriptors resulted in no
        progress, as the ring was sensed empty. Reduced maximum
        availabel space to size - 1.

bugfix: xeon phi DMA polling did not made progress upon wrap around

Increased the overall ring size to serve bigger requests.

6 years agoxeon phi driver: adapted the exporting name to xeon phi and host.
Reto Achermann [Sun, 27 Jul 2014 20:34:51 +0000]
xeon phi driver: adapted the exporting name to xeon phi and host.

6 years agolibdma: forgot the handling of completed dma requests
Reto Achermann [Sun, 27 Jul 2014 20:33:53 +0000]
libdma: forgot the handling of completed dma requests

6 years agoDMA MAnager: bug in inserting new services which were not inserted correctly
Reto Achermann [Sun, 27 Jul 2014 20:32:21 +0000]
DMA MAnager: bug in inserting new services which were not inserted correctly

6 years agoXeon Phi test: added DMA verification.
Reto Achermann [Sun, 27 Jul 2014 18:48:25 +0000]
Xeon Phi test: added DMA verification.

6 years agoXeon Phi Test: Adapted to the new DMA interface.
Reto Achermann [Sun, 27 Jul 2014 18:36:38 +0000]
Xeon Phi Test: Adapted to the new DMA interface.

6 years agoMoved the Xeon Phi test domain into /usr/test
Reto Achermann [Sun, 27 Jul 2014 12:55:56 +0000]
Moved the Xeon Phi test domain into /usr/test

6 years agoAdapted the Xeon Phi driver to make use of the DMA driver library
Reto Achermann [Sun, 27 Jul 2014 12:55:16 +0000]
Adapted the Xeon Phi driver to make use of the DMA driver library

6 years agomoved xeon phi manager to the device manager directory
Reto Achermann [Sun, 27 Jul 2014 12:52:36 +0000]
moved xeon phi manager to the device manager directory

6 years agoPorted implementation of the Xeon Phi DMA driver to the new DMA library
Reto Achermann [Sun, 27 Jul 2014 12:51:19 +0000]
Ported implementation of the Xeon Phi DMA driver to the new DMA library

6 years agolibdma: service initialization with user supplied argument
Reto Achermann [Sun, 27 Jul 2014 12:48:13 +0000]
libdma: service initialization with user supplied argument

added the possibility to give the service initialization and the connect
callback a user specified argument to hand over some state when a new
client connects and the connect callback is executed.

6 years agolibdma: adapted channel initialization to work with the new DMA ring interface
Reto Achermann [Sun, 27 Jul 2014 12:45:46 +0000]
libdma: adapted channel initialization to work with the new DMA ring interface

6 years agolibdma: ring implementation modulo ring size option + renaming
Reto Achermann [Sun, 27 Jul 2014 12:43:40 +0000]
libdma: ring implementation modulo ring size option + renaming

Renamed the fields of the DMA ring to be more explicit with head / tail
and so forth.

Added option to return the head modulo ring size.

6 years agolibdma: some Xeon Phi DMA driver specific implementations
Reto Achermann [Fri, 25 Jul 2014 11:33:50 +0000]
libdma: some Xeon Phi DMA driver specific implementations

+ enabling / disabling channels
+ bugfix in channel address calculatio
+ DMA descriptor setup functions

6 years agodma_test: does now issue multiple memcpy requests.
Reto Achermann [Fri, 25 Jul 2014 11:30:38 +0000]
dma_test: does now issue multiple memcpy requests.

6 years agolibdma: Adapted the client channel to the new tx_queue interface
Reto Achermann [Fri, 25 Jul 2014 09:47:10 +0000]
libdma: Adapted the client channel to the new tx_queue interface