9 years agoChanges for nameservice. Use RPC client for NS functionality.
Gerd Zellweger [Wed, 22 Feb 2012 23:18:40 +0000]
Changes for nameservice. Use RPC client for NS functionality.

9 years agoMerge device-mngr branch into default.
Gerd Zellweger [Wed, 22 Feb 2012 13:00:42 +0000]
Merge device-mngr branch into default.

9 years agoAdded dist_mset function (can provide additional set mode).
Gerd Zellweger [Sun, 19 Feb 2012 18:26:31 +0000]
Added dist_mset function (can provide additional set mode).

extra : transplant_source : %9Fqf%82%8C%E0%1D%B3%60%BF%FB%8F%EA2NVs%CE%08b

9 years agoMerge
Gerd Zellweger [Fri, 17 Feb 2012 12:22:52 +0000]

9 years agoMerge with current public.
Gerd Zellweger [Fri, 17 Feb 2012 12:20:15 +0000]
Merge with current public.

branch : octopus.add-device-mngr

9 years agoSmall refactoring - commit before starting to work on ACPI.
Gerd Zellweger [Fri, 17 Feb 2012 11:51:02 +0000]
Small refactoring - commit before starting to work on ACPI.

branch : octopus.add-device-mngr

9 years agoGiving device_mgr a fish name :-).
Gerd Zellweger [Fri, 17 Feb 2012 11:16:06 +0000]
Giving device_mgr a fish name :-).

branch : octopus.add-device-mngr
rename : usr/device_mgr/Hakefile => usr/kaluga/Hakefile
rename : usr/device_mgr/main.c => usr/kaluga/main.c
rename : usr/device_mgr/queue.c => usr/kaluga/queue.c
rename : usr/device_mgr/queue.h => usr/kaluga/queue.h

9 years agoAdded ifdefs for spawnd in case device manager is running.
Gerd Zellweger [Fri, 17 Feb 2012 11:14:56 +0000]
Added ifdefs for spawnd in case device manager is running.
This prevents spawnd from booting cores.

branch : octopus.add-device-mngr

9 years agoTransplant changes from other branches.
Gerd Zellweger [Fri, 17 Feb 2012 10:30:39 +0000]
Transplant changes from other branches.

9 years agoAdded missing queue in device manager.
Gerd Zellweger [Thu, 16 Feb 2012 09:14:04 +0000]
Added missing queue in device manager.

branch : octopus.add-device-mngr

9 years agoMade some changes in pci code to create records for cores / devices.
Gerd Zellweger [Wed, 15 Feb 2012 21:11:58 +0000]
Made some changes in pci code to create records for cores / devices.
This is currently mostly proof of concept, need to write a clean
interface for this.

branch : octopus.add-device-mngr

9 years agoTrying to boot cores in device manager / disabled booting in spawnd.
Gerd Zellweger [Wed, 15 Feb 2012 21:10:39 +0000]
Trying to boot cores in device manager / disabled booting in spawnd.
This is currently work in progress.

branch : octopus.add-device-mngr

9 years agoAdded assertion for completeness.
Gerd Zellweger [Wed, 15 Feb 2012 21:09:57 +0000]
Added assertion for completeness.

branch : octopus.add-device-mngr

9 years agoRefactored dist_get_names (moved parsing into separate function).
Gerd Zellweger [Tue, 14 Feb 2012 15:53:27 +0000]
Refactored dist_get_names (moved parsing into separate function).

branch : octopus.add-device-mngr

9 years agoChanged getset tests a bit because we now use dist2 as
Gerd Zellweger [Tue, 14 Feb 2012 13:25:38 +0000]
Changed getset tests a bit because we now use dist2 as
nameserver we have records already in the syste,

branch : octopus.add-device-mngr

9 years agoRemoved unused define.
Gerd Zellweger [Tue, 14 Feb 2012 13:21:49 +0000]
Removed unused define.

branch : octopus.add-device-mngr

9 years agoRewrote trigger implementation to use publish/subscribe code.
Gerd Zellweger [Tue, 14 Feb 2012 13:00:02 +0000]
Rewrote trigger implementation to use publish/subscribe code.

branch : octopus.add-device-mngr

