8 years agoTN-008 not building with blessed toolchain when bitwidth argument given to bytefield...
Stefan Kaestle [Fri, 22 Mar 2013 18:53:00 +0000]
TN-008 not building with blessed toolchain when bitwidth argument given to bytefield environment

8 years agoadding a tag for release 2013-03-22
Stefan Kaestle [Fri, 22 Mar 2013 12:15:31 +0000]
adding a tag for release 2013-03-22

8 years agolshw/Hakefile: add flounderTHCStubs release2013-03-22
Kornilios Kourtis [Wed, 20 Mar 2013 17:29:06 +0000]
lshw/Hakefile: add flounderTHCStubs

8 years agotrace: make it compile for x86_32
Kornilios Kourtis [Wed, 20 Mar 2013 16:08:07 +0000]
trace: make it compile for x86_32

8 years agotrace: make it compile for arm
Kornilios Kourtis [Wed, 20 Mar 2013 10:28:32 +0000]
trace: make it compile for arm

Due to a string.h include, had to rename some index variables to idx, because
they shadow index(3).

8 years agolshw: compile it only for archs with THC support
Kornilios Kourtis [Wed, 20 Mar 2013 09:55:35 +0000]
lshw: compile it only for archs with THC support

8 years agorevert some definitions from 1282:0462cc0046e3
Kornilios Kourtis [Wed, 20 Mar 2013 09:53:32 +0000]
revert some definitions from 1282:0462cc0046e3

Compiling for ARM resulted in:
In file included from ../src/kernel/arch/omap44xx/omap_uart.c:21:0:
./armv7/include/dev/omap/omap_uart_dev.h: In function 'omap_uart_THR__anon8_rdf':
./armv7/include/dev/omap/omap_uart_dev.h:3331:5: error: implicit declaration of function 'omap_uart_THR__anon8_extract' [-Werror=implicit-function-declaration]
./armv7/include/dev/omap/omap_uart_dev.h: In function 'omap_uart_RHR__anon8_rdf':
./armv7/include/dev/omap/omap_uart_dev.h:3414:5: error: implicit declaration of function 'omap_uart_RHR__anon8_extract' [-Werror=implicit-function-declaration]
[ ... and many more ...]

This change seems to fix this problem.

8 years agoNew tracing infrastructure documentation
Kornilios Kourtis [Tue, 19 Mar 2013 09:14:27 +0000]
New tracing infrastructure documentation

This is a Distributed Systems Lab project by
Alexander Grest <> and  David Stolz <>

8 years agoNew tracing infrastructure
Kornilios Kourtis [Fri, 8 Mar 2013 15:20:04 +0000]
New tracing infrastructure

This is a Distributed Systems Lab project by
Alexander Grest <> and  David Stolz <>

8 years agox86: fixed paging_dump_tables potentially falsely sign extending paddrs.
Simon Gerber [Wed, 27 Feb 2013 13:16:31 +0000]
x86: fixed paging_dump_tables potentially falsely sign extending paddrs.

8 years agousr/lshw: utility to list hardware devices
Kornilios Kourtis [Wed, 13 Mar 2013 14:45:23 +0000]
usr/lshw: utility to list hardware devices

patch provided by Mateusz Olczak <>

8 years agoipi_notify: allocate sufficient space in notify page
Lukas Humbel [Wed, 13 Mar 2013 15:04:52 +0000]
ipi_notify: allocate sufficient space in notify page

8 years agox86_64/irq.c: print SP on page fault error message
Kornilios Kourtis [Wed, 27 Feb 2013 10:34:51 +0000]
x86_64/irq.c: print SP on page fault error message

8 years agonet_queue_manager: fix issue in de-fragmentation
Mateusz Olczak [Wed, 13 Mar 2013 14:19:57 +0000]
net_queue_manager: fix issue in de-fragmentation

Some de-fragmented packets may cause the ethernet server will crash.
I suggest attached patch as fix.

to recreate segfault:
ping -s 1473

