barrelfish
5 years agoarmv5: make cpu driver run again.
Simon Gerber [Mon, 4 May 2015 13:13:36 +0000]
armv5: make cpu driver run again.

Note: this is not a real fix, it does not implement the switch cases in
paging_generic.c:paging_tlb_flush_range() correctly.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoFix Null pointer dereference in the spawnd daemon.
yauhenk [Mon, 4 May 2015 13:00:36 +0000]
Fix Null pointer dereference in the spawnd daemon.

External symptoms: crash during call of the spawn_wait_coreid() called with
the domain id of already closed domain.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

5 years agoBuild order fix
yauhenk [Mon, 4 May 2015 12:58:47 +0000]
Build order fix

On some machines Barrelfish doesn't build due to
the missed dependency in the barrelfish lib hakefile.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>

5 years agoFix large page code so it compiles on 32bit / ARM.
Simon Gerber [Mon, 4 May 2015 09:50:52 +0000]
Fix large page code so it compiles on 32bit / ARM.

Note: the ARM version does not support large pages properly at this point.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agolibbarrelfish: fix morecore heap with 1GB pages.
Simon Gerber [Thu, 30 Apr 2015 17:23:34 +0000]
libbarrelfish: fix morecore heap with 1GB pages.

This fixes the vspace_mmu_aware vregion to actually allocate 1GB pages if
requested through morecore=0x40000000 on the command line.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoMerge large page support code.
Simon Gerber [Mon, 4 May 2015 09:31:03 +0000]
Merge large page support code.

This code was originally written by Andreas Dillier as a deliverable for his
Bachelor thesis at ETH Zurich in 2013. Simon Gerber then fixed and extended
the implementation of large page support while employed by HP Labs in summer
2014.
The files that contain code written while Simon was employed by HP Labs have
updated copyright notices and the relevant commits are marked with
"Signed-off-by: Simon Gerber <simon.gerber@hp.com>" (as is this merge).

Signed-off-by: Simon Gerber <simon.gerber@hp.com>
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agox86_64: kernel: cleanup of page table dumping.
Simon Gerber [Mon, 4 Aug 2014 22:52:02 +0000]
x86_64: kernel: cleanup of page table dumping.

paging_dump_tables now finds the first pml4 entry of the "identity"-mapped RAM
and stops displaying page tables for all of it based on the offset configured
in /kernel/include/arch/x86_64/offset_targets.h.

We now also properly cast the base addresses of large/huge pages to genpaddr_t
before bitshifting to avoid sign extending. This is necessary because
bitfield fields are implicitly plain ints.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agommu aware vspace: added sane fallback for basecn allocations.
Simon Gerber [Fri, 18 Jul 2014 00:05:01 +0000]
mmu aware vspace: added sane fallback for basecn allocations.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: cleaned up large page code.
Simon Gerber [Thu, 17 Jul 2014 23:39:13 +0000]
x86_64: cleaned up large page code.

Conflicts:
lib/barrelfish/init.c
lib/barrelfish/morecore.c
lib/barrelfish/target/x86_64/pmap_target.c

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agolarge page test: improvements in output.
Simon Gerber [Sat, 12 Jul 2014 00:42:41 +0000]
large page test: improvements in output.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86: pmap: Added debug output to has_vnode.
Simon Gerber [Sat, 12 Jul 2014 00:23:02 +0000]
x86: pmap: Added debug output to has_vnode.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoClarified printfs in large page test.
Simon Gerber [Fri, 11 Jul 2014 21:33:19 +0000]
Clarified printfs in large page test.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agolibbarrelfish: Refactored onthread init slightly.
Simon Gerber [Wed, 6 Aug 2014 00:02:12 +0000]
libbarrelfish: Refactored onthread init slightly.