9 years agoChanged trigger code a bit to support persistent triggers
Gerd Zellweger [Mon, 13 Feb 2012 17:15:58 +0000]
Changed trigger code a bit to support persistent triggers
(will used for device manager).

branch : octopus.add-device-mngr

9 years agoAdded some very basic functionality that adds devices and looks them up in the device...
Gerd Zellweger [Mon, 13 Feb 2012 10:16:27 +0000]
Added some very basic functionality that adds devices and looks them up in the device manager.

branch : octopus.add-device-mngr

9 years agomerge with chips-remove branch.
Gerd Zellweger [Sun, 12 Feb 2012 16:40:00 +0000]
merge with chips-remove branch.

branch : octopus.add-device-mngr

9 years agoInitial commit for device manager.
Gerd Zellweger [Sun, 12 Feb 2012 16:39:38 +0000]
Initial commit for device manager.

branch : octopus.add-device-mngr

9 years agoAdded device manager initial files.
Gerd Zellweger [Sun, 12 Feb 2012 16:27:42 +0000]
Added device manager initial files.

branch : octopus.add-device-mngr

9 years agoRemoved printf output in scan.l
Gerd Zellweger [Sun, 12 Feb 2012 16:14:52 +0000]
Removed printf output in scan.l

9 years agoAdded debug_printf statement to wait_for call in case we register
Gerd Zellweger [Sun, 12 Feb 2012 15:20:34 +0000]
Added debug_printf statement to wait_for call in case we register
a trigger. This should match the output of chips during boot.

branch : octopus.chips-remove

9 years agoAdded comment to wait_for rpc call in dist2 interface.
Gerd Zellweger [Sun, 12 Feb 2012 15:19:14 +0000]
Added comment to wait_for rpc call in dist2 interface.

branch : octopus.chips-remove

9 years agoRemoved some debug output in monitor code dealing with iref handling.
Gerd Zellweger [Sun, 12 Feb 2012 15:08:59 +0000]
Removed some debug output in monitor code dealing with iref handling.

branch : octopus.chips-remove

9 years agoReworked dist2 initialization a bit. At the moment, libbarrelfish will only
Gerd Zellweger [Sun, 12 Feb 2012 15:08:10 +0000]
Reworked dist2 initialization a bit. At the moment, libbarrelfish will only
initialize the RPC binding (sufficient to provide the NS service).
This avoids starting a second event thread for every domain in the whole system.
I still need some way to do proper error handling in case we use an API that
requires async events or just bind the event binding on the default waitset
and provide async APIs for locking barrier etc.

branch : octopus.chips-remove

9 years agoCleaned up code in ramfs initialization, added proper error code in case
Gerd Zellweger [Sun, 12 Feb 2012 15:05:19 +0000]
Cleaned up code in ramfs initialization, added proper error code in case
iref is there yet.

branch : octopus.chips-remove

9 years agoClean-up in skb initialization code. Removed some debug output.
Gerd Zellweger [Sun, 12 Feb 2012 15:04:14 +0000]
Clean-up in skb initialization code. Removed some debug output.

branch : octopus.chips-remove

9 years agoNew Implementation for nameservice_client in dist2.
Gerd Zellweger [Sun, 12 Feb 2012 15:02:55 +0000]
New Implementation for nameservice_client in dist2.
ifdefd out the old implementation using chips.

branch : octopus.chips-remove

9 years agoAdjusted some error values in code to remove references to chips in
Gerd Zellweger [Sun, 12 Feb 2012 12:44:59 +0000]
Adjusted some error values in code to remove references to chips in
name service loop-up.

branch : octopus.chips-remove

9 years agoChanged ramfs initialization to request iref from monitor. We need ramfs to start...
Gerd Zellweger [Sun, 12 Feb 2012 11:49:57 +0000]
Changed ramfs initialization to request iref from monitor. We need ramfs to start the SKB.

branch : octopus.chips-remove

9 years agoAdded replication for ramfs iref among monitors.
Gerd Zellweger [Sun, 12 Feb 2012 11:25:25 +0000]
Added replication for ramfs iref among monitors.

branch : octopus.chips-remove