8 years agoMackerel quick reference page.
Mothy [Mon, 11 Mar 2013 08:48:28 +0000]
Mackerel quick reference page.
Fixed some bugs in the Mackerel documentation.
Changed more of the copyright addresses while I'm at it.

8 years agoTulip now builds again (but doesn't work)
Mothy [Sun, 10 Mar 2013 16:11:14 +0000]
Tulip now builds again (but doesn't work)

8 years agoWork around octopus dependency bug by disabling implicit lex and yacc rules explicitly
Mothy [Sun, 10 Mar 2013 11:03:42 +0000]
Work around octopus dependency bug by disabling implicit lex and yacc rules explicitly

8 years agoCompleteness of definitions
Mothy [Sun, 10 Mar 2013 11:02:58 +0000]
Completeness of definitions

8 years agoFixed copyright address
Mothy [Sun, 10 Mar 2013 11:00:33 +0000]
Fixed copyright address

8 years agoDisable error message on ram_alloc failure. The x86 monitor bootup code
Simon Peter [Sat, 2 Mar 2013 21:33:54 +0000]
Disable error message on ram_alloc failure. The x86 monitor bootup code
probes for available memory regions using ram_alloc and in certain cases triggers this message,
confusing the users.

8 years agoadding a tag for release 2013-03-01
Stefan Kaestle [Fri, 1 Mar 2013 12:32:42 +0000]
adding a tag for release 2013-03-01

8 years agoAdded a harness test for spanning programs. release2013-03-01
Stefan Kaestle [Thu, 28 Feb 2013 12:52:23 +0000]
Added a harness test for spanning programs.

8 years agochangeset: 1270:aa365ea1f4c0
Stefan Kaestle [Thu, 28 Feb 2013 09:46:46 +0000]
changeset: 1270:aa365ea1f4c0
user: Stefan Kaestle <>
date: Thu Feb 28 10:37:59 2013 +0100
summary: Added a harness test for spawning programs.

8 years agolibbarrelfish: Simplified logic and fixed infinite loop on cap_destroy error in span_...
Zaheer Chothia [Tue, 26 Feb 2013 09:17:21 +0000]
libbarrelfish: Simplified logic and fixed infinite loop on cap_destroy error in span_domain_reply().

8 years agoarmv5: fixed calculation of src_lpaddr in caps_map_l2().
Simon Gerber [Mon, 25 Feb 2013 17:15:05 +0000]
armv5: fixed calculation of src_lpaddr in caps_map_l2().

8 years agolibbarrelfish: Moved cap_destroy() into error case in span_domain_reply.
Simon Gerber [Mon, 25 Feb 2013 16:55:52 +0000]
libbarrelfish: Moved cap_destroy() into error case in span_domain_reply.

8 years agohake: Removed unused config option from Config.hs.template.
Simon Gerber [Mon, 25 Feb 2013 12:46:43 +0000]
hake: Removed unused config option from Config.hs.template.

8 years agoarm: fixed wrong is_root_pt predicate.
Simon Gerber [Thu, 21 Feb 2013 11:02:17 +0000]
arm: fixed wrong is_root_pt predicate.

8 years agoUse get_address(cap) and get_size(cap) in various places in the kernel.
Simon Gerber [Thu, 21 Feb 2013 11:00:01 +0000]
Use get_address(cap) and get_size(cap) in various places in the kernel.

8 years agoxscale: Added code for new memory kernel interface.
Simon Gerber [Thu, 21 Feb 2013 10:58:52 +0000]
xscale: Added code for new memory kernel interface.

8 years agovmkitmon: added creating separate copy of caps that are mapped in host and guest.
Simon Gerber [Wed, 20 Feb 2013 14:24:22 +0000]
vmkitmon: added creating separate copy of caps that are mapped in host and guest.

8 years agox86: Fixed detection of whether a address region spans multiple leaf page tables.
Simon Gerber [Wed, 20 Feb 2013 13:17:48 +0000]
x86: Fixed detection of whether a address region spans multiple leaf page tables.

8 years agoMerged Simon's Master's thesis code.
Simon Gerber [Tue, 19 Feb 2013 12:49:21 +0000]
Merged Simon's Master's thesis code.

Changes include:
* new interface for manipulating hardware page tables
* Removal of mappings when underlying capability gets deleted
* Functionality to dump hardware page tables and state in libbarrelfish pmaps

For more details see

8 years agoWait longer for gem5 to come up and remove useless telnet debug option.
Stefan Kaestle [Tue, 19 Feb 2013 11:35:31 +0000]
Wait longer for gem5 to come up and remove useless telnet debug option.

8 years agoMore debug output
Stefan Kaestle [Tue, 19 Feb 2013 11:15:01 +0000]
More debug output

8 years agoMerge
Stefan Kaestle [Tue, 19 Feb 2013 10:51:31 +0000]

8 years agoAdditional output for telnet to debug armv7_gem5 build error
Stefan Kaestle [Tue, 19 Feb 2013 10:51:02 +0000]
Additional output for telnet to debug armv7_gem5 build error

8 years agoMissing separator in pathor for Pandaboard build
Stefan Kaestle [Mon, 11 Feb 2013 14:13:06 +0000]
Missing separator in pathor for Pandaboard build

8 years agoMove declaration of timegm to //include/time.h
Kornilios Kourtis [Sat, 9 Feb 2013 20:11:04 +0000]
Move declaration of timegm to //include/time.h

Fixes a build error when using oldc.

8 years agoinclude/libgen.h: remove sys/reent.h
Zaheer Chothia [Fri, 8 Feb 2013 18:15:57 +0000]
include/libgen.h: remove sys/reent.h

8 years agoposixcompat: add 'basename' and 'dirname'.
Zaheer Chothia [Mon, 4 Feb 2013 15:17:45 +0000]
posixcompat: add 'basename' and 'dirname'.

Taken from newlib/unix with minimal changes to follow Barrelfish style.

8 years agoClang: resolve several minor warnings.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:31 +0000]
Clang: resolve several minor warnings.

8 years agokernel (x86_64): fix ambiguous operand size with 'cmp' and constant.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:26 +0000]
kernel (x86_64): fix ambiguous operand size with 'cmp' and constant.