Conflicts:
lib/barrelfish/init.c

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded test case to inspect processed argc/argv after libbarrelfish initialization.
Simon Gerber [Mon, 4 Aug 2014 22:58:38 +0000]
Added test case to inspect processed argc/argv after libbarrelfish initialization.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded command line arg for overriding default heap pagesize.
Simon Gerber [Mon, 4 Aug 2014 22:50:23 +0000]
Added command line arg for overriding default heap pagesize.

Also removed the vregion flags #define for the heap region as we can infer the
necessary flags from the alignment argument to morecore_init(). We now choose
the pagesize that matches the alignment or 4kB if no match found.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded Config.hs flag for morecore pagesize.
Simon Gerber [Mon, 4 Aug 2014 21:41:31 +0000]
Added Config.hs flag for morecore pagesize.

Conflicts:
lib/barrelfish/init.c
lib/barrelfish/morecore.c

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoFixed morecore_reinit() to properly not remap when unnecessary.
Simon Gerber [Sat, 26 Jul 2014 00:36:07 +0000]
Fixed morecore_reinit() to properly not remap when unnecessary.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: pmap_map: Fixed size check to actually work for sizes >4GB.
Simon Gerber [Wed, 23 Jul 2014 01:00:58 +0000]
x86_64: pmap_map: Fixed size check to actually work for sizes >4GB.

Conflicts:
lib/barrelfish/target/x86_64/pmap_target.c

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agovspace_mmu_aware: fixed edge case in assertions.
Simon Gerber [Tue, 22 Jul 2014 01:05:57 +0000]
vspace_mmu_aware: fixed edge case in assertions.

Assertions didn't allow freeing the region starting at offset zero in the
vregion.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded remapping functionality for malloc.
Simon Gerber [Fri, 18 Jul 2014 16:56:24 +0000]
Added remapping functionality for malloc.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded malloc test to check whether large page magic works.
Simon Gerber [Fri, 18 Jul 2014 00:44:55 +0000]
Added malloc test to check whether large page magic works.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agomake mmu_aware vspace code support multiple page sizes.
Simon Gerber [Thu, 17 Jul 2014 21:40:05 +0000]
make mmu_aware vspace code support multiple page sizes.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: cleaned up corner cases in pmap code.
Simon Gerber [Tue, 15 Jul 2014 01:51:37 +0000]
x86_64: cleaned up corner cases in pmap code.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: pmap: removed support code for mixed-size mappings.
Simon Gerber [Sat, 12 Jul 2014 00:37:04 +0000]
x86_64: pmap: removed support code for mixed-size mappings.

Mixed-size mappings (e.g. composing a mapping from 4k and 2M pages) don't work
on x86 unless the physical and virtual addresses have matching alignments (a
2M mapping needs both a 2M aligned virtual and physical address).  Thus we
don't support this case in the default library OS.

