barrelfish
5 years agoT123: kernel: remove scc-specific code from x86_32 init.c release2015-06-18
Moritz Hoffmann [Wed, 17 Jun 2015 14:07:34 +0000]
T123: kernel: remove scc-specific code from x86_32 init.c

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

5 years agoT121: kernel: fix BSP KCB creation on x86_32 and armv5
Moritz Hoffmann [Wed, 17 Jun 2015 14:06:37 +0000]
T121: kernel: fix BSP KCB creation on x86_32 and armv5

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

5 years agoT121: kernel: Make BSP KCB a proper capability on ARM
Moritz Hoffmann [Wed, 17 Jun 2015 13:20:21 +0000]
T121: kernel: Make BSP KCB a proper capability on ARM

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

5 years agoT121: kernel: Add missing include
Moritz Hoffmann [Tue, 16 Jun 2015 16:13:08 +0000]
T121: kernel: Add missing include

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

5 years agokernel: Remove references arch_init to bspkcb which does not exist anymore
Moritz Hoffmann [Tue, 16 Jun 2015 15:24:07 +0000]
kernel: Remove references arch_init to bspkcb which does not exist anymore

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

5 years agoT119: kernel: Implement cap invocation for arm, x86_32
Moritz Hoffmann [Tue, 16 Jun 2015 11:35:47 +0000]
T119: kernel: Implement cap invocation for arm, x86_32

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

5 years agotrace: Consistent includes across all platforms
Moritz Hoffmann [Tue, 16 Jun 2015 11:34:23 +0000]
trace: Consistent includes across all platforms

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

5 years agokernel: fix object creation for KCB on arm, x86_32
Moritz Hoffmann [Tue, 16 Jun 2015 11:33:28 +0000]
kernel: fix object creation for KCB on arm, x86_32

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

5 years agoT119: kernel, spawn, libbarrelfish, fish: Remove DEBUG_PRINT_CAPABILITIES syscall...
Moritz Hoffmann [Mon, 15 Jun 2015 15:06:29 +0000]
T119: kernel, spawn, libbarrelfish, fish: Remove DEBUG_PRINT_CAPABILITIES syscall. Use capinvoke from fish instead. Improve output formatting.

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

5 years agoT119: kernel, spawnd, fish: Use dispatcher invocations to dump capability information
Moritz Hoffmann [Mon, 15 Jun 2015 14:40:27 +0000]
T119: kernel, spawnd, fish: Use dispatcher invocations to dump capability information

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

5 years agoT119: kernel: Unify debug_print_capabilities in sys_debug.c
Moritz Hoffmann [Mon, 15 Jun 2015 11:27:30 +0000]
T119: kernel: Unify debug_print_capabilities in sys_debug.c

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

5 years agoT118: libbarrelfish: Refactor architecture specific debug syscalls. Move common debug...
Moritz Hoffmann [Mon, 15 Jun 2015 11:24:57 +0000]
T118: libbarrelfish: Refactor architecture specific debug syscalls. Move common debug syscalls to top level sys_debug.c

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

5 years agoT119: add case when we find init rootcn in KCB.
Simon Gerber [Mon, 15 Jun 2015 09:17:53 +0000]
T119: add case when we find init rootcn in KCB.

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

5 years agokernel: fix object creation for KCB.
Simon Gerber [Mon, 15 Jun 2015 09:17:00 +0000]
kernel: fix object creation for KCB.

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

5 years agoT121: Create "real" BSP KCB cap for x86.
Simon Gerber [Mon, 15 Jun 2015 09:16:25 +0000]
T121: Create "real" BSP KCB cap for x86.

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

5 years agoT119: work in progress, use mdb tree call-back function to gather data
Moritz Hoffmann [Mon, 15 Jun 2015 07:52:12 +0000]
T119: work in progress, use mdb tree call-back function to gather data

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

5 years agoT119: implement syscall and monitor interface to debug_print_capabilities
Moritz Hoffmann [Thu, 11 Jun 2015 15:27:26 +0000]
T119: implement syscall and monitor interface to debug_print_capabilities

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

5 years agoCloses T118: libbarrelfish: Extract common syscalls into architecture-independant...
Moritz Hoffmann [Thu, 11 Jun 2015 14:50:28 +0000]
Closes T118: libbarrelfish: Extract common syscalls into architecture-independant syscalls.h

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