8 years agoFixed several bugs where 'sizeof' applied to pointer instead of underlying struct.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:22 +0000]
Fixed several bugs where 'sizeof' applied to pointer instead of underlying struct.

Found with Clang - example warning:
  ../kernel/syscall.c:411:27: error: 'memset' call operates on objects of type 'struct cte' while the size is based on a different type 'struct cte *' [-Werror,-Wsizeof-pointer-memaccess]
     memset(cte, 0, sizeof(cte));
            ~~~            ^~~
  ../kernel/syscall.c:411:27: note: did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)?
     memset(cte, 0, sizeof(cte));

8 years agothread: fix condition for stack overflow warning.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:19 +0000]
thread: fix condition for stack overflow warning.

thread_check_stack_bounds() has a very odd condition.  It will always return
true because bottom <= top.  This results in a warning regardless of whether
the stack pointer is valid or not, for instance:
    Error: stack bounds exceeded: sp = 0x880b00 but [bottom, top] = [0x873000, 0x883000]

We cannot simply patch the condition to instead read:
    return sp > (lvaddr_t)thread->stack &&
           sp <= (lvaddr_t)thread->stack_top;

because that results in failures during bootup:
    >> INFO: stack bounds exceeded: sp = 0x5c1a50 but [bottom, top] = [0x592000, 0x5a2000]
    Dispatcher warning in kernel 0: user trap #13 WHILE DISABLED in 'acpi': IP 477be8, error 0
    skb.0: waiting for: all_spawnds_up
    >> INFO: stack bounds exceeded: sp = 0x631a50 but [bottom, top] = [0x602000, 0x612000]
    Dispatcher warning in kernel 0: user trap #13 WHILE DISABLED in 'kaluga': IP 4a4368, error 0