The kernel doesn't care though and you can roll your own system where you
allocate physical memory that matches the alignment so that the first 2M
aligned virtual address lands on a 2M aligned physical address.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: kernel: cleanup trailing spaces.
Simon Gerber [Sat, 12 Jul 2014 00:19:38 +0000]
x86_64: kernel: cleanup trailing spaces.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoCleanup of unmap error handling and proper checks for slab refilling in map.
Simon Gerber [Fri, 11 Jul 2014 21:32:49 +0000]
Cleanup of unmap error handling and proper checks for slab refilling in map.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded unaligned mixed 4k/2M test in large page tests.
Simon Gerber [Fri, 11 Jul 2014 20:53:28 +0000]
Added unaligned mixed 4k/2M test in large page tests.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agonewlib: libbarrelfish: properly hook up assert functionality.
Simon Gerber [Tue, 8 Jul 2014 23:59:03 +0000]
newlib: libbarrelfish: properly hook up assert functionality.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: pmap: cleanup and added some plumbing for mixed-size mappings.
Simon Gerber [Wed, 2 Jul 2014 21:00:16 +0000]
x86_64: pmap: cleanup and added some plumbing for mixed-size mappings.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: cleaned up magic constant 9 (ptable_bits) in pmap code.
Simon Gerber [Mon, 30 Jun 2014 18:51:04 +0000]
x86_64: cleaned up magic constant 9 (ptable_bits) in pmap code.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoFixed VREGION_FLAGS_MASK.
Simon Gerber [Mon, 30 Jun 2014 18:42:00 +0000]
Fixed VREGION_FLAGS_MASK.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agovspace/utils.c: cleaned up trailing spaces.
Simon Gerber [Thu, 19 Jun 2014 00:22:57 +0000]
vspace/utils.c: cleaned up trailing spaces.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_32: compiles with PAE enabled.
Simon Gerber [Thu, 19 Jun 2014 00:22:15 +0000]
x86_32: compiles with PAE enabled.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_32: Added notice about CONFIG_PSE in large page test.
Simon Gerber [Wed, 18 Jun 2014 23:01:27 +0000]
x86_32: Added notice about CONFIG_PSE in large page test.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_32: kernel: cleaned up large page mapping code.
Simon Gerber [Wed, 18 Jun 2014 21:51:44 +0000]
x86_32: kernel: cleaned up large page mapping code.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded x86_32 version of large page test.
Simon Gerber [Wed, 18 Jun 2014 21:47:11 +0000]
Added x86_32 version of large page test.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoproperly zero newly allocated memobj and vregion.
Simon Gerber [Wed, 18 Jun 2014 21:46:39 +0000]
properly zero newly allocated memobj and vregion.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_32: kernel: added support for large pages to paging_dump_tables.
Simon Gerber [Wed, 18 Jun 2014 21:44:14 +0000]
x86_32: kernel: added support for large pages to paging_dump_tables.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoRefactored pmap code for x86_{64,32}.
Simon Gerber [Wed, 18 Jun 2014 20:02:04 +0000]
Refactored pmap code for x86_{64,32}.

* factored out common code for vnode manipulation (see pmap_x86.{h,c})
* cleaned up x86_32 pmap implementation

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoFixed paging_tlb_flush_range to compile on x86_32.
Simon Gerber [Wed, 18 Jun 2014 20:01:31 +0000]
Fixed paging_tlb_flush_range to compile on x86_32.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoAdded large page test.
Simon Gerber [Wed, 18 Jun 2014 17:47:08 +0000]
Added large page test.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: lazily clean up empty page tables when creating large / huge page mappings.
Simon Gerber [Tue, 17 Jun 2014 21:23:52 +0000]
x86_64: lazily clean up empty page tables when creating large / huge page mappings.

This enables reusing address ranges that held smaller mappings before when
creating mappings with large or huge pages.  This is necessary as we never
clean up page tables and page directories when unmapping regardless of whether
there's valid entries left in them.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: pmap do_map fine-grained debug output ctrl.
Simon Gerber [Tue, 17 Jun 2014 20:43:14 +0000]
x86_64: pmap do_map fine-grained debug output ctrl.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: fix is_same_{pdir,pdpt,pml4} functions to properly identify ranges that span...
Simon Gerber [Tue, 17 Jun 2014 20:42:53 +0000]
x86_64: fix is_same_{pdir,pdpt,pml4} functions to properly identify ranges that span exactly one table.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agokernel: x86_64: updated paging_dump_tables to understand large/huge pages.
Simon Gerber [Tue, 17 Jun 2014 00:41:14 +0000]
kernel: x86_64: updated paging_dump_tables to understand large/huge pages.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: fixed unmap last leaf, added code to allow users to easily map large/huge...
Simon Gerber [Tue, 17 Jun 2014 00:19:33 +0000]
x86_64: fixed unmap last leaf, added code to allow users to easily map large/huge pages.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: fix page sizes to be derived from sizes in bits.
Simon Gerber [Tue, 17 Jun 2014 00:17:01 +0000]
x86_64: fix page sizes to be derived from sizes in bits.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: cleaned up and refactored pmap unmap code.
Simon Gerber [Mon, 16 Jun 2014 19:54:42 +0000]
x86_64: cleaned up and refactored pmap unmap code.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: fixed selective tlb flushing page size choice.
Simon Gerber [Mon, 16 Jun 2014 19:54:02 +0000]
x86_64: fixed selective tlb flushing page size choice.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: cleanup of pmap do_map and supporting code.
Simon Gerber [Mon, 16 Jun 2014 18:38:45 +0000]
x86_64: cleanup of pmap do_map and supporting code.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agox86_64: Fixed typo in determine_addr_raw.
Simon Gerber [Fri, 13 Jun 2014 23:07:21 +0000]
x86_64: Fixed typo in determine_addr_raw.

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoKernel test that checks that we preserve page table hierarchy constraints
Simon Gerber [Fri, 13 Jun 2014 21:45:54 +0000]
Kernel test that checks that we preserve page table hierarchy constraints