5 years agolibnuma: implementing missing allocation functions + large page support
Reto Achermann [Tue, 16 Jun 2015 09:32:12 +0000]
libnuma: implementing missing allocation functions + large page support

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agolibbomp: match the new bitmap interface for prev/next calls.
Reto Achermann [Tue, 16 Jun 2015 09:30:17 +0000]
libbomp: match the new bitmap interface for prev/next calls.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agolibbitmap: changing semantics of bitmap_bit_{prev|next}
Reto Achermann [Tue, 16 Jun 2015 09:26:51 +0000]
libbitmap: changing semantics of bitmap_bit_{prev|next}

adapting the semantics of those functions to match the function
description.
changing type of bitmap_bit_t to signed integer to be able
to check for negativity.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agomemobj: adding missing implementation of unfill for memobj_numa
Reto Achermann [Tue, 16 Jun 2015 09:18:18 +0000]
memobj: adding missing implementation of unfill for memobj_numa

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agoFixes T120: mdb: Add mdb tree traversal functions.
Moritz Hoffmann [Fri, 12 Jun 2015 14:09:54 +0000]
Fixes T120: mdb: Add mdb tree traversal functions.

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

5 years agoAdding missing THC dependencies in Hakefile of Xeon Phi driver.
Reto Achermann [Mon, 15 Jun 2015 06:16:18 +0000]
Adding missing THC dependencies in Hakefile of Xeon Phi driver.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agox86: implement modify flags for x86_32 and improve modify flags for x86_64.
Simon Gerber [Thu, 11 Jun 2015 16:52:00 +0000]
x86: implement modify flags for x86_32 and improve modify flags for x86_64.

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

5 years agocpuid device definitions: remove utf-8 registered symbols.
Simon Gerber [Thu, 11 Jun 2015 16:45:41 +0000]
cpuid device definitions: remove utf-8 registered symbols.

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

5 years agoshortcut in protect for single page operations
Moritz Hoffmann [Fri, 13 Mar 2015 10:16:26 +0000]
shortcut in protect for single page operations

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

5 years agomemobj_anon, protect: use vregion_base and _off correctly
Moritz Hoffmann [Wed, 11 Mar 2015 17:44:28 +0000]
memobj_anon, protect: use vregion_base and _off correctly

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

5 years agoFix implementation of memobj_anon protect.
Moritz Hoffmann [Wed, 11 Mar 2015 17:26:20 +0000]
Fix implementation of memobj_anon protect.

Traverse the linked list of frames and call protect on those frames that
overlap with the requested range.

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

5 years agokernel: x86_64: fixed error handling in modify_flags.
Simon Gerber [Tue, 17 Mar 2015 14:57:39 +0000]
kernel: x86_64: fixed error handling in modify_flags.

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

5 years agoT77: Implement selective TLB flushing hint for modify_flags.
Simon Gerber [Wed, 11 Mar 2015 18:35:22 +0000]
T77: Implement selective TLB flushing hint for modify_flags.

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

5 years agoT73: fix modify_flags for parts of region + test.
Simon Gerber [Tue, 3 Mar 2015 15:08:41 +0000]
T73: fix modify_flags for parts of region + test.

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

5 years agoadding support for modify flags on large/huge pages
Reto Achermann [Mon, 23 Feb 2015 09:54:29 +0000]
adding support for modify flags on large/huge pages

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

5 years ago[T115] making SKB CPU facts consistent beginning with core_id
Reto Achermann [Wed, 10 Jun 2015 12:31:03 +0000]
[T115] making SKB CPU facts consistent beginning with core_id

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agonumatest: adding +1 to print the correct values
Reto Achermann [Wed, 10 Jun 2015 11:59:46 +0000]
numatest: adding +1 to print the correct values

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years ago[T115] make data gatherer use of libcpuid
Reto Achermann [Wed, 10 Jun 2015 11:58:39 +0000]
[T115] make data gatherer use of libcpuid

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years ago[T115] extending support for cpuid instruction
Reto Achermann [Wed, 10 Jun 2015 11:53:18 +0000]
[T115] extending support for cpuid instruction

initial commit of a unified cpuid library for obtaining information
about cpu features, caches, tlbs, cores/threads etc.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agoskb: adding query for locality information release2015-06-09
Reto Achermann [Thu, 4 Jun 2015 12:20:33 +0000]
skb: adding query for locality information

acpi is adding locality information now. the query allows users
to obtain a list of distances between the numa nodes