9 years agoUpdated trigger test case so it compiles again.
Gerd Zellweger [Sun, 12 Feb 2012 11:05:42 +0000]
Updated trigger test case so it compiles again.

extra : transplant_source : %1F%D5%B3%87%B5%A4%F9e%5E%E5J%C9We%EF%D78%A9%D5%ED

9 years agoUpdated trigger test case so it compiles again.
Gerd Zellweger [Sun, 12 Feb 2012 11:05:42 +0000]
Updated trigger test case so it compiles again.

branch : octopus.chips-remove

9 years agoAdded wait_for RPC call to dist2. This is mostly for compatibility with the existing...
Gerd Zellweger [Sun, 12 Feb 2012 11:04:54 +0000]
Added wait_for RPC call to dist2. This is mostly for compatibility with the existing nameserver API.
Another solution would be to start the event thread for every domain but this seemed inappropriate.

branch : octopus.chips-remove

9 years agoChanges to parser:
Gerd Zellweger [Sun, 12 Feb 2012 11:00:48 +0000]
Changes to parser:
- Look for end of input when only name is parsed otherwise it parses things like IDENT FLOAT etc.
- Allow dots minus etc. for record names.

extra : transplant_source : %13H%3A%B1z%3E1H%5CE%07%BE%A3%9FS%CF%01%096%D0

9 years agoChanges to parser:
Gerd Zellweger [Sun, 12 Feb 2012 11:00:48 +0000]
Changes to parser:
- Look for end of input when only name is parsed otherwise it parses things like IDENT FLOAT etc.
- Allow dots minus etc. for record names.

branch : octopus.chips-remove

9 years agoThis is currently work in progress. Started to remove dependencies from chips.
Gerd Zellweger [Wed, 8 Feb 2012 19:59:22 +0000]
This is currently work in progress. Started to remove dependencies from chips.
Now everything boots somewhat but for some reason event thread cannot be started

branch : octopus.chips-remove

9 years agostart work on removing chips from barrelfish
Gerd Zellweger [Tue, 7 Feb 2012 15:22:22 +0000]
start work on removing chips from barrelfish

branch : octopus.chips-remove

9 years agomerge release2012-02-08
Kornilios Kourtis [Mon, 6 Feb 2012 14:31:49 +0000]

9 years agoChanged logic in service handler a bit so they don't fail on error.
Gerd Zellweger [Fri, 3 Feb 2012 15:43:57 +0000]
Changed logic in service handler a bit so they don't fail on error.

9 years agoarrival rate function
Gerd Zellweger [Fri, 3 Feb 2012 15:37:03 +0000]
arrival rate function

9 years agoChange interface in d2bench
Gerd Zellweger [Fri, 3 Feb 2012 14:02:01 +0000]
Change interface in d2bench
(remove server related data sent back for benchmarking).

9 years agoAdded benchmark to measure arrival rate on server.
Gerd Zellweger [Fri, 3 Feb 2012 13:49:23 +0000]
Added benchmark to measure arrival rate on server.

9 years agomerg
Gerd Zellweger [Fri, 3 Feb 2012 12:03:49 +0000]

9 years agoMore benchmark programs.
Gerd Zellweger [Fri, 3 Feb 2012 11:56:15 +0000]
More benchmark programs.

9 years agoMerge
Gerd Zellweger [Fri, 3 Feb 2012 11:42:34 +0000]

9 years agoAdded benchmark to measure throughput.
Gerd Zellweger [Thu, 2 Feb 2012 18:06:41 +0000]
Added benchmark to measure throughput.

9 years agoaccess the IOAPIC index register in 32-bit words
Zeus Gómez Marmolejo [Thu, 2 Feb 2012 12:15:56 +0000]
access the IOAPIC index register in 32-bit words

I've successfully booted Barrelfish on Bochs PC emulator with 1, 2 and 4
cores SMP emulation.

I had to do a fix in the Barrelfish code, regarding the IOAPIC index
register. According to the Intel datasheet, the IOAPIC ( ) index register
has to be accessed only in 32-bit words (page 8). The Bochs code has an
assert preventing 8-bit access to the register. So the line to be modified
is in the file devices/

register ind rw addr(base, 0x0) "Index" type(uint32);