Signed-off-by: Simon Gerber <simon.gerber@hp.com>

5 years agoLargepage Code, arm addition
Andreas Dillier [Mon, 2 Dec 2013 00:59:18 +0000]
Largepage Code, arm addition

Added arm/omap4460 files, just for completeness, it does not work yet.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoLargepage repository
Andreas Dillier [Sun, 1 Dec 2013 23:42:50 +0000]
Largepage repository

Fixing the issue with the repository not having a history

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoAdded large page capabilities to the x86 architecture.
Andreas Dillier [Mon, 25 Nov 2013 01:45:29 +0000]
Added large page capabilities to the x86 architecture.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoRemoved Shoal and Green-Marl from symbolic_targets
Stefan Kaestle [Thu, 30 Apr 2015 14:24:27 +0000]
Removed Shoal and Green-Marl from symbolic_targets

Signed-off-by: Stefan Kaestle <stefan.kaestle@inf.ethz.ch>

5 years agoFix include of if/terminal_config_defs.h - depending on the compile order it cannot...
Moritz Hoffmann [Tue, 28 Apr 2015 15:00:08 +0000]
Fix include of if/terminal_config_defs.h - depending on the compile order it cannot be included from header files.

Signed-off-by: Moritz Hoffmann <moritzho@inf.ethz.ch>

5 years agoFix thread_mutex_lock* to acquire lock after unblocking waiting thread
Moritz Hoffmann [Tue, 28 Apr 2015 14:26:13 +0000]
Fix thread_mutex_lock* to acquire lock after unblocking waiting thread

Signed-off-by: Moritz Hoffmann <moritzho@inf.ethz.ch>

5 years agoDuplicate definition of NAME_MAX macro
Zaheer Chothia [Mon, 20 Apr 2015 22:06:29 +0000]
Duplicate definition of NAME_MAX macro

I broke the build in rBFIaee0075101b1; this is just a temporary band-aid and
only masks the more general issue described in T58.  If you have an idea for a
better fix, please let me know.

Signed-off-by: Zaheer Chothia <zchothia@inf.ethz.ch>

5 years agoposixcompat: make pthread_once a wrapper over the version in libbarrelfish
Zaheer Chothia [Wed, 17 Dec 2014 14:08:15 +0000]
posixcompat: make pthread_once a wrapper over the version in libbarrelfish

Summary:
Both the pthread and native versions now share a single common
implementation (added in D9).  The new approach should also be faster
since it avoids a full mutex and instead only has to consult the
per-thread epoch on the common path.  I should note, I have not run
any benchmarks to confirm this and may be wrong.

Test Plan: Compiles but have not validated more thoroughly.

Differential Revision: https://code.systems.ethz.ch/D12

Signed-off-by: Zaheer Chothia <zchothia@inf.ethz.ch>

5 years agothread: add support for one-time global initialization
Zaheer Chothia [Sun, 14 Dec 2014 19:11:26 +0000]
thread: add support for one-time global initialization

