Stefan Kaestle [Tue, 23 Apr 2013 12:12:01 +0000]
Added table of contents for Tracing Tech Note
Stefan Kaestle [Tue, 23 Apr 2013 09:09:11 +0000]
Fixed typesetting of an include command in the Tracing TechNote
Kornilios Kourtis [Tue, 2 Apr 2013 12:40:51 +0000]
fix buflen when calling single_slot_alloc_raw()
Here's my understanding (this is from reading the code):
- single_slot_alloc manages slots for a single cnode using a list of
free nodes. The list is maintained starting with ->head, and each node
represents a range of slots (slot, space). The list is initialized
with a single node with {slot=0, space=nslots}
- The worst case scenario for the size of the list is when only the odd
(or even) slots are free. This is the worst case because for all nodes
in the list space=1. Adding nodes should result in smaller number of
nodes but with higher ->space values.
- The list nodes are allocated/freed using a (simple) slab allocator.
Hence, the slab allocator should be initialized so that it contains
nslots/2 objects to accommodate for the worst case.
The problem is that this does not happen: the slab allocator requires some
additional memory for adding headers to objects which is not accounted for.
This is why in your case the allocator does not have additional objects to
provide in slab_alloc().
This commit allocates appropriately sized buffers for the slab allocator and
hopefully fixes your problem.
Many thanks to Georgios Varisteas <yorgos@kth.se> for reporting the bug and
help us debug the problem.
Kornilios Kourtis [Wed, 10 Apr 2013 11:27:41 +0000]
slab: do not use extra space for block header
Gerd Zellweger [Mon, 8 Apr 2013 14:34:21 +0000]
Do proper filtering of unneeded files in Hake. This avoids running into stack overflow: use +RTS -K<size> to increase it when having a build directory inside your tree.
Gerd Zellweger [Mon, 8 Apr 2013 11:42:44 +0000]
Disable kvm using the -no-kvm option of QEMU. Avoids having to unload / blacklist the module all the time in your Linux distribution.
Wang Nan [Tue, 2 Apr 2013 13:02:30 +0000]
hake: make hake work with ghc 7.4.2
Wang Nan [Tue, 2 Apr 2013 12:43:05 +0000]
tracing: fix trace_defs.h dependency
Kornilios Kourtis [Tue, 26 Mar 2013 19:11:56 +0000]
kaluga/octopus: make it compile for arm
Kornilios Kourtis [Tue, 26 Mar 2013 16:37:44 +0000]
thc: port eager THC to ARMv7
- I assume ARMv7, haven't look at possible differences with ARMv5
- thctest, thcminitest, thcidctest seem to work on pandaboard
- lazy THC is more tricky, I've added some notes for now
- should be possible to improve/optimize the functions
Kornilios Kourtis [Tue, 26 Mar 2013 16:23:50 +0000]
thc/x86: comments/cleanups to help ARM porting
Kornilios Kourtis [Tue, 26 Mar 2013 16:54:13 +0000]
add a spawn_wait_coreid() function
Patch by Mateusz Olczak <mateusz@olczak.se>
Kornilios Kourtis [Tue, 26 Mar 2013 16:47:48 +0000]
lshw: minor fix
Patch by Mateusz Olczak <mateusz@olczak.se>
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Fixed syntax error in omap44xx file.
---
devices/omap/omap44xx_mmu.dev | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Fix indenting.
---
devices/omap/omap44xx_mmu.dev | 356 ++++++++++++++++++++---------------------
1 file changed, 178 insertions(+), 178 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Register names conform with manual, completed bit description for all registers.
---
devices/omap/omap44xx_mmu.dev | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
More work on MMU mackerel file.
---
devices/omap/omap44xx_mmu.dev | 81 ++++++++++++++++++++++++++++++++++-------
1 file changed, 68 insertions(+), 13 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
More complete MMU file.
---
devices/omap/omap44xx_mmu.dev | 78 +++++++++++++++++++++++++++++++++++------
1 file changed, 67 insertions(+), 11 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Fixed syntax error in mackerel file.
---
devices/omap/omap44xx_mmu.dev | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Some more changes to omap44xx MMU mackerel files.
---
devices/omap/omap44xx_mmu.dev | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Add pandammu file to kernel Hakefile.
---
kernel/Hakefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Add pandammu.
---
devices/Hakefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Fix whitespace in devices Hakefile.
---
devices/Hakefile | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Gerd Zellweger [Thu, 4 Apr 2013 12:27:12 +0000]
Initial Mackerel File for the Pandaboard MMU.
Contains a complete list of all the registers, however it is not complete in terms
of the individual register mappins.
---
devices/omap/omap44xx_mmu.dev | 81 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 devices/omap/omap44xx_mmu.dev
Stefan Kaestle [Fri, 22 Mar 2013 18:53:00 +0000]
TN-008 not building with blessed toolchain when bitwidth argument given to bytefield environment
Stefan Kaestle [Fri, 22 Mar 2013 12:15:31 +0000]
adding a tag for release 2013-03-22
Kornilios Kourtis [Wed, 20 Mar 2013 17:29:06 +0000]
lshw/Hakefile: add flounderTHCStubs
Kornilios Kourtis [Wed, 20 Mar 2013 16:08:07 +0000]
trace: make it compile for x86_32
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).
Kornilios Kourtis [Wed, 20 Mar 2013 09:55:35 +0000]
lshw: compile it only for archs with THC support
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.
Kornilios Kourtis [Tue, 19 Mar 2013 09:14:27 +0000]
New tracing infrastructure documentation
This is a Distributed Systems Lab project by
Alexander Grest <agrest@student.ethz.ch> and David Stolz <stolzda@ethz.ch>
Kornilios Kourtis [Fri, 8 Mar 2013 15:20:04 +0000]
New tracing infrastructure
This is a Distributed Systems Lab project by
Alexander Grest <agrest@student.ethz.ch> and David Stolz <stolzda@ethz.ch>
Simon Gerber [Wed, 27 Feb 2013 13:16:31 +0000]
x86: fixed paging_dump_tables potentially falsely sign extending paddrs.
Kornilios Kourtis [Wed, 13 Mar 2013 14:45:23 +0000]
usr/lshw: utility to list hardware devices
patch provided by Mateusz Olczak <mateusz@olczak.se>
Lukas Humbel [Wed, 13 Mar 2013 15:04:52 +0000]
ipi_notify: allocate sufficient space in notify page
Kornilios Kourtis [Wed, 27 Feb 2013 10:34:51 +0000]
x86_64/irq.c: print SP on page fault error message
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 barrelfish.host -s 1473
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.
Mothy [Sun, 10 Mar 2013 16:11:14 +0000]
Tulip now builds again (but doesn't work)
Mothy [Sun, 10 Mar 2013 11:03:42 +0000]
Work around octopus dependency bug by disabling implicit lex and yacc rules explicitly
Mothy [Sun, 10 Mar 2013 11:02:58 +0000]
Completeness of definitions
Mothy [Sun, 10 Mar 2013 11:00:33 +0000]
Fixed copyright address
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.
Stefan Kaestle [Fri, 1 Mar 2013 12:32:42 +0000]
adding a tag for release 2013-03-01
Stefan Kaestle [Thu, 28 Feb 2013 12:52:23 +0000]
Added a harness test for spanning programs.
Stefan Kaestle [Thu, 28 Feb 2013 09:46:46 +0000]
changeset: 1270:
aa365ea1f4c0
user: Stefan Kaestle <stefan.kaestle@inf.ethz.ch>
date: Thu Feb 28 10:37:59 2013 +0100
summary: Added a harness test for spawning programs.
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().
Simon Gerber [Mon, 25 Feb 2013 17:15:05 +0000]
armv5: fixed calculation of src_lpaddr in caps_map_l2().
Simon Gerber [Mon, 25 Feb 2013 16:55:52 +0000]
libbarrelfish: Moved cap_destroy() into error case in span_domain_reply.
Simon Gerber [Mon, 25 Feb 2013 12:46:43 +0000]
hake: Removed unused config option from Config.hs.template.
Simon Gerber [Thu, 21 Feb 2013 11:02:17 +0000]
arm: fixed wrong is_root_pt predicate.
Simon Gerber [Thu, 21 Feb 2013 11:00:01 +0000]
Use get_address(cap) and get_size(cap) in various places in the kernel.
Simon Gerber [Thu, 21 Feb 2013 10:58:52 +0000]
xscale: Added code for new memory kernel interface.
Simon Gerber [Wed, 20 Feb 2013 14:24:22 +0000]
vmkitmon: added creating separate copy of caps that are mapped in host and guest.
Simon Gerber [Wed, 20 Feb 2013 13:17:48 +0000]
x86: Fixed detection of whether a address region spans multiple leaf page tables.
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 http://www.barrelfish.org/gerber-master-vm.pdf
Stefan Kaestle [Tue, 19 Feb 2013 11:35:31 +0000]
Wait longer for gem5 to come up and remove useless telnet debug option.
Stefan Kaestle [Tue, 19 Feb 2013 11:15:01 +0000]
More debug output
Stefan Kaestle [Tue, 19 Feb 2013 10:51:31 +0000]
Merge
Stefan Kaestle [Tue, 19 Feb 2013 10:51:02 +0000]
Additional output for telnet to debug armv7_gem5 build error
Stefan Kaestle [Mon, 11 Feb 2013 14:13:06 +0000]
Missing separator in pathor molly_ld_script.in for Pandaboard build
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.
Zaheer Chothia [Fri, 8 Feb 2013 18:15:57 +0000]
include/libgen.h: remove sys/reent.h
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.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:31 +0000]
Clang: resolve several minor warnings.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:26 +0000]
kernel (x86_64): fix ambiguous operand size with 'cmp' and constant.
http://clang.llvm.org/compatibility.html#inline-asm
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));
^~~
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
Zaheer Chothia [Fri, 8 Feb 2013 17:35:13 +0000]
thread: on unhandled exceptions warn if stack pointer is out-of-bounds.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:09 +0000]
registers: add helper function to retrieve stack pointer.
Zaheer Chothia [Fri, 8 Feb 2013 17:35:05 +0000]
nfs: include failure reason in error messages.
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).
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);
Zaheer Chothia [Fri, 8 Feb 2013 17:32:42 +0000]
posixcompat: implement creat().
http://pubs.opengroup.org/onlinepubs/
009604599/functions/creat.html
Zaheer Chothia [Fri, 8 Feb 2013 17:32:38 +0000]
VMkit: replace old-style GNU field designator with C99 syntax.
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*\='
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]
Zaheer Chothia [Fri, 8 Feb 2013 17:32:24 +0000]
headers: add missing #includes.
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>).
Zaheer Chothia [Fri, 8 Feb 2013 17:32:15 +0000]
headers: move definition of mkdir and chmod to <sys/stat.h>.
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
Simon Gerber [Wed, 30 Jan 2013 15:20:05 +0000]
armv7: added new modify_flags invocation.
Simon Gerber [Wed, 30 Jan 2013 12:28:54 +0000]
armv5: implemented new modify_flags invocation.
Simon Gerber [Wed, 30 Jan 2013 10:39:04 +0000]
x86_64: removed duplicate return statement in page_mappings_modify_flags.
Simon Gerber [Wed, 30 Jan 2013 09:49:39 +0000]
x86_32: Implemented new modify_flags invocation and associated functionality.
Simon Gerber [Wed, 30 Jan 2013 09:28:46 +0000]
x86_64: removed commented out unused code in pmap_target.
Simon Gerber [Fri, 18 Jan 2013 16:07:38 +0000]
x86_64: Implemented modifying flags for parts of mapped regions.
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.
Simon Gerber [Mon, 26 Nov 2012 13:33:23 +0000]
armv7: fixed merge errors and implemented new memory interface for omap44xx.
Simon Gerber [Mon, 26 Nov 2012 13:20:10 +0000]
armv7: removed unused generated dependency "romfs_size.h"
Simon Gerber [Fri, 23 Nov 2012 10:42:25 +0000]
armv7: changed memory bits in kernel to new interface with kernel mappings.
Simon Gerber [Fri, 23 Nov 2012 10:32:17 +0000]
arm: pmap code cleanup and fixed new kernel memory interface.
Simon Gerber [Fri, 23 Nov 2012 10:29:48 +0000]
arm: Implemented kernel-side parts of dumping hw page tables.
Simon Gerber [Fri, 23 Nov 2012 10:28:40 +0000]
Fixed unmap_capability to correctly calculate slot number.
Simon Gerber [Fri, 23 Nov 2012 10:28:30 +0000]
Fixed vspace_dump to have nop sorting function when not implemented specifically.
Simon Gerber [Fri, 23 Nov 2012 10:28:24 +0000]
More ARM code.
Simon Gerber [Fri, 23 Nov 2012 09:51:08 +0000]
Incomplete ARM implementation.
Simon Gerber [Fri, 23 Nov 2012 09:46:43 +0000]
x86_32: Cleanup merge errors in pmap_target.c.
Simon Gerber [Fri, 23 Nov 2012 09:29:55 +0000]
Fixed missing comma in kernel Hakefile.