6 years agofix syntax error in graphviz files. seems like more recent versions are more picky...
Moritz Hoffmann [Mon, 12 Jan 2015 10:36:34 +0000]
fix syntax error in graphviz files. seems like more recent versions are more picky than before

6 years ago[clang] Fixes for the clang compiler.
Gerd Zellweger [Thu, 11 Dec 2014 21:22:16 +0000]
[clang] Fixes for the clang compiler.

6 years agoposixcompat: fixed pthread_key destructor calls
Zaheer Chothia [Mon, 15 Dec 2014 22:35:06 +0000]
posixcompat: fixed pthread_key destructor calls

The deletion path was previously missing completely and POSIX requires the
implementation to set the key pointer to NULL before calling the destructor

What is still missing is the repeated destructor calls if values become
non-NULL (i.e. PTHREAD_DESTRUCTOR_ITERATIONS).  Further, this module is missing
a number of corner cases and NULL checks.  It may be better to just import the
corresponding code from elsewhere:

Test Plan:
Rust uses these in the test suite to collect output (by overriding
stdout/stderr).  That would segfault but now runs through fine.

Differential Revision:

6 years agoposixcompat: fix NULL pointer dereference in pthread_join
Zaheer Chothia [Mon, 15 Dec 2014 22:33:59 +0000]
posixcompat: fix NULL pointer dereference in pthread_join

6 years agoevent queue: document unsafety for cross-core messaging.
Zaheer Chothia [Sun, 14 Dec 2014 19:53:36 +0000]
event queue: document unsafety for cross-core messaging.

Test Plan: N/A

Differential Revision:

6 years agoevent queue: fix typo and potential race condition.
Zaheer Chothia [Sun, 14 Dec 2014 19:50:38 +0000]
event queue: fix typo and potential race condition.

Boolean condition was negated so event runner did not re-register to the
underlying channel. This meant that in continuous mode only the first node
would be delivered and the remainder would wait indefinitely.

Also fixes a potential race condition between event_queue_trigger and
event_queue_cancel on the 'run' field.

(Note: in the interim this was already fixed in 81e3710f9f55 so this is only a
partial patch.)

6 years agoRemove <nodeputy.h> from default flags
Zaheer Chothia [Sun, 14 Dec 2014 16:02:46 +0000]
Remove <nodeputy.h> from default flags

Deputy annotations [1] can be used to label safety properties.  They are
used extensively in the kernel, but in user-space there is only one use.
The macros have short names (like 'COUNT', 'SAFE') which can conflict
when building other applications.  Furthermore, these are not being
checked and are just stripped during the build.

Note: the change to <kernel.h> is needed because it is included from a
generated file:


Test Plan: `make clean && make` was successful

Differential Revision:

6 years agoChange USB code to use barrelfish_usleep provided by lib_usb_wait instead of USB_WAIT...
Moritz Hoffmann [Mon, 15 Dec 2014 15:59:49 +0000]
Change USB code to use barrelfish_usleep provided by lib_usb_wait instead of USB_WAIT macro

6 years agoDefaults to gitignore.
Gerd Zellweger [Wed, 10 Dec 2014 09:22:30 +0000]
Defaults to gitignore.

6 years agoARMv5: Make sure menu.lst.modules is always in base of CPIO archive.
Gerd Zellweger [Mon, 8 Dec 2014 21:19:37 +0000]
ARMv5: Make sure menu.lst.modules is always in base of CPIO archive.

6 years agoFix the USB code that was destroying my shell.
Gerd Zellweger [Mon, 8 Dec 2014 17:11:10 +0000]
Fix the USB code that was destroying my shell.

Writing random ASCII character in general is not a good idea.
Now I write a space/backspace combination which at least does
not set my shell to 'garbage output mode'.
The whole thing is suboptimal as we don't want USB set-up code
in the kernel and we don't want to do waiting using printf.
We should really re-write those wait functions to use deferred events...