I send the patch. It seems to work in QEMU and in a real machine too.

Being able to run Barrelfish inside Bochs has several advantages.

1. Its execution is deterministic so if you find an error you can always
reproduce it in each execution in the same way. QEMU is indeterministic. I
was even discussing this in the QEMU mailing list and there is currently no
solution to this problem.

2. It has an embedded debugger and you can do physical address debugging,
the gdb stub in QEMU doesn't support.


9 years agoAdded bitfield index for publish / subscribe + some changes with
Gerd Zellweger [Wed, 1 Feb 2012 20:37:34 +0000]
Added bitfield index for publish / subscribe + some changes with
ID registration on server.

9 years agodummy commit to test hg
Andrew Baumann [Wed, 1 Feb 2012 16:52:02 +0000]
dummy commit to test hg

9 years agoAdjustments in benchmark programs.
Gerd Zellweger [Tue, 31 Jan 2012 18:48:23 +0000]
Adjustments in benchmark programs.

9 years agoFixed bug in intersection algorithm with too many element
Gerd Zellweger [Tue, 31 Jan 2012 14:37:06 +0000]
Fixed bug in intersection algorithm with too many element
considered due to wrong argument provided to skip_intersect.

9 years agoMinor corrections to the SCC rule for make
Stefan Kästle [Tue, 31 Jan 2012 13:29:49 +0000]
Minor corrections to the SCC rule for make

The strip command failed when building an SCC image from object files
in sub-directories (e.g. examples/xmpl-hello). Fixed this by using a
combination of find and xargs. Additionally, I created a new make rule
to copy the menu.lst.scc from the source directory at the appropriate
position in the build directory.

9 years agomerged changes
Adrian Schuepbach [Tue, 31 Jan 2012 12:50:35 +0000]
merged changes

9 years agoimplemented local memory affinity function which returns aggregated min and max value...
Adrian Schuepbach [Tue, 31 Jan 2012 12:49:50 +0000]
implemented local memory affinity function which returns aggregated min and max values for all elements.

9 years agoImplemented sane handling of BIOS-reported data in x86_64/startup_arch.c:create_phys_...
Manuel Stocker [Mon, 30 Jan 2012 14:33:55 +0000]
Implemented sane handling of BIOS-reported data in x86_64/startup_arch.c:create_phys_caps.

This code detects BIOS-reported memory regions that overlap and/or are not
ordered ascending in their starting addresses and then creates capabilities for
these regions.

9 years agoadding a tag for release 2012-01-30
Stefan Kästle [Mon, 30 Jan 2012 10:16:49 +0000]
adding a tag for release 2012-01-30

9 years agoReduced the RPC timeout period release2012-01-30
pravin [Sun, 29 Jan 2012 15:08:34 +0000]
Reduced the RPC timeout period

9 years agoSome changed eclipse settings for variable and add records.
Gerd Zellweger [Sun, 29 Jan 2012 14:51:06 +0000]
Some changed eclipse settings for variable and add records.

9 years agoAdded some randomness for get with cycle counter.
Gerd Zellweger [Sat, 28 Jan 2012 17:35:40 +0000]
Added some randomness for get with cycle counter.

9 years agoMerge with benchmark configuration.
Gerd Zellweger [Sat, 28 Jan 2012 17:08:28 +0000]
Merge with benchmark configuration.

9 years agoFix mem leak on empty index attribute list during indexing.
Gerd Zellweger [Sat, 28 Jan 2012 17:07:19 +0000]
Fix mem leak on empty index attribute list during indexing.

9 years agoFinal configuration for benchmarking get/set API on server.
Gerd Zellweger [Sat, 28 Jan 2012 16:02:38 +0000]
Final configuration for benchmarking get/set API on server.

9 years agoChanged index to use one string for all skip lists to avoid quadratic blow-up
Gerd Zellweger [Sat, 28 Jan 2012 13:20:01 +0000]
Changed index to use one string for all skip lists to avoid quadratic blow-up
in memory consumption. Revision should be good for benchmarking.

9 years agoMerge with current tip
Gerd Zellweger [Sat, 28 Jan 2012 12:00:41 +0000]
Merge with current tip

