[Barrelfish-users] New Barrelfish Release

Simon Gerber simon.gerber at inf.ethz.ch
Fri May 22 15:46:27 CEST 2015

Dear all,

We are pleased to announce a new release of the Barrelfish OS. Along
with various bugfixes, this release introduces support for using large pages
(2MB and 1GB pages) on x86.  Large pages can explicitly be requested by adding
the appropriate flags to individual vregions.  Additionally, there is a command
line parameter (morecore=(0x1000|0x200000|0x40000000) on x86_64) to select a
page size for the morecore heap. We would like to thank HP Labs for their
support in making the large page support for Barrelfish publicly available.

As always, you can get the latest version by cloning or pulling from our
git repository [1].

-- Simon

[1] git://git.barrelfish.org/git/barrelfish

Andreas Dillier (3):
      Added large page capabilities to the x86 architecture.
      Largepage repository
      Largepage Code, arm addition

Gerd Zellweger (7):
      Make SKB behaviour more robust in case of overflow.
      Fix size of argument buffer.
      Revert b51b15e e7b3175. Closes T88 T96.
      [T96, T88] Added initial pthreads join test program.
      Fix hakefile.
      Fix qemu 32-bit names to make it consistent with others.
      Make httpperf use emmentaler machines.

Moritz Hoffmann (2):
      Fix thread_mutex_lock* to acquire lock after unblocking waiting thread
      Fix include of if/terminal_config_defs.h - depending on the compile order it cannot be included from header files.

Reto Achermann (3):
      Handing over alignment paramenter of morecore when spanning
      libdma: enabling msix support for IOAT. [Closes T101]
      usb: adding the correct offset to the interrupt table of the OHCI controller          closes T99

Simon Gerber (60):
      Kernel test that checks that we preserve page table hierarchy constraints
      x86_64: Fixed typo in determine_addr_raw.
      x86_64: cleanup of pmap do_map and supporting code.
      x86_64: fixed selective tlb flushing page size choice.
      x86_64: cleaned up and refactored pmap unmap code.
      x86_64: fix page sizes to be derived from sizes in bits.
      x86_64: fixed unmap last leaf, added code to allow users to easily map large/huge pages.
      kernel: x86_64: updated paging_dump_tables to understand large/huge pages.
      x86_64: fix is_same_{pdir,pdpt,pml4} functions to properly identify ranges that span exactly one table.
      x86_64: pmap do_map fine-grained debug output ctrl.
      x86_64: lazily clean up empty page tables when creating large / huge page mappings.
      Added large page test.
      Fixed paging_tlb_flush_range to compile on x86_32.
      Refactored pmap code for x86_{64,32}.
      x86_32: kernel: added support for large pages to paging_dump_tables.
      properly zero newly allocated memobj and vregion.
      Added x86_32 version of large page test.
      x86_32: kernel: cleaned up large page mapping code.
      x86_32: Added notice about CONFIG_PSE in large page test.
      x86_32: compiles with PAE enabled.
      vspace/utils.c: cleaned up trailing spaces.
      x86_64: cleaned up magic constant 9 (ptable_bits) in pmap code.
      x86_64: pmap: cleanup and added some plumbing for mixed-size mappings.
      newlib: libbarrelfish: properly hook up assert functionality.
      Added unaligned mixed 4k/2M test in large page tests.
      Cleanup of unmap error handling and proper checks for slab refilling in map.
      x86_64: kernel: cleanup trailing spaces.
      x86_64: pmap: removed support code for mixed-size mappings.
      x86_64: cleaned up corner cases in pmap code.
      make mmu_aware vspace code support multiple page sizes.
      Added malloc test to check whether large page magic works.
      Added remapping functionality for malloc.
      vspace_mmu_aware: fixed edge case in assertions.
      x86_64: pmap_map: Fixed size check to actually work for sizes >4GB.
      Fixed morecore_reinit() to properly not remap when unnecessary.
      Added Config.hs flag for morecore pagesize.
      Added command line arg for overriding default heap pagesize.
      Added test case to inspect processed argc/argv after libbarrelfish initialization.
      libbarrelfish: Refactored onthread init slightly.
      Clarified printfs in large page test.
      x86: pmap: Added debug output to has_vnode.
      large page test: improvements in output.
      x86_64: cleaned up large page code.
      mmu aware vspace: added sane fallback for basecn allocations.
      x86_64: kernel: cleanup of page table dumping.
      Merge large page support code.
      libbarrelfish: fix morecore heap with 1GB pages.
      Fix large page code so it compiles on 32bit / ARM.
      armv5: make cpu driver run again.
      x86_32: only allow larger page sizes for morecore when PSE enabled.
      armv7: fix #ifdef in paging_tlb_flush_range().
      harness: Add babybel4 to eth machines.
      distops: fix typos and small bugs in delete state machine.
      multihop: fix cap ownership tranfer over multihop channel.
      libbarrelfish: vspace_mmu_aware: fix frame_alloc() retry condition.
      Change default page size for morecore back to 4kB.
      Fix b51b15e: re-disable dispatcher in thread_mutex_lock* and thread_sem_wait().
      Update AUTHORS file according to commit authors.
      libvirtio: Fix error check in virtio_vq_host_poll().

Stefan Kaestle (1):
      Removed Shoal and Green-Marl from symbolic_targets

Zaheer Chothia (5):
      Disable -Wshadow for thcidctest
      posixcompat: fix incorrect destruction of pthread_cond
      thread: add support for one-time global initialization
      posixcompat: make pthread_once a wrapper over the version in libbarrelfish
      Duplicate definition of NAME_MAX macro

yauhenk (2):
      Build order fix
      Fix Null pointer dereference in the spawnd daemon.

More information about the Barrelfish-users mailing list