6 years agoMove code out of header file.
Gerd Zellweger [Sun, 7 Dec 2014 19:37:06 +0000]
Move code out of header file.

6 years agoRemove unneeded file (armv5 syscall uses arm/syscall.c)
Gerd Zellweger [Sun, 7 Dec 2014 19:29:15 +0000]
Remove unneeded file (armv5 syscall uses arm/syscall.c)

6 years agoRemove unused variable warning on armv5.
Gerd Zellweger [Sun, 7 Dec 2014 19:28:55 +0000]
Remove unused variable warning on armv5.

6 years agoKaluga added stubs for gem5.
Gerd Zellweger [Sun, 7 Dec 2014 19:17:00 +0000]
Kaluga added stubs for gem5.

6 years agoUpdate gitignore.
Gerd Zellweger [Sun, 7 Dec 2014 16:57:34 +0000]
Update gitignore.

6 years agoAdded binary perfix for corectrl.
Gerd Zellweger [Sun, 7 Dec 2014 14:22:02 +0000]
Added binary perfix for corectrl.

6 years agoMake sure test programs compile again.
Gerd Zellweger [Sun, 7 Dec 2014 12:02:17 +0000]
Make sure test programs compile again.

6 years agoMake sure test programs compile again.
Gerd Zellweger [Sat, 6 Dec 2014 22:29:14 +0000]
Make sure test programs compile again.

6 years agoRemove unused code.
Gerd Zellweger [Sat, 6 Dec 2014 18:14:47 +0000]
Remove unused code.

6 years agoInclude Haskell object files in gitignore.
Gerd Zellweger [Sat, 6 Dec 2014 13:50:01 +0000]
Include Haskell object files in gitignore.

6 years agoRemove unnecessary argument in build_multiboot.c.
Gerd Zellweger [Sat, 6 Dec 2014 13:40:46 +0000]
Remove unnecessary argument in build_multiboot.c.

6 years agoAdd BF_BINARY_PREFIX define to configure binary path by build system.
Gerd Zellweger [Sat, 6 Dec 2014 12:02:33 +0000]
Add BF_BINARY_PREFIX define to configure binary path by build system.

6 years agoFix syntax error in Hakefile.
Gerd Zellweger [Sat, 6 Dec 2014 13:23:28 +0000]
Fix syntax error in Hakefile.

6 years agoCompile bfscope for armv5 and exvlude bench for armv5.
Gerd Zellweger [Thu, 10 Apr 2014 07:18:40 +0000]
Compile bfscope for armv5 and exvlude bench for armv5.

6 years agoRCCE make sure it compiles again.
Gerd Zellweger [Sat, 6 Dec 2014 11:53:37 +0000]
RCCE make sure it compiles again.

6 years agoMake sure replay/slave.c compiles again.
Gerd Zellweger [Sat, 6 Dec 2014 11:52:02 +0000]
Make sure replay/slave.c compiles again.

6 years agoSome armv5 related fixes.
Gerd Zellweger [Fri, 11 Apr 2014 22:02:47 +0000]
Some armv5 related fixes.

Make sure we don't compile pandaboard usb code in gem5.

6 years agoRemove unused armv5 files that do not compile.
Gerd Zellweger [Thu, 10 Apr 2014 07:17:39 +0000]
Remove unused armv5 files that do not compile.

6 years agoRemove dvipd from hyperref.
Gerd Zellweger [Tue, 25 Feb 2014 22:03:38 +0000]
Remove dvipd from hyperref.

6 years agoRemove temporarily generated files from pdflatex.
Gerd Zellweger [Mon, 24 Feb 2014 21:02:28 +0000]
Remove temporarily generated files from pdflatex.

6 years agoMake sure fat_test compiles on x86_64.
Gerd Zellweger [Fri, 21 Feb 2014 07:30:27 +0000]
Make sure fat_test compiles on x86_64.

6 years agoMake sure thc-binding.c compiles (proper C application with main).
Gerd Zellweger [Mon, 17 Feb 2014 07:54:28 +0000]
Make sure thc-binding.c compiles (proper C application with main).

