[Barrelfish-users] New Barrelfish Release
Simon Gerber
simon.gerber at inf.ethz.ch
Fri Jun 10 13:06:39 CEST 2016
Dear all,
We are pleased to announce a new release of the Barrelfish OS. Along with
various bug fixes, this release includes an overhaul to Barrelfish's
capability system, improvements to the IRQ handling to provide better
foundations for interrupt allocation and routing and an updated version of the
ECLiPSe CLP complete with support for big integers.
The capability system overhaul introduces range capabilities for memory
regions. These range capabilities remove the power-of-two restriction on
region size and the necessity of always retyping all of a source capability
when wanting to create a capability to a subregion of the source region. The
user-facing impact has been kept minimal and there are some subsystems that
still expose the old power-of-two only interface, most notably the memory
server.
As always, you can get the latest version by cloning or pulling from our
git repository [1].
Cheers,
-- Simon
[1] git://git.barrelfish.org/git/barrelfish
---
Adam Turowski (1):
Adding an option to warn about comparisions that are always true or false.
David Cock (7):
ARMv8 tech report
Rerun pdflatex in more cases.
ARMv8 report looking good up to S3.1
ARMv8 report S4.1 (user-space threading)
ARMv8 report is content complete.
ARMv8 report formatting fixups.
ARMv8 report bib fixes
Lukas Humbel (36):
IRQ: cap stubs
IRQ: Started on the local/driver side. Not a working state.
IRQ: rename pci interface get_cap to get_bar_cap. remove (soon to be) unnecessary device_init params
IRQ: dont pass nirqs
IRQ: work in progress on receiving side
IRQ: getting pci_client closer to using new interface
IRQ: added IRQVector cap
IRQ: changed kernel to use irq_dest_cap table with IRQVector caps
Added ACPI_SERVICE_DEBUG to Config.hs.template
IRQ: Making the code actually work. ACPI interface
IRQ: added irq source capability and make the inthandler setup use it
IRQ: Found bug, added assertion
IRQ: Now using (again) a table of ep caps for dispatch and a bitmap for allocations.
IRQ: refactoring caps names
IRQ: ARM invocations added
IRQ: added invocations to x86_32
IRQ: added support to X86_32 kernel
IRQ: bugfix (no index variable shadow)
lpc_timer: Fix for multiple clients
IRQ: Correctly setup pci device interrupts
T89: Better ACPI debug output
T89: Added a test to test PCI interrupts using e1000 card
T89: Discover PCI IRQ Routing tables using correct bus number.
T89: Discover and disable all PCI link devices on boot.
T89: Dont swizzle pins when doing the PIN lookup.
T89: irqtest output improved
T89: Add irqtest to harness
Fixup
GMP: Add escaping to CC argument. Allows to use compiler prefixes in Tools.hs (such as ccache/distcc)
ACPI/PCI: Improved output
T89: ACPI path names can be longer than 16 chars.
T89: Improve irqtest
T89: Revert irq_routing.pl to swizzling one
T89: Make missing ACPI bridge entry non fatal.
Add appenzeller to machines with broken bridge programming
T89: Reverting (again) the first version of the routing algorithm
Michael Quigley (1):
Bug fix for thc_async
Moritz Hoffmann (70):
Squashed 'usr/eclipseclp/' content from commit f5ce146
Merge commit 'a036c989e56a595268f21b830de60af7fc0f433a' as 'usr/eclipseclp'
eclipseclp/Kernel: start with default config.h
eclipseclp/Shm: add default config.h
eclipseclp/Kernel: Add Hakefile
acpi: main(), check skb_client_connect return value
eclipseclp: update Hakefiles
eclipseclp: Fix array overflow bug
eclipseclp: update config.h
eclipseclp/sepia: initialize vfs on Barrelfish
eclipseclp/Shm: add config.h
eclipseclp: Source changes to satisfy compiler.
skb: eclipseclp deprecated flush(1) in favor of flush(output).
skb: improve debugging
kaluga: Fix string formatting in debug code.
acpi: Use USER_PANIC_ERR instead of assert.
skb: Update Hakefile to link skb against new eclipseclp.
posixcompat/sysconf: Print warning when executing unknown sysconf command.
eclipseclp/icparc: use system regex implementation instead of local.
Barrelfish: Update copyright notice in README.
posixcompat/sysconf: Update copyright.
acpi: Update some copyrights.
kaluga/driver_startup.c: Add missing copyright notice.
skb: Update copyright notices.
skb: Disable debugging.
eclipseclp: Update copyright notice.
platforms: Update copyright notice.
eclipseclp: Disable bash debugging for mkcpio.
eclipseclp + toosl: Rename eclipse_kernel_ramfs to eclipseclp_ramfs.
skb: Use new Shm library.
gmp: Add Hakefile.
eclipseclp: Link against gmp.
skb: Link against gmp.
hake: Define INSTALLDIR, ABSINSTALLDIR, ABSSRCDIR, ABSBUILDDIR in Makefile
hake: Add compiler function to RuleDefs.
eclipseclp: Extract SIZEOF_* definitions into header file.
eclipseclp: Prepare for x86_32 and arm
skb/measurement: Correct dependency on schema/cpuid.h
gmp: Generalize Hakefile not to have non-portable dependencies.
eclipseclp: Transfer old flags.
eclipseclp: Correct dependency on gmp.
eclipseclp/Shm: Use sizes.h instead of defining sizes in Hakefile.
eclipseclp/Shm: Assemble lock.S to enable x86_32 compilation.
menu.lst: Include eclipseclp_ramfs.cpio.gz
Merge branch 'eclipseclp'
harness/spantest: Fix imports. Fixes T217.
gmp: Add missing architecture translations.
compiler-rt: Define __ARM_EABI__ on 32-bit arm targets.
compiler-rt: Exclude *vfp files from build on arm.
compiler-rt: Initialize variables to avoid GCC complaining.
hake: Remove -lgcc on arm targets. Add compiler-rt to stdLibs.
gmp: Rework Hakefile to allow cross-compilation.
eclipseclp, gmp: do not build on armv5
hake: Remove libgcc dependency from kernel. Use compiler-rt instead.
hake: Remove libgcc from standard libs.
gmp: Improve CFLAGS sanitization be only removing link group from CFLAGS after configure.
symbolic_targets: cleanup cpio archives.
drivers/xeon_phi: Do not depend on if/monitor_defs.h.
hake: Add Abs RuleToken to refer to resources using their absolute path.
gmp: Refactor to produce rules instead of directly evaluating to strings.
hake: Remove unused definitions in Makefile.
compiler-rt: Do not compile arm/sync_fetch_and_* and arm/switch* on armv5.
compiler-rt: fix path for armv7 assembly files
hake: Add rules to get external dependencies.
hake: Remove 'abs' special tree and replace it by 'cache'
harness: Fix Config.hs generation by including cache_dir.
hake: Change default cache dir to $HOME/.cache/barrelfish.
hake: Show --cachedir option in help. Add --help argument.
compiler-rt: Move Hakefiles from root directory down the tree.
compiler-rt: Do not assemble MMX instructions on k1om.
Reto Achermann (3):
making K1OM_Full build again
fixing undefined global in spantest-exit. closes T220
libgmp: remove dependency to libbarrelfish
Simon Gerber (81):
T191: change PhysAddr, RAM, Frame, DevFrame and VNode_* cap types to have size in bytes
T191: x86_64: frame_identify returns size in bytes
eclipseclp: add sizes.h definitions for aarch64
Cleanup bugs exposed by -Wtype-limits.
x86_32: fix nonsense comparisons
hake: thc: make <ifn>_thc.c depend on <ifn>_defs.h
x86_64: irq vector allocation: simplify looping over KCBs and fix loop to check in right kcb
scalebench: add option to produce junit xml output
harness: fix code that generates TestCase objects
harness: xml file now called report.xml
harness: testcase output: join output lines instead of dumping array repr
harness: xml: fix stdout processing and ordering of debug output in main()
harness: fix output preprocessing
harness: produce xml output (if requested) on early exit
harness: xml: do not use <build>.<machine> as class name
harness: xml: put class name back in to make result listing look less dumb
harness: replace non-printable characters in output using unicode()
harness: split up compiler-rt tests in more testcases
harness: Fix error reporting
harness: fix error reporting some more
harness: fix error reporting
harness: dynamically generate "enough" compiler-rt test cases
armv7-m: fix missing bits in posixcompat, compiler-rt, and Config.hs.template
harness: Remove x86_32 from buildarchs for x86_64 ethz machines.
armv7-m: port mapping capability changes
Squashed changes of e89aa91..6ca6bdf (master as of 2016-04-18).
T191: Implement prototype for new retype
harness,qemu wrapper: Make harness use qemu wrapper script for x86_64
qemu-wrapper: Fix typo in default hd file
T191: fix wrong command in invoke_cnode_retype2, and add some more output in kernel code
Implement identify command for ObjType_RAM
T191: add testing for new retype code; not complete
T191: fix test output to describe tests more accurately. Not all implemented yet
T191: simple range check to allow non-overlapping retypes from same region; updated test retype2.0
T191: Fix missed renaming of test
T191: retype2: more testing of simple success cases
T191: fix simple test
T191: fix retype2 for overlapping requests + tests for overlap
T191: comment arg dumping for retype2 and add comment about retype + copies of src
T191: add tests delete+retype and misaligned size and offset
T191: rearrange check in kernel, do easy checks first; check that we cannot create objects larger than source
T191: fix missing arg in cap_retype2()
T191: fix wrong error
T191: call invoke_cnode_retype2 with count = 0 from cap_retype()
T191: update monitor capops retype
Fix cap tracing static assert
T191: write multi retype test and add test_retype2 in platforms/Hakefile
T191: Fix zeroing for !(type == Frame)
T191: add warning about use of old retype
T191: minor changes to retype2 test output
T191: remove old caps_retype() code from kernel
T191: kernel: add debug prints about zeroing
T191: change all of user space to call new retype directly; turn off count = 0 behaviour in kernel
T191: T231: rename caps_create->caps_create_old and caps_create2->caps_create
T191: T231: caps_create_new() now takes region and object size in bytes
T191: User space works again with reduced set of provided capabilities.
T191: python script to generate dot file to plot mdb from output of mdb_dump_all_the_things()
T191: x86_64: refactor retype2 back to retype
T191: rename testsuite from caps_next to capops
T191: aarch64: implement invocations and related changes for range capabilities
T191: cleanup comments and some TODOs
vspace_pinned_alloc: dump errors so that we get full error stack
harness: add build type for armv7 gem5+debug symbols
T191: aarch64: fix monitor invoke_retype
T191: armv7: refactor code to use range retype and bytes-based identify
gem5: Fix menu.lst.arm_gem5_mc to set mmap to 256MB starting at 0x0.
T191: remove commented-out cap splitting in caps_create_to_cnode
T191: init: use mm_add_multi in initialize_ram_alloc()
kernel: paging_generic: compile_vaddr: handle case where we find something that is not a VNode properly
T191: x86_64: make it compile again
T191: xeon_phi: Update driver to use new API and minor fixes in driver
Remove unneeded printk() in kernel/startup.c
T242: handle FLOUNDER_ERR_TX_BUSY in usr/monitor/capops/copy.c
T242: handle FLOUNDER_ERR_TX_BUSY for all capops
T238: change kernel to use new vnode_objsize() when appropriate
T238: fix vnode_objsize() to not use BASE_PAGE_SIZE but 4096
T238: fix renaming mistake
Merge branch 'caps_next'
harness: fix buildall target to be configurable on a per-machine basis
irqtest: fix frame_identity init
Merge GitHub PR1.
More information about the Barrelfish-users
mailing list