extended system topology query to return the list of distances.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agolibnuma: adding support for locality information and node distances
Reto Achermann [Thu, 4 Jun 2015 12:18:34 +0000]
libnuma: adding support for locality information and node distances

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agoACPI: Adding support to parse the locality tables
Reto Achermann [Thu, 4 Jun 2015 09:56:32 +0000]
ACPI: Adding support to parse the locality tables

added table definitions for the memory topology tables.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agoarm: unify arm.h header for all arm 32bit flavours.
Simon Gerber [Wed, 3 Jun 2015 14:52:47 +0000]
arm: unify arm.h header for all arm 32bit flavours.

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

5 years agonewlib: T110: fix libc Hakefile to prefer machine-specific impls over generic.
Simon Gerber [Wed, 3 Jun 2015 09:37:56 +0000]
newlib: T110: fix libc Hakefile to prefer machine-specific impls over generic.

This implements the proposed solution 3 in T110 which is the simplest to do
right now. However we should consider implementing one of the other solutions
at a later date.

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

5 years agoarmv5: improved page table dumping.
Simon Gerber [Mon, 1 Jun 2015 16:48:23 +0000]
armv5: improved page table dumping.

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

5 years ago32bit: fixup printf format specifiers.
Simon Gerber [Mon, 1 Jun 2015 15:16:39 +0000]
32bit: fixup printf format specifiers.

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

5 years agonewlib: fixup missing bits + make compile for 32bit.
Simon Gerber [Mon, 1 Jun 2015 15:16:19 +0000]
newlib: fixup missing bits + make compile for 32bit.

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

5 years agonewlib: fixup patch for new newlib version and adjust call sites.
Simon Gerber [Mon, 1 Jun 2015 08:17:43 +0000]
newlib: fixup patch for new newlib version and adjust call sites.

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

5 years agoremove old newlib.
Simon Gerber [Mon, 1 Jun 2015 13:28:24 +0000]
remove old newlib.

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

5 years agoReintegrate newlib 1.19.0 modifications for Barrelfish.
Simon Gerber [Mon, 1 Jun 2015 09:14:32 +0000]
Reintegrate newlib 1.19.0 modifications for Barrelfish.

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

5 years agoMerge tag 'newlib-snapshot-20150423' from git://sourceware.org/git/newlib-cygwin...
Simon Gerber [Mon, 1 Jun 2015 14:35:11 +0000]
Merge tag 'newlib-snapshot-20150423' from git://sourceware.org/git/newlib-cygwin.git as 'lib/newlib'

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

5 years agoSquashed 'lib/newlib/' content from commit a4e9d13
Simon Gerber [Mon, 1 Jun 2015 14:35:11 +0000]
Squashed 'lib/newlib/' content from commit a4e9d13

git-subtree-dir: lib/newlib
git-subtree-split: a4e9d133a8a6cb9a4a5302005c974cbc6b82de42

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

5 years agorename newlib{,-1.19.0}.
Simon Gerber [Mon, 1 Jun 2015 08:16:52 +0000]
rename newlib{,-1.19.0}.

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

5 years agokernel: T78: add notice about bug report on failure.
Simon Gerber [Tue, 26 May 2015 09:31:12 +0000]
kernel: T78: add notice about bug report on failure.

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

5 years agolibvirtio: Fix error check in virtio_vq_host_poll(). release2015-05-22
Simon Gerber [Fri, 22 May 2015 13:31:09 +0000]
libvirtio: Fix error check in virtio_vq_host_poll().

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

5 years agoUpdate AUTHORS file according to commit authors.
Simon Gerber [Fri, 22 May 2015 13:26:21 +0000]
Update AUTHORS file according to commit authors.

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

5 years agousb: adding the correct offset to the interrupt table of the OHCI controller
Reto Achermann [Fri, 22 May 2015 08:51:01 +0000]
usb: adding the correct offset to the interrupt table of the OHCI controller
     closes T99

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agolibdma: enabling msix support for IOAT. [Closes T101]
Reto Achermann [Tue, 19 May 2015 14:06:23 +0000]
libdma: enabling msix support for IOAT. [Closes T101]

- enabling of MSI-X interrupt support for IOAT DMA
- movied definition of pci_address into pci.h
- interface of pci service takes pci address now

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agoMake httpperf use emmentaler machines.
Gerd Zellweger [Tue, 19 May 2015 11:28:03 +0000]
Make httpperf use emmentaler machines.

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