6 years agoMake sure usb libraries compile for x86_64
Gerd Zellweger [Fri, 24 Jan 2014 17:49:48 +0000]
Make sure usb libraries compile for x86_64

6 years agoRemove memsweep.c, file is not needed.
Gerd Zellweger [Thu, 12 Dec 2013 17:15:35 +0000]
Remove memsweep.c, file is not needed.

6 years agoFix compiler errors in pit.c.
Gerd Zellweger [Wed, 5 Mar 2014 15:33:14 +0000]
Fix compiler errors in pit.c.

6 years agoharness: Removed superfluous debug print. release2014-12-10
Simon Gerber [Tue, 9 Dec 2014 13:45:21 +0000]
harness: Removed superfluous debug print.

6 years agoharness: Fixed interactive test not picking up right default timeout.
Simon Gerber [Tue, 9 Dec 2014 13:25:07 +0000]
harness: Fixed interactive test not picking up right default timeout.

6 years agoharness: Added per-machine test timeout.
Simon Gerber [Tue, 9 Dec 2014 12:56:32 +0000]
harness: Added per-machine test timeout.

6 years agoAdded missing include for assert() in eclipse lex.c.
Simon Gerber [Mon, 8 Dec 2014 17:17:59 +0000]
Added missing include for assert() in eclipse lex.c.

6 years agoFixed potential NULL deref in eclipse lexer.
Simon Gerber [Mon, 8 Dec 2014 16:39:26 +0000]
Fixed potential NULL deref in eclipse lexer.

6 years agolibmdb: fixed potention NULL deref in mdb_is_reachable().
Simon Gerber [Fri, 5 Dec 2014 18:38:15 +0000]
libmdb: fixed potention NULL deref in mdb_is_reachable().

6 years agolibmdb: fixed CHECK_INVARIANTS() macro (again).
Simon Gerber [Fri, 5 Dec 2014 17:36:27 +0000]
libmdb: fixed CHECK_INVARIANTS() macro (again).

6 years agoCleaning up the fish mess.
Gerd Zellweger [Fri, 5 Dec 2014 16:27:30 +0000]
Cleaning up the fish mess.

Not sure why we had two files fish.c and fish_arm.c with the same content
except for the reboot and poweroff functions.
Now we have only one again. Next step is to provide a platform independent
abstraction for reboot and poweroff in the OS since we don't really want platform
specific shells...
Also added nproc command that prints the should print amount of OSnodes
in the system.

6 years agolibmdb: Fixed broken CHECK_INVARIANTS macro when MDB_RECHECK_INVARIANTS defined.
Simon Gerber [Fri, 5 Dec 2014 16:24:06 +0000]
libmdb: Fixed broken CHECK_INVARIANTS macro when MDB_RECHECK_INVARIANTS defined.

6 years agolibmdb: Improved top-level assertion checking preprocessor switch.
Simon Gerber [Fri, 5 Dec 2014 15:42:39 +0000]
libmdb: Improved top-level assertion checking preprocessor switch.

* Moved assertions about reachability of nodes being inserted/removed inside
  toplevel invariant checking macros

6 years agomonitor: Return sensible #monitors online on octopus error.
Simon Gerber [Fri, 5 Dec 2014 15:02:28 +0000]
monitor: Return sensible #monitors online on octopus error.

6 years agoFixed typo in libmdb Hakefile and removed duplicate invariant checking.
Simon Gerber [Fri, 5 Dec 2014 15:01:59 +0000]
Fixed typo in libmdb Hakefile and removed duplicate invariant checking.

6 years agoAdd regex parsing for skb_simple get_names call.
Gerd Zellweger [Fri, 5 Dec 2014 15:29:30 +0000]
Add regex parsing for skb_simple get_names call.

6 years agoAdded missing code to bind to octopus in monitor.
Simon Gerber [Fri, 5 Dec 2014 14:33:23 +0000]
Added missing code to bind to octopus in monitor.