Summary:
This is an action that needs to be coordinated globally but the implementation
doesn't have to be as pessimistic.  The initialization function is only run
once and the common case is checking whether it has already been run.  The idea
here is to have a fast and slow path and let each thread use a locally cached
value.

Test Plan:
Tested with the small code snippet below. Initialization function ran
correctly (and only once).  For correctness of the locking scheme I
defer to the proposal document referred to in the header comment of
`lib/barrelfish/thread_once.c`.

  lang=c
  #include <barrelfish/threads.h>

  static thread_once_t init = THREAD_ONCE_INIT;

  static void init_func(void) {
    printf("init\n");
  }

  int main() {
    thread_once(&init, init_func);
    printf("Hello World\n");
    thread_once(&init, init_func);
    return 0;
  }

Differential Revision: https://code.systems.ethz.ch/D9

Signed-off-by: Zaheer Chothia <zchothia@inf.ethz.ch>

5 years agoposixcompat: fix incorrect destruction of pthread_cond
Zaheer Chothia [Mon, 20 Apr 2015 20:24:36 +0000]
posixcompat: fix incorrect destruction of pthread_cond

The object being freed was the wrapper, which belongs to the caller and
may even have static lifetime (.data section), whereas now it correctly
relases the inner block of memory which was allocated in
`pthread_cont_init`.

(The unrelated change in mmap add a missing comma when debug is enabled.)

Signed-off-by: Zaheer Chothia <zchothia@inf.ethz.ch>

5 years agoDisable -Wshadow for thcidctest
Zaheer Chothia [Sun, 12 Apr 2015 22:56:21 +0000]
Disable -Wshadow for thcidctest