5 years agoFix qemu 32-bit names to make it consistent with others.
Gerd Zellweger [Tue, 19 May 2015 11:06:04 +0000]
Fix qemu 32-bit names to make it consistent with others.

Qemu had suffix _x32 while regular machines had suffix -32.
Now all have suffix -32.

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

5 years agoFix hakefile.
Gerd Zellweger [Mon, 18 May 2015 12:11:07 +0000]
Fix hakefile.

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

5 years ago[T96, T88] Added initial pthreads join test program.
Gerd Zellweger [Fri, 15 May 2015 09:36:26 +0000]
[T96, T88] Added initial pthreads join test program.

This is a test-program that shows how the mutex locking
causes a dead-lock to occur when repeatedly creating and
joining threads().

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

5 years agoRevert b51b15e e7b3175. Closes T88 T96.
Gerd Zellweger [Mon, 18 May 2015 11:38:29 +0000]
Revert b51b15e e7b3175. Closes T88 T96.

mutex_lock und unlock was correct in its original implementation:
lock will put a thread in the mutex queue in case some thread already
has the mutex locked, and mutex_unlock is guaranteed to wake-up one of the
waiting threads by taking it from mutex->queue. mutex->locked will
remain set to 1 in case we wakeup a thread from unlock() and access to
the mutex structure is always protected by the mutex->lock spinlock.

This reverts commit e7b3175ba8fefbe2fbbf426ac22be509c000febc.
This reverts commit b51b15ec83fd052f105e21de1fe7714e3d0d6381.

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

5 years agoFix b51b15e: re-disable dispatcher in thread_mutex_lock* and thread_sem_wait().
Simon Gerber [Mon, 11 May 2015 12:21:34 +0000]
Fix b51b15e: re-disable dispatcher in thread_mutex_lock* and thread_sem_wait().

Re-disable dispatcher after returning from
thread_block_and_release_spinlock_disabled() and also fix thread_sem_wait() to
correctly block until semaphore can be acquired.

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

5 years agoChange default page size for morecore back to 4kB.
Simon Gerber [Mon, 11 May 2015 12:20:56 +0000]
Change default page size for morecore back to 4kB.

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

5 years agolibbarrelfish: vspace_mmu_aware: fix frame_alloc() retry condition.
Simon Gerber [Thu, 7 May 2015 13:41:39 +0000]
libbarrelfish: vspace_mmu_aware: fix frame_alloc() retry condition.

Fix retry condition when connection to memory server not established yet.

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

5 years agomultihop: fix cap ownership tranfer over multihop channel.
Simon Gerber [Wed, 6 May 2015 15:56:16 +0000]
multihop: fix cap ownership tranfer over multihop channel.

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

5 years agodistops: fix typos and small bugs in delete state machine.
Simon Gerber [Wed, 6 May 2015 15:55:48 +0000]
distops: fix typos and small bugs in delete state machine.

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

5 years agoharness: Add babybel4 to eth machines.
Simon Gerber [Tue, 5 May 2015 17:14:28 +0000]
harness: Add babybel4 to eth machines.

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

5 years agoFix size of argument buffer.
Gerd Zellweger [Tue, 5 May 2015 16:01:28 +0000]
Fix size of argument buffer.

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

5 years agoarmv7: fix #ifdef in paging_tlb_flush_range().
Simon Gerber [Mon, 4 May 2015 15:38:17 +0000]
armv7: fix #ifdef in paging_tlb_flush_range().

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

5 years agoMake SKB behaviour more robust in case of overflow.
Gerd Zellweger [Mon, 4 May 2015 15:18:56 +0000]
Make SKB behaviour more robust in case of overflow.

Also increase buffer size because it tended to overflow for larger queries.

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

5 years agoHanding over alignment paramenter of morecore when spanning
Reto Achermann [Thu, 19 Feb 2015 09:32:28 +0000]
Handing over alignment paramenter of morecore when spanning

Spanning domains resulted in a NULL-pointer dereferencing
in when initializing libbarrelfish and parsing arguments
for the morecore alignment. Added new parameter to pass
the alignment of the spanning domain to the new dispatcher
on the remote core.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

5 years agox86_32: only allow larger page sizes for morecore when PSE enabled.
Simon Gerber [Mon, 4 May 2015 13:29:19 +0000]
x86_32: only allow larger page sizes for morecore when PSE enabled.

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

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>