6 years agoharness: Added possibility to set test timeout on per-machine basis.
Simon Gerber [Fri, 5 Dec 2014 14:26:08 +0000]
harness: Added possibility to set test timeout on per-machine basis.

+ set gem5 test timeout to 15 mins.

6 years agoDisabled mdb invariant checking by default, added new harness build that enables...
Simon Gerber [Fri, 5 Dec 2014 14:01:49 +0000]
Disabled mdb invariant checking by default, added new harness build that enables invariants.

6 years agoMerge Mark Nevill's distributed capability system.
Simon Gerber [Fri, 5 Dec 2014 13:33:26 +0000]
Merge Mark Nevill's distributed capability system.

This the implementation of work discussed in the scope of Mark Nevill's
master's thesis (

The system works roughly as follows:
* Each capability has an owner which is responsible to synchronize operations
  that need synchronization in order to preserve system-wide consistency.
* The operations that need synchronization are implemented in the monitors with
  synchronization being implemented as broadcasts on the intermon bindings and
  called whenever a local capability management invocation returns with the
* These calls are done as blocking calls to the local monitor.

Newly introduced terminology/concepts:
* Ownership: each capability has an owner that is the leader for operations
  that need synchronization.
* Move: the move operation changes the owner of a capability: currently
  allowed for capabilities of the types PhysAddr, RAM, and Frame

Known Bugs:
* Some operations that should do capability move operations in the monitors
  still transfer the bit-representation of the capability manually instead of
  doing a move.

Open Issues:
* FCNodes are not implemented yet
* VNode and DevFrame ownership cannot be moved

6 years agoarmv5: fixed printf format specifier.
Simon Gerber [Fri, 5 Dec 2014 13:31:15 +0000]
armv5: fixed printf format specifier.

6 years agolibmdb: added config flags and macros for toplevel invariant checking.
Simon Gerber [Fri, 5 Dec 2014 13:16:29 +0000]
libmdb: added config flags and macros for toplevel invariant checking.

6 years agoarmv5: added memtest in menu.lst.
Simon Gerber [Fri, 5 Dec 2014 13:15:50 +0000]
armv5: added memtest in menu.lst.

6 years agoarmv5: Added condition when adding free phys regions.
Simon Gerber [Fri, 5 Dec 2014 13:09:07 +0000]
armv5: Added condition when adding free phys regions.

6 years agoFixed bogus return value in num_monitors_online() and added warning printf.
Simon Gerber [Thu, 4 Dec 2014 18:46:23 +0000]
Fixed bogus return value in num_monitors_online() and added warning printf.

6 years agoFixed libbarrelfish spawn_client() and fish_arm to use standard functionality.
Simon Gerber [Thu, 4 Dec 2014 18:22:10 +0000]
Fixed libbarrelfish spawn_client() and fish_arm to use standard functionality.

6 years agokernel: arm: removed left-over arm-specific sys_monitor_spawn_core().
Simon Gerber [Thu, 4 Dec 2014 17:09:18 +0000]
kernel: arm: removed left-over arm-specific sys_monitor_spawn_core().

6 years agomoved apic init() before the printf of the barrelfish to get the correct apic_id
Reto Achermann [Thu, 27 Nov 2014 12:27:18 +0000]
moved apic init() before the printf of the barrelfish to get the correct apic_id

6 years agoAdded waiting for periodicprint in some coreboot tests.
Simon Gerber [Thu, 4 Dec 2014 10:24:37 +0000]
Added waiting for periodicprint in some coreboot tests.

6 years agoMerge branch 'master' into distops
Simon Gerber [Wed, 3 Dec 2014 19:09:35 +0000]
Merge branch 'master' into distops

6 years agoAdded deferred-event based monitor heartbeat.
Simon Gerber [Wed, 3 Dec 2014 19:08:05 +0000]
Added deferred-event based monitor heartbeat.