9 years agoFixed the webserver freezing problem by using nonblocking event dispatch
pravin [Fri, 27 Jan 2012 12:37:48 +0000]
Fixed the webserver freezing problem by using nonblocking event dispatch

9 years agoFixed the problem of netd crashing when ran from different core than driver.
pravin [Fri, 27 Jan 2012 01:57:45 +0000]
Fixed the problem of netd crashing when ran from different core than driver.
The problem was non-initialized variables in contmng.c
Also, some cleanup is done in contmnt.c

9 years agofix heap memory reclamation bug which usually manifested as an apparent out-of-memory...
Andrew Baumann [Wed, 25 Jan 2012 23:26:43 +0000]
fix heap memory reclamation bug which usually manifested as an apparent out-of-memory condition in spawnd

9 years agoPredicates added check for string.
Gerd Zellweger [Wed, 25 Jan 2012 21:16:23 +0000]
Predicates added check for string.

9 years agochanged level in skiplist, trying to find out what causes mem bug in d2bench2.
Gerd Zellweger [Wed, 25 Jan 2012 17:41:08 +0000]
changed level in skiplist, trying to find out what causes mem bug in d2bench2.

9 years agoump: fix possible corruption/deadlock sending zero-length buffers
Andrew Baumann [Wed, 25 Jan 2012 17:30:28 +0000]
ump: fix possible corruption/deadlock sending zero-length buffers

This fixes a problem reported by Zeus Gómez Marmolejo where a
zero-length buffer was silently dropped (while reporting success) if
the send channel was full when sending the first fragment.

9 years agomultihop: correctly NUL-terminate strings on delivery
Andrew Baumann [Wed, 25 Jan 2012 00:16:49 +0000]
multihop: correctly NUL-terminate strings on delivery

it irks me a bit that this backend didn't build on the existing msgbuf code and backend :(

9 years agoRestricted query length for dist2. This limits the maximum buffer size
Gerd Zellweger [Tue, 24 Jan 2012 22:46:04 +0000]
Restricted query length for dist2. This limits the maximum buffer size
for the parser. Removed some unnecessary memset() as they tend to waste
a lot of cycles for large buffers.

9 years agoAvoid memset in server memory allocation to reduce cycles.
Gerd Zellweger [Tue, 24 Jan 2012 19:44:11 +0000]
Avoid memset in server memory allocation to reduce cycles.

9 years agoWorked on index for publish subscribe - now seems pretty much ok
Gerd Zellweger [Tue, 24 Jan 2012 17:17:31 +0000]
Worked on index for publish subscribe - now seems pretty much ok
for benchmarking.

9 years agoharness: report exceptions to the debug log as well as in testlog.txt for the webserv...
Andrew Baumann [Tue, 24 Jan 2012 17:08:54 +0000]
harness: report exceptions to the debug log as well as in testlog.txt for the webserver tests

9 years agosimplify out-of-band cap transfer to avoid asynchronously reporting errors back to...
Andrew Baumann [Mon, 23 Jan 2012 21:32:56 +0000]
simplify out-of-band cap transfer to avoid asynchronously reporting errors back to the sender