8 years agothread: on unhandled exceptions warn if stack pointer is out-of-bounds.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:13 +0000]
thread: on unhandled exceptions warn if stack pointer is out-of-bounds.

8 years agoregisters: add helper function to retrieve stack pointer.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:09 +0000]
registers: add helper function to retrieve stack pointer.

8 years agonfs: include failure reason in error messages.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:05 +0000]
nfs: include failure reason in error messages.

8 years agoposixcompat: add non-standard GNU function 'timegm' (inverse of 'gmtime').
Zaheer Chothia [Fri, 8 Feb 2013 17:34:56 +0000]
posixcompat: add non-standard GNU function 'timegm' (inverse of 'gmtime').

This implementation is borrowed from musl libc (MIT licensed).

8 years agoposixcompat (dlfcn): improve C++ compatibility and document how to use.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:47 +0000]
posixcompat (dlfcn): improve C++ compatibility and document how to use.

Note: a minor API change was necessary to fix an incompatibility between C and
C++, which requires array sizes to be fixed:
    void bar(struct foo (*f)[], int size);

This results in the following error:
    error: parameter 'f' includes pointer to array of unknown bound 'foo []'
    error: cannot convert 'foo (*)[3]' to 'foo (*)[]' for argument '1' to 'void bar(foo (*)[], int)'

Instead we simply pass the array as a pointer to its first element:
    void bar(struct foo *f, int size);

8 years agoposixcompat: implement creat().
Zaheer Chothia [Fri, 8 Feb 2013 17:32:42 +0000]
posixcompat: implement creat().

8 years agoVMkit: replace old-style GNU field designator with C99 syntax.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:38 +0000]
VMkit: replace old-style GNU field designator with C99 syntax.

8 years agoheaders: remove C99 designated initializers; not supported by C++.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:33 +0000]
headers: remove C99 designated initializers; not supported by C++.

Only looked at header files in //include. Matches were found with:
    $ ack --hh '(?<!\w)\.\w+\s*\='

8 years ago<barrelfish/lmp_chan.h>: explicit cast back to enum type after bitwise operation.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:29 +0000]
<barrelfish/lmp_chan.h>: explicit cast back to enum type after bitwise operation.

Resolves this error when compiling from C++:
    error: invalid conversion from 'int' to 'lmp_send_flags_t {aka lmp_send_flag}' [-fpermissive]

8 years agoheaders: add missing #includes.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:24 +0000]
headers: add missing #includes.

8 years ago<netinet/in.h>: add missing declaration of in_port_t and in_addr_t.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:20 +0000]
<netinet/in.h>: add missing declaration of in_port_t and in_addr_t.

lwip just uses u16_t/u32_t directly (see <ipv4/lwip/inet.h>).

8 years agoheaders: move definition of mkdir and chmod to <sys/stat.h>.
Zaheer Chothia [Fri, 8 Feb 2013 17:32:15 +0000]
headers: move definition of mkdir and chmod to <sys/stat.h>.

8 years agoheaders: wrap declarations in extern "C".
Zaheer Chothia [Fri, 8 Feb 2013 17:32:03 +0000]
headers: wrap declarations in extern "C".

Note: this change is not exhaustive and only touches some headers in //include

8 years agoarmv7: added new modify_flags invocation.
Simon Gerber [Wed, 30 Jan 2013 15:20:05 +0000]
armv7: added new modify_flags invocation.

8 years agoarmv5: implemented new modify_flags invocation.
Simon Gerber [Wed, 30 Jan 2013 12:28:54 +0000]
armv5: implemented new modify_flags invocation.

8 years agox86_64: removed duplicate return statement in page_mappings_modify_flags.
Simon Gerber [Wed, 30 Jan 2013 10:39:04 +0000]
x86_64: removed duplicate return statement in page_mappings_modify_flags.