Can be helpful when debugging corectrl operations to see whether the monitor
is still alive and where it's currently running.

6 years agoAdded park/unpark operations in corectrl to not have problems with domain cleanup...
Simon Gerber [Wed, 3 Dec 2014 19:07:45 +0000]
Added park/unpark operations in corectrl to not have problems with domain cleanup when a KCB is not scheduled anywhere.

6 years agolibvfs: Added explanatory comments on LFN handling in vfs_fat.
Simon Gerber [Wed, 3 Dec 2014 16:38:15 +0000]
libvfs: Added explanatory comments on LFN handling in vfs_fat.

6 years agovfs_fat: correctly handle error cases when dealing with long file names.
Moritz Hoffmann [Wed, 3 Dec 2014 16:23:00 +0000]
vfs_fat: correctly handle error cases when dealing with long file names.

6 years agovfs_fat: fix another potential off-by-one bug in vfs, also reported by gcc 4.9
Moritz Hoffmann [Wed, 3 Dec 2014 15:26:03 +0000]
vfs_fat: fix another potential off-by-one bug in vfs, also reported by gcc 4.9

6 years agovfs_fat: quick fix for potential off-by-one
Kornilios Kourtis [Wed, 5 Nov 2014 09:00:22 +0000]
vfs_fat: quick fix for potential off-by-one

reported by gcc 4.9

6 years agoFixed vmkit harness test to point to new NFS export.
Simon Gerber [Tue, 2 Dec 2014 10:31:53 +0000]
Fixed vmkit harness test to point to new NFS export.

6 years agoRenamed the 32bit variants as well. release2014-12-01
Gerd Zellweger [Fri, 28 Nov 2014 15:47:25 +0000]
Renamed the 32bit variants as well.

6 years agoChange machine names to uniform naming.
Gerd Zellweger [Fri, 28 Nov 2014 15:37:23 +0000]
Change machine names to uniform naming.

6 years agocapsend broadcast: can now remember set of destination cores for operations involving...
Simon Gerber [Fri, 28 Nov 2014 15:26:12 +0000]
capsend broadcast: can now remember set of destination cores for operations involving >1 broadcast.

6 years agoCaching the kernel and monitor binary on booting cores.
Gerd Zellweger [Fri, 28 Nov 2014 14:53:25 +0000]
Caching the kernel and monitor binary on booting cores.

This is more of a short term fix for a problem we have with the system
hard resetting after we've used too much memory. If we don't cache we
effectively create 3 copies for kernel/monitor (ramfsd, corectrl, relocation)
every time we boot a core.

6 years agoCatch broadcast targets that are not ready for distops yet.
Simon Gerber [Fri, 28 Nov 2014 14:11:26 +0000]
Catch broadcast targets that are not ready for distops yet.

6 years agoFixed double-init of delete stepping machinery.
Simon Gerber [Fri, 28 Nov 2014 14:10:50 +0000]
Fixed double-init of delete stepping machinery.

6 years agoAdded missing flounder bindings to octopus in monitor.
Simon Gerber [Fri, 28 Nov 2014 14:09:19 +0000]
Added missing flounder bindings to octopus in monitor.

6 years agoAdded non-recursive invariant checks in libmdb.
Simon Gerber [Fri, 28 Nov 2014 14:08:48 +0000]
Added non-recursive invariant checks in libmdb.

6 years agobugfix: argc count for the CPU parameter was not increased by 4 to
Reto Achermann [Thu, 27 Nov 2014 11:46:28 +0000]
bugfix: argc count for the CPU parameter was not increased by 4 to
handle the additional arguments.

6 years agoRemoved extra include path element (/include/dev) from all rules
Timothy Roscoe [Thu, 27 Nov 2014 11:59:42 +0000]
Removed extra include path element (/include/dev) from all rules

6 years agoEnsure all Mackerel files are included explicitly from dev/
Timothy Roscoe [Thu, 27 Nov 2014 11:52:36 +0000]
Ensure all Mackerel files are included explicitly from dev/