The DO_FINISH macro (defined in <thc/thc.h>) is used in nested scopes.  Once
expaned it defines a local variable multiple times which aborts the build:

  ../include/thc/thc.h:54:14: error: declaration of '_fb' shadows a previous local [-Werror=shadow-compatible-local]
       finish_t _fb;                                                       \
                ^
  ../include/thc/thc.h:61:10: note: in definition of macro 'DO_FINISH__'
       do { _CODE } while (0);                                             \
            ^
  ../usr/tests/thcidctest/thcidctest.c:95:5: note: in expansion of macro 'DO_FINISH'
       DO_FINISH({
       ^
  ../include/thc/thc.h:40:26: note: in expansion of macro 'DO_FINISH__'
   #define DO_FINISH(_CODE) DO_FINISH__(__,_CODE,0)
                            ^
  ../usr/tests/thcidctest/thcidctest.c:136:7: note: in expansion of macro 'DO_FINISH'
         DO_FINISH({
         ^
  ../include/thc/thc.h:54:14: error: shadowed declaration is here [-Werror=shadow-compatible-local]
       finish_t _fb;                                                       \
                ^
  ../include/thc/thc.h:40:26: note: in expansion of macro 'DO_FINISH__'
   #define DO_FINISH(_CODE) DO_FINISH__(__,_CODE,0)
                            ^
  ../usr/tests/thcidctest/thcidctest.c:95:5: note: in expansion of macro 'DO_FINISH'
       DO_FINISH({
       ^

Signed-off-by: Zaheer Chothia <zchothia@inf.ethz.ch>

5 years ago32bit: libbarrelfish: fix casts in new x-core thread functionality. release2015-03-17
Simon Gerber [Mon, 9 Mar 2015 15:24:17 +0000]
32bit: libbarrelfish: fix casts in new x-core thread functionality.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agohake: minor bugfixes.
Simon Gerber [Mon, 9 Mar 2015 15:08:43 +0000]
hake: minor bugfixes.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoT73: do full TLB flush when modifying flags.
Simon Gerber [Fri, 6 Mar 2015 09:49:48 +0000]
T73: do full TLB flush when modifying flags.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agokernel: x86_64: fix error passthrough in modify_flags.
Simon Gerber [Tue, 3 Mar 2015 17:20:12 +0000]
kernel: x86_64: fix error passthrough in modify_flags.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agokernel: Fix and deduplicate cte_for_cap().
Simon Gerber [Tue, 3 Mar 2015 17:19:18 +0000]
kernel: Fix and deduplicate cte_for_cap().

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoT65: implement proper x-core join.
Simon Gerber [Tue, 24 Feb 2015 12:22:28 +0000]
T65: implement proper x-core join.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoT65: properly implement x-core thread creation.
Simon Gerber [Mon, 23 Feb 2015 15:45:40 +0000]
T65: properly implement x-core thread creation.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agofish: Add simple hexdump utility.
Simon Gerber [Fri, 20 Feb 2015 16:57:19 +0000]
fish: Add simple hexdump utility.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agocxxabi: abort_message: Add info about dispatcher, core id and thread id.
Simon Gerber [Fri, 20 Feb 2015 16:55:44 +0000]
cxxabi: abort_message: Add info about dispatcher, core id and thread id.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoAdd get_absolute_time() syscall + implement std::chrono::steady_clock::now() using it.
Simon Gerber [Fri, 20 Feb 2015 16:46:17 +0000]
Add get_absolute_time() syscall + implement std::chrono::steady_clock::now() using it.

This addresses T64.  Needs revising and more work to make it available on
architectures other than x86_64.

This may not quite satisfy the requirements mandated for
std::chrono::steady_clock, but is good enough to make steady_clock workable
for code that needs to work with millisecond precision durations.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agocxx: Replaced abort() in thread.cpp with USER_PANIC().
Simon Gerber [Wed, 18 Feb 2015 15:44:21 +0000]
cxx: Replaced abort() in thread.cpp with USER_PANIC().

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agocxx: implement thread::this_thread::sleep_for() using barrelfish_usleep() [T61]
Simon Gerber [Wed, 18 Feb 2015 15:43:58 +0000]
cxx: implement thread::this_thread::sleep_for() using barrelfish_usleep() [T61]

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agocxx: fixed thread::join() and added simple threads test. [T60]
Simon Gerber [Wed, 18 Feb 2015 15:17:07 +0000]
cxx: fixed thread::join() and added simple threads test. [T60]

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agocxx: Added various bits and pieces in cxx tests.
Simon Gerber [Wed, 18 Feb 2015 15:17:44 +0000]
cxx: Added various bits and pieces in cxx tests.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoposixcompat: properly handle PTHREAD_MUTEX_RECURSIVE and BF thread id assignment.
Simon Gerber [Fri, 6 Feb 2015 16:36:26 +0000]
posixcompat: properly handle PTHREAD_MUTEX_RECURSIVE and BF thread id assignment.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agoposixcompat: fixed pthread_mutex_lock to work with nested calls.
Simon Gerber [Fri, 6 Feb 2015 10:11:00 +0000]
posixcompat: fixed pthread_mutex_lock to work with nested calls.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

5 years agolibterm: blocking client: tell user how much we've written
Simon Gerber [Thu, 19 Feb 2015 16:58:12 +0000]
libterm: blocking client: tell user how much we've written

This fixes the fish issue mentioned in T63, but not the AIM issue.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoFix compilation of e10k. release2015-03-04
Gerd Zellweger [Wed, 18 Feb 2015 12:30:56 +0000]
Fix compilation of e10k.

6 years agospawnd: reorganized code to eliminate duplicate get_core_id() call.
Simon Gerber [Tue, 17 Feb 2015 16:16:28 +0000]
spawnd: reorganized code to eliminate duplicate get_core_id() call.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoharness: Added extra PASS/FAIL output line in non-debug mode.
Simon Gerber [Tue, 17 Feb 2015 15:55:48 +0000]
harness: Added extra PASS/FAIL output line in non-debug mode.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agospawnd: clarify "up" message with core id.
Simon Gerber [Tue, 17 Feb 2015 15:55:15 +0000]
spawnd: clarify "up" message with core id.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agomonitor: change debug_printf in delete_steps_init() to DEBUG_CAPOPS.
Simon Gerber [Tue, 17 Feb 2015 15:54:46 +0000]
monitor: change debug_printf in delete_steps_init() to DEBUG_CAPOPS.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoposixcompat: added stubs for fchown,fchmod,mmap,munmap.
Simon Gerber [Tue, 3 Feb 2015 16:17:19 +0000]
posixcompat: added stubs for fchown,fchmod,mmap,munmap.

Also fixed stat() to be able to get function pointer to it.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agox86_64: added more descriptive error message in generic_handle_user_exception.
Simon Gerber [Tue, 3 Feb 2015 16:15:51 +0000]
x86_64: added more descriptive error message in generic_handle_user_exception.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoAdded C++ test that includes barrelfish/barrelfish.h
Simon Gerber [Mon, 2 Feb 2015 14:40:10 +0000]
Added C++ test that includes barrelfish/barrelfish.h

This gives us minimum coverage of the public header files compiling
against C++.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoRename struct slab_alloc to struct slab_allocator.
Simon Gerber [Mon, 2 Feb 2015 14:35:17 +0000]
Rename struct slab_alloc to struct slab_allocator.

We have a function with the following signature:

  void *slab_alloc(struct slab_alloc *);

which produces the following error message with g++:

  error: ‘void* slab_alloc(slab_alloc*)’ hides constructor for ‘struct
  slab_alloc’ [-Werror=shadow]

The two easy ways out are 1) renaming the function or 2) renaming the struct.
For clarity (and consistency with malloc and co) I've chosen to rename the
struct to "struct slab_allocator".

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoMake include/barrelfish/ump_impl.h compile for C++.
Simon Gerber [Mon, 2 Feb 2015 14:34:09 +0000]
Make include/barrelfish/ump_impl.h compile for C++.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoRemoved submodules. release2015-01-29
Simon Gerber [Thu, 29 Jan 2015 10:42:19 +0000]
Removed submodules.

6 years agocopy-on-write example: added actual copying of frame contents + improved output.
Simon Gerber [Wed, 28 Jan 2015 16:12:01 +0000]
copy-on-write example: added actual copying of frame contents + improved output.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agogem5: fixed booting non-bsp cores.
Simon Gerber [Tue, 13 Jan 2015 12:03:35 +0000]
gem5: fixed booting non-bsp cores.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

6 years agoadded a description of the sign-off procedure
Kornilios Kourtis [Tue, 13 Jan 2015 08:49:45 +0000]
added a description of the sign-off procedure

6 years agoMerge branch 'master' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
Reto Achermann [Tue, 13 Jan 2015 08:26:52 +0000]
Merge branch 'master' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish

6 years agoDocument version, usage and modifications for external libraries
Zaheer Chothia [Mon, 12 Jan 2015 18:16:02 +0000]
Document version, usage and modifications for external libraries

Note to others: please help adding and maintaining these notes.  These
are tremendously helpful when comparing against and merging in changes
from new releases.  As a user it also helps to be aware of Barrelfish-
specific quirks.

6 years agoAdded copy-on-write example program.
Simon Gerber [Mon, 12 Jan 2015 16:27:04 +0000]
Added copy-on-write example program.

6 years agolibbarrelfish: memobj: add optional frame offset to anonymous memobjs.
Simon Gerber [Mon, 12 Jan 2015 16:16:12 +0000]
libbarrelfish: memobj: add optional frame offset to anonymous memobjs.

6 years agox86_64: dynamically compute where kernel VA starts when dumping ptables.
Simon Gerber [Mon, 12 Jan 2015 16:15:36 +0000]
x86_64: dynamically compute where kernel VA starts when dumping ptables.

6 years agocap_delete_last: Handle LMP buffer overflow more gracefully.
Simon Gerber [Mon, 12 Jan 2015 16:14:56 +0000]
cap_delete_last: Handle LMP buffer overflow more gracefully.