8 years agox86_32: Implemented new modify_flags invocation and associated functionality.
Simon Gerber [Wed, 30 Jan 2013 09:49:39 +0000]
x86_32: Implemented new modify_flags invocation and associated functionality.

8 years agox86_64: removed commented out unused code in pmap_target.
Simon Gerber [Wed, 30 Jan 2013 09:28:46 +0000]
x86_64: removed commented out unused code in pmap_target.

8 years agox86_64: Implemented modifying flags for parts of mapped regions.
Simon Gerber [Fri, 18 Jan 2013 16:07:38 +0000]
x86_64: Implemented modifying flags for parts of mapped regions.

8 years agoCleanup function names and converted printfs to debug() in kernel component of new...
Simon Gerber [Tue, 27 Nov 2012 16:48:09 +0000]
Cleanup function names and converted printfs to debug() in kernel component of new memory interface.

8 years agoarmv7: fixed merge errors and implemented new memory interface for omap44xx.
Simon Gerber [Mon, 26 Nov 2012 13:33:23 +0000]
armv7: fixed merge errors and implemented new memory interface for omap44xx.

8 years agoarmv7: removed unused generated dependency "romfs_size.h"
Simon Gerber [Mon, 26 Nov 2012 13:20:10 +0000]
armv7: removed unused generated dependency "romfs_size.h"

8 years agoarmv7: changed memory bits in kernel to new interface with kernel mappings.
Simon Gerber [Fri, 23 Nov 2012 10:42:25 +0000]
armv7: changed memory bits in kernel to new interface with kernel mappings.

8 years agoarm: pmap code cleanup and fixed new kernel memory interface.
Simon Gerber [Fri, 23 Nov 2012 10:32:17 +0000]
arm: pmap code cleanup and fixed new kernel memory interface.

8 years agoarm: Implemented kernel-side parts of dumping hw page tables.
Simon Gerber [Fri, 23 Nov 2012 10:29:48 +0000]
arm: Implemented kernel-side parts of dumping hw page tables.

8 years agoFixed unmap_capability to correctly calculate slot number.
Simon Gerber [Fri, 23 Nov 2012 10:28:40 +0000]
Fixed unmap_capability to correctly calculate slot number.

8 years agoFixed vspace_dump to have nop sorting function when not implemented specifically.
Simon Gerber [Fri, 23 Nov 2012 10:28:30 +0000]
Fixed vspace_dump to have nop sorting function when not implemented specifically.

8 years agoMore ARM code.
Simon Gerber [Fri, 23 Nov 2012 10:28:24 +0000]
More ARM code.

8 years agoIncomplete ARM implementation.
Simon Gerber [Fri, 23 Nov 2012 09:51:08 +0000]
Incomplete ARM implementation.

8 years agox86_32: Cleanup merge errors in pmap_target.c.
Simon Gerber [Fri, 23 Nov 2012 09:46:43 +0000]
x86_32: Cleanup merge errors in pmap_target.c.

8 years agoFixed missing comma in kernel Hakefile.
Simon Gerber [Fri, 23 Nov 2012 09:29:55 +0000]
Fixed missing comma in kernel Hakefile.

8 years agox86_64: Added missing error returns in pmap.
Simon Gerber [Thu, 22 Nov 2012 14:58:30 +0000]
x86_64: Added missing error returns in pmap.

8 years agoacpi: Added failure returns in AcpiOsMapMemory().
Simon Gerber [Thu, 22 Nov 2012 14:58:25 +0000]
acpi: Added failure returns in AcpiOsMapMemory().

8 years agox86_64: Added missing include in kernel page_mappings_arch.c
Simon Gerber [Thu, 22 Nov 2012 14:58:03 +0000]
x86_64: Added missing include in kernel page_mappings_arch.c

8 years agox86: Fixed modify_flags in pmap to properly use new kernel interface.
Simon Gerber [Thu, 22 Nov 2012 14:57:52 +0000]
x86: Fixed modify_flags in pmap to properly use new kernel interface.