6 years agoFixed bogus Mercurial dependency in the Spec technical note
Timothy Roscoe [Thu, 27 Nov 2014 09:36:34 +0000]
Fixed bogus Mercurial dependency in the Spec technical note

6 years agoRemoved last traces of rcap_db stuff.
Simon Gerber [Wed, 26 Nov 2014 17:41:49 +0000]
Removed last traces of rcap_db stuff.

6 years agoImplemented simple octopus-based num_monitors_online() query.
Simon Gerber [Wed, 26 Nov 2014 17:41:32 +0000]
Implemented simple octopus-based num_monitors_online() query.

6 years agoMerge branch 'master' into distops
Simon Gerber [Wed, 26 Nov 2014 17:08:04 +0000]
Merge branch 'master' into distops

capsend_broadcast() is broken because we don't have static value of
num_monitors anymore and getting num_monitors dynamically is non-trivial.


6 years agoExtend scope of barrelfish_id_s, so other stack elements to not interfere.
Gerd Zellweger [Wed, 26 Nov 2014 14:04:42 +0000]
Extend scope of barrelfish_id_s, so other stack elements to not interfere.

6 years agoAPIC IDs passed to corectrl are no longer hex values.
Gerd Zellweger [Wed, 26 Nov 2014 14:04:15 +0000]
APIC IDs passed to corectrl are no longer hex values.

6 years agoDo not pass barrelfish_id as hex argument.
Gerd Zellweger [Wed, 26 Nov 2014 12:24:57 +0000]
Do not pass barrelfish_id as hex argument.

6 years agoDisable debugging.
Gerd Zellweger [Wed, 26 Nov 2014 12:23:47 +0000]
Disable debugging.

6 years agoFix printf's remove dead code.
Gerd Zellweger [Wed, 26 Nov 2014 12:23:08 +0000]
Fix printf's remove dead code.

6 years agoFix incorrect malloc usage that freezes kaluga.
Gerd Zellweger [Wed, 26 Nov 2014 12:22:29 +0000]
Fix incorrect malloc usage that freezes kaluga.

6 years agoMake sure ACPI debug compiles again.
Gerd Zellweger [Wed, 26 Nov 2014 10:41:56 +0000]
Make sure ACPI debug compiles again.

6 years agoPass custom kernel arguments to corectrl if they exist (in menu.lst)
Gerd Zellweger [Wed, 26 Nov 2014 10:38:40 +0000]
Pass custom kernel arguments to corectrl if they exist (in menu.lst)

In order to make sure that for example tomme machines get the correct
serial ports on APP cores.

6 years agoMoved periodicprint app from tests/hellotest to it's own directory.
Simon Gerber [Wed, 26 Nov 2014 13:12:55 +0000]
Moved periodicprint app from tests/hellotest to it's own directory.

6 years agocpuboot: moved errval_t out of __x86__ define.
Simon Gerber [Wed, 26 Nov 2014 12:54:22 +0000]
cpuboot: moved errval_t out of __x86__ define.

6 years agoMerge ssh://
Timothy Roscoe [Wed, 26 Nov 2014 12:27:00 +0000]
Merge ssh://

6 years agoFixed core id mixup in park_boot test.
Simon Gerber [Wed, 26 Nov 2014 12:16:45 +0000]
Fixed core id mixup in park_boot test.

6 years agoFixed shadowed local variables, and added missing THC include files
Timothy Roscoe [Wed, 26 Nov 2014 12:00:22 +0000]
Fixed shadowed local variables, and added missing THC include files

6 years agoRemoved shadowed local variable err
Timothy Roscoe [Wed, 26 Nov 2014 10:09:11 +0000]
Removed shadowed local variable err

6 years agoAdded bench_tsc_per_* functions for arm.
Simon Gerber [Wed, 26 Nov 2014 09:51:49 +0000]
Added bench_tsc_per_* functions for arm.