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

5 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.

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

5 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.

5 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.

5 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().

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

5 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.

5 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.

5 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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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 (http://www.barrelfish.org/nevill-master-capabilities.pdf).

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
  error message SYS_ERR_RETRY_THROUGH_MONITOR.
* 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

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

5 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.

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

5 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.

5 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.

5 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.

5 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().

5 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

5 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.

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

5 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.

5 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.

5 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.

5 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.

5 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

5 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

5 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.

5 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.

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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.
Conflicts:
usr/kaluga/start_cpu.c

5 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

5 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/

5 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

5 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.

5 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.

5 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.

Conflicts:
errors/errno.fugu
if/intermon.if
if/monitor.if
if/monitor_blocking.if
include/arch/arm/barrelfish/invocations_arch.h
include/arch/x86_32/barrelfish/invocations_arch.h
include/mdb/mdb_tree.h
kernel/Hakefile
kernel/arch/arm/syscall.c
kernel/arch/armv7/irq.c
kernel/arch/x86/start_aps.c
kernel/arch/x86_64/syscall.c
kernel/capabilities.c
kernel/include/capabilities.h
kernel/startup.c
lib/barrelfish/init.c
lib/barrelfish/spawn_client.c
usr/kaluga/main.c
usr/monitor/arch/armv7/boot.c
usr/monitor/arch/x86/boot.c
usr/monitor/boot.c
usr/monitor/include/arch/arm/monitor_invocations.h
usr/monitor/include/arch/x86_64/monitor_invocations.h
usr/monitor/include/monitor.h
usr/monitor/inter.c
usr/monitor/monitor_server.c
usr/spawnd/service.c
usr/startd/main.c

5 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.

5 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.

5 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.

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

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

5 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.

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

5 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.

5 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.

5 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.

5 years agoMerge ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
Timothy Roscoe [Wed, 26 Nov 2014 12:27:00 +0000]
Merge ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish

5 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.

5 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

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

5 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.

5 years agoImproved interactive test framework and improved coreboot tests.
Simon Gerber [Wed, 26 Nov 2014 09:50:40 +0000]
Improved interactive test framework and improved coreboot tests.

Coreboot tests try to detect number of cores in machine they're running on and
choose core ids accordingly.  Interactive test framework now works with QEMU.

5 years agoMerge ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
Timothy Roscoe [Wed, 26 Nov 2014 09:10:12 +0000]
Merge ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish

5 years agoModified gem5 machine to use telnetlib instead of subprocess and reduced connect...
Simon Gerber [Tue, 25 Nov 2014 14:01:46 +0000]
Modified gem5 machine to use telnetlib instead of subprocess and reduced connect timeout.

5 years agoMake sure Barrelfish CPU driver starting comes before apic_init.
Gerd Zellweger [Tue, 25 Nov 2014 12:56:31 +0000]
Make sure Barrelfish CPU driver starting comes before apic_init.

Makes sure the harness tests will work again:
The update_kernel test expects a prompt output again after
corectrl has finished.
apic_init will release the *ap_wait pseudo-lock and therefore let
corectrl finish. Then the kernel immediately prints the Barrelfish CPU
driver starting line which tends to conflict with fish since both
the new kernel and fish will print at the same time, leading to
interleaved output (print from serial and kernels can currently
happen at the same time).

5 years agoMake sure we can boot a core on ARMv7 gem5 again.
Gerd Zellweger [Tue, 25 Nov 2014 12:18:36 +0000]
Make sure we can boot a core on ARMv7 gem5 again.

Also get rid of pseudo-lock for kernel boot-up on GEM5. As it seemed to block
the booting of the other core (not sure why that is). However the pseudo lock is
a x86 artefact anyways and we can ignore it for ARM in this case.

5 years agoMerge branch 'master' of ssh://git.systems.ethz.ch:8092/barrelfish
Timothy Roscoe [Tue, 25 Nov 2014 08:31:18 +0000]
Merge branch 'master' of ssh://git.systems.ethz.ch:8092/barrelfish

5 years agoFixed octopus dependency problem
Timothy Roscoe [Tue, 25 Nov 2014 08:31:11 +0000]
Fixed octopus dependency problem

5 years agoUpdate gem5 build to use corectrl instead of spawnd.
Gerd Zellweger [Tue, 25 Nov 2014 07:38:17 +0000]
Update gem5 build to use corectrl instead of spawnd.

5 years agoUpdated .gitignore.
Gerd Zellweger [Tue, 25 Nov 2014 07:15:22 +0000]
Updated .gitignore.

5 years agoarm: Fixed printf format in fatal_kernel_fault handler.
Simon Gerber [Mon, 24 Nov 2014 14:58:32 +0000]
arm: Fixed printf format in fatal_kernel_fault handler.

5 years agoarm_gem5: Added missing symbol relocation for kcb_current.
Simon Gerber [Mon, 24 Nov 2014 14:47:31 +0000]
arm_gem5: Added missing symbol relocation for kcb_current.

5 years agoarm: Fixed calculation of ELF addrs for kernel PC values
Simon Gerber [Mon, 24 Nov 2014 14:47:00 +0000]
arm: Fixed calculation of ELF addrs for kernel PC values

5 years agoRevert to Linux ARM compiler.
Gerd Zellweger [Sat, 22 Nov 2014 14:34:54 +0000]
Revert to Linux ARM compiler.

5 years agoARMv7 GEM5 compiles again.
Gerd Zellweger [Sat, 22 Nov 2014 14:26:33 +0000]
ARMv7 GEM5 compiles again.

Currently faults in kernel after init is started.

5 years agoCompile armv5 and runs memtest on Qemu.
Gerd Zellweger [Sat, 22 Nov 2014 13:28:51 +0000]
Compile armv5 and runs memtest on Qemu.

5 years agoCompile code for ARM.
Gerd Zellweger [Sat, 22 Nov 2014 12:51:06 +0000]
Compile code for ARM.

5 years agoAdded initialization for schedsim kcb.
Simon Gerber [Fri, 21 Nov 2014 17:57:52 +0000]
Added initialization for schedsim kcb.

5 years agoFixed rbed scheduler code to still work in schedsim.
Simon Gerber [Fri, 21 Nov 2014 17:55:27 +0000]
Fixed rbed scheduler code to still work in schedsim.

5 years agoDisplay core count in the benchmark.
Gerd Zellweger [Fri, 21 Nov 2014 17:22:07 +0000]
Display core count in the benchmark.

5 years agoReturn number of instance spawned in spawn_on_all_cores.
Gerd Zellweger [Fri, 21 Nov 2014 17:11:41 +0000]
Return number of instance spawned in spawn_on_all_cores.

This also allows to remove the get_num_cores call in the
monitor and is the more sane approach anyways with dynamic
cores.

5 years agoRemove dead code.
Gerd Zellweger [Fri, 21 Nov 2014 16:42:52 +0000]
Remove dead code.

5 years agoMove oct_parse_names and oct_free_names to parser library.
Gerd Zellweger [Fri, 21 Nov 2014 16:24:35 +0000]
Move oct_parse_names and oct_free_names to parser library.

5 years agoChange spawn_program_on_all_cores implementation.
Gerd Zellweger [Fri, 21 Nov 2014 16:12:30 +0000]
Change spawn_program_on_all_cores implementation.

We can no longer rely on monitor giving us core count.

5 years agoRemove old code.
Gerd Zellweger [Fri, 21 Nov 2014 16:11:57 +0000]
Remove old code.

5 years agoAdd k1om boot driver.
Gerd Zellweger [Fri, 21 Nov 2014 14:19:22 +0000]
Add k1om boot driver.

5 years agoAdded missing include in usr/monitor/inter.c
Simon Gerber [Fri, 21 Nov 2014 14:33:38 +0000]
Added missing include in usr/monitor/inter.c

5 years agoFixed usage of kernel cap in armboot. Using IPICmd_Send_Start to call Spawn_core...
Simon Gerber [Fri, 21 Nov 2014 14:33:21 +0000]
Fixed usage of kernel cap in armboot. Using IPICmd_Send_Start to call Spawn_core for now.

5 years agoMake kernel create IPI cap which is passed to monitor.
Simon Gerber [Fri, 21 Nov 2014 14:05:09 +0000]
Make kernel create IPI cap which is passed to monitor.

This replaces the create_cap invocation in the monitor that creates an IPI cap
when someone requests a copy of it.

5 years agoFactored out IPI sending invocations to their own cap instead of kernel cap.
Simon Gerber [Fri, 21 Nov 2014 13:54:17 +0000]
Factored out IPI sending invocations to their own cap instead of kernel cap.

5 years agoReplaced get_global_paddr invocation with monitor RPC call.
Simon Gerber [Fri, 21 Nov 2014 13:17:56 +0000]
Replaced get_global_paddr invocation with monitor RPC call.

5 years agoReplaced raw invocation for cap_set_remote in boot driver with monitor rpc.
Simon Gerber [Fri, 21 Nov 2014 12:52:47 +0000]
Replaced raw invocation for cap_set_remote in boot driver with monitor rpc.

5 years agoRemoved function declearations for non-existant functions.
Simon Gerber [Fri, 21 Nov 2014 12:52:13 +0000]
Removed function declearations for non-existant functions.

5 years agoAdd required delays in x86boot to boot XeonPhi cores.
Gerd Zellweger [Fri, 21 Nov 2014 13:53:32 +0000]
Add required delays in x86boot to boot XeonPhi cores.

5 years agoFix spantest and ump_bench by making sure all_spawnd_up is set correctly again.
Gerd Zellweger [Fri, 21 Nov 2014 10:48:45 +0000]
Fix spantest and ump_bench by making sure all_spawnd_up is set correctly again.

5 years agoMerge with local master.
Gerd Zellweger [Thu, 20 Nov 2014 08:24:49 +0000]
Merge with local master.

5 years agoMerge branch 'master' of hg.systems.ethz.ch:barrelfish
Gerd Zellweger [Thu, 20 Nov 2014 08:23:33 +0000]
Merge branch 'master' of hg.systems.ethz.ch:barrelfish

Conflicts:
kernel/arch/x86/start_aps.c