8 years agox86_32: Useful debug printf in kernel map handler.
Simon Gerber [Thu, 22 Nov 2012 14:54:41 +0000]
x86_32: Useful debug printf in kernel map handler.

8 years agoFixed & unified vnode_entry_bits.
Simon Gerber [Thu, 22 Nov 2012 14:54:33 +0000]
Fixed & unified vnode_entry_bits.

8 years agox86_64: Fixed comment.
Simon Gerber [Thu, 22 Nov 2012 14:53:30 +0000]
x86_64: Fixed comment.

8 years agox86: Changed TLB flushing to simple hybrid scheme.
Simon Gerber [Thu, 22 Nov 2012 14:53:30 +0000]
x86: Changed TLB flushing to simple hybrid scheme.

8 years agox86: Fixed invlpg instruction and added do_one_tlb_flush().
Simon Gerber [Thu, 22 Nov 2012 14:53:29 +0000]
x86: Fixed invlpg instruction and added do_one_tlb_flush().

8 years agox86: Fixed kernel to use invlpg for TLB flushing.
Simon Gerber [Thu, 22 Nov 2012 14:53:29 +0000]
x86: Fixed kernel to use invlpg for TLB flushing.

8 years agox86: Added mapped capability in unmap syscall arguments.
Simon Gerber [Thu, 22 Nov 2012 14:53:29 +0000]
x86: Added mapped capability in unmap syscall arguments.

8 years agoFixed find_next_ptable to use range query wrapper.
Simon Gerber [Thu, 22 Nov 2012 14:53:28 +0000]
Fixed find_next_ptable to use range query wrapper.

8 years agoFixed read_pt_entry in page_mappings_arch.
Simon Gerber [Thu, 22 Nov 2012 14:53:28 +0000]
Fixed read_pt_entry in page_mappings_arch.

8 years agoMoved debug printfs.
Simon Gerber [Thu, 22 Nov 2012 14:53:27 +0000]
Moved debug printfs.

8 years agoAdded VM KPI benchmark.
Simon Gerber [Thu, 22 Nov 2012 14:53:27 +0000]
Added VM KPI benchmark.

8 years agoFixed missing mapping_info.pte zero check in compile_vaddr.
Simon Gerber [Thu, 22 Nov 2012 14:53:27 +0000]
Fixed missing mapping_info.pte zero check in compile_vaddr.

8 years agoRemoved dead code.
Simon Gerber [Thu, 22 Nov 2012 14:53:26 +0000]
Removed dead code.

8 years agox86_32: Decreased verbosity of page mapping code.
Simon Gerber [Thu, 22 Nov 2012 14:53:26 +0000]
x86_32: Decreased verbosity of page mapping code.

8 years agoFixed double add in x86_32_ptable handler and minor cleanup.
Simon Gerber [Thu, 22 Nov 2012 14:53:25 +0000]
Fixed double add in x86_32_ptable handler and minor cleanup.

8 years agox86_32: Implemented missing parts of new kernel memory system.
Simon Gerber [Thu, 22 Nov 2012 14:53:25 +0000]
x86_32: Implemented missing parts of new kernel memory system.

8 years agoRemoved old syscall vm_modify_mapping.
Simon Gerber [Thu, 22 Nov 2012 14:53:24 +0000]
Removed old syscall vm_modify_mapping.

8 years agox86_64: Cleanup kernel page mapping code.
Simon Gerber [Thu, 22 Nov 2012 14:53:24 +0000]
x86_64: Cleanup kernel page mapping code.

8 years agoRemoved old code in kernel/page_mappings_arch.c
Simon Gerber [Thu, 22 Nov 2012 14:53:23 +0000]
Removed old code in kernel/page_mappings_arch.c

8 years agoFixed unmap loop (multiple leaf ptables for mapping).
Simon Gerber [Thu, 22 Nov 2012 14:53:23 +0000]
Fixed unmap loop (multiple leaf ptables for mapping).