As discussed on the mailing list (10.01.2012 "Proposed change to
out-of-band cap transfer"), this change changes the semantics so that
an error in delivery of the cap is reported to the receiver (rather
than asynchronously to the sender) along with a NULL capref. This
simplifies the implementation within the monitor, and results in saner
error handling on both sides.

9 years agoGetset functioning again with triggers. Trying to get pubsub to work with attribute...
Gerd Zellweger [Mon, 23 Jan 2012 21:16:48 +0000]
Getset functioning again with triggers. Trying to get pubsub to work with attribute indexes.

9 years agomerge
Andrew Baumann [Mon, 23 Jan 2012 19:04:51 +0000]

9 years agoremove support for Beehive
Andrew Baumann [Mon, 23 Jan 2012 19:04:15 +0000]
remove support for Beehive

see the mailing list discussion at the end of December 2011 for motivation

9 years agoARM fixes for spawnd
Andrew Baumann [Mon, 23 Jan 2012 17:09:25 +0000]
ARM fixes for spawnd

 * add missing kernel invocation
 * pass dummy arg to mappings_from_cmdline()

9 years agorouting_setup: make obvious to the compiler that err is always set
Kornilios Kourtis [Mon, 23 Jan 2012 15:35:46 +0000]
routing_setup: make obvious to the compiler that err is always set

9 years agoWorking on attribute index written in C using skip lists. This should be a lot faster...
Gerd Zellweger [Sat, 21 Jan 2012 21:46:44 +0000]
Working on attribute index written in C using skip lists. This should be a lot faster than
the implementation in prolog using ordset.

9 years agoimplement ump_chan_destroy / ump_endpoint_destroy
Andrew Baumann [Fri, 20 Jan 2012 22:32:03 +0000]
implement ump_chan_destroy / ump_endpoint_destroy

This is not nearly the same as binding teardown, but it allows a
failed UMP bind attempt to continue and fallback to trying multihop.

9 years agofof: fix pdf creation from lhs
Kornilios Kourtis [Fri, 20 Jan 2012 13:47:35 +0000]
fof: fix pdf creation from lhs

(at least on my machine)

9 years agoWorking on new implementation for object storage. Work in progress, not yet done.
Gerd Zellweger [Thu, 19 Jan 2012 16:38:48 +0000]
Working on new implementation for object storage. Work in progress, not yet done.

9 years agomerged with tip
Andrew Baumann [Thu, 19 Jan 2012 16:12:22 +0000]
merged with tip

9 years agoAdjusted prolog implementation with constant access time (avoids copying).
Gerd Zellweger [Wed, 18 Jan 2012 19:59:19 +0000]
Adjusted prolog implementation with constant access time (avoids copying).

9 years agoflounder/ump: fix early ack race which was causing message corruption
Andrew Baumann [Wed, 18 Jan 2012 19:23:34 +0000]
flounder/ump: fix early ack race which was causing message corruption

The old receive logic incorrectly sent a forced ack when required for
a newly-received message before copying the message payload from the
channel. This allowed the sender to overwrite that message before it
was read.

9 years agoflounder/ump: fix inconsistent variable name / meaning in support code
Andrew Baumann [Wed, 18 Jan 2012 19:20:59 +0000]
flounder/ump: fix inconsistent variable name / meaning in support code

"sent_id" was supposed to be the next sequence number to be sent, but
I think "next_id" is much saner...  moreover, it started from zero,
which meant that the ack logic was inconsistent wrt received acks

9 years agosome changes for benchmarks
Gerd Zellweger [Wed, 18 Jan 2012 10:57:52 +0000]
some changes for benchmarks

9 years agosome changes for benchmarking
Gerd Zellweger [Wed, 18 Jan 2012 10:32:20 +0000]
some changes for benchmarking

9 years agoqemu < 0.14 does not support ahci. Update README.
Simon Gerber [Wed, 18 Jan 2012 09:35:34 +0000]
qemu < 0.14 does not support ahci. Update README.

9 years agostop fixing the start address of the data section (for user programs) on x86_64
Andrew Baumann [Tue, 17 Jan 2012 19:31:21 +0000]
stop fixing the start address of the data section (for user programs) on x86_64

This is somewhat experimental. I don't remember why we did this in the
first place (it was when we still used CMake), but the current system
seems to cope fine without it. It's necessary, because with our
current huge text sections (all those static libraries), it's quite
easy for text and data to collide.

9 years agoICC compilation fixes
Andrew Baumann [Tue, 17 Jan 2012 19:06:07 +0000]
ICC compilation fixes

9 years agoNew implementation for record storage in eclipse using hashtable.
Gerd Zellweger [Tue, 17 Jan 2012 14:02:29 +0000]
New implementation for record storage in eclipse using hashtable.
Small adjustments for new implementation in code generation/test file.

9 years agoAvoid PTHROW in eclipse in order to test get benchmark. Need
Gerd Zellweger [Mon, 16 Jan 2012 17:14:23 +0000]
Avoid PTHROW in eclipse in order to test get benchmark. Need
to worry about ambigous queries later...

9 years agoset up for get profiling, fixed unhandled error in locking/barrier code
Gerd Zellweger [Mon, 16 Jan 2012 10:01:15 +0000]
set up for get profiling, fixed unhandled error in locking/barrier code