[Barrelfish-users] New Barrelfish Release
Simon Gerber
simon.gerber at inf.ethz.ch
Fri Dec 23 12:22:09 CET 2016
Dear all,
We are pleased to announce a new release of the Barrelfish OS. Along with
various bug fixes, this release includes a new in-kernel system time
interface, a new device queue interface, and improved support for ARMv8.
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 (8):
systime: introducing system time based on time stamp counter/global timer, removing kernel_now
systime: adding support for A15 (broken for the moment)
systime: complete remove of kernel_now from x86_64
systime: correcting includes
systime: fixing timers on A15
systime: reverting to a RTC-based calibration on x86
idctest: increasing a waiting time
linenoise,fish: failsafe if a terminal width detection goes wrong that could lead to a crash
David Cock (1):
Comments in the scheduler interface, from code walkthrough.
Kosyrev Serge (19):
hake.sh: use /bin/sh
git: ignore more editor temporary files
hake: GHC.Paths.libdir can be unreliable: use 'ghc --print-libdir' instead
hake: now buildable with ghc8
build: Nix environment
newlib | barrelfish: provide __stack_chk_fail (fixes build)
kernel: provide __stack_chk_fail (fixes build)
elver: provide __stack_chk_fail (fixes build)
gmp: avoid using absolute paths except /bin/sh
qemu-wrapper.sh: switch to /bin/sh
hake: do not call 'echo' by absolute path
debug.sh: switch to /bin/sh
qemu-wrapper: /bin/sh fixes
qemu-wrapper: use a portable signal specification for trap
hake.sh: /bin/sh portability fixes
nix: add cpio, qemu and gdb, to finalize the environment-independence
build | curl: do not verify certificates for the GMP download
hake: /bin/sh portability fixes
nix | testing: add pythonPackages.pyexpect
Moritz Hoffmann (168):
aarch64/apm88xxxx: Correct GIC CPU and DIST addresses
aarch64: Make generic timer initialization platform independent
aarch64: remove incorrect assertions for invocations
aarch64: return initial platform info for VM-based platforms
qemu: use gdb-multiarch for x86_64 and aarch64 debugging
tools: Set architecture in gdb files.
qemu/aarch64: Only create EFI files if required
qemu: Print command to be executed in all cases
qemu: remove x86_32 support
barrelfish_kpi/platform: Add APM88xxxx, remove TMAS
kernel/armv8: Remove platform directories as they are not needed anymore
kernel/armv8: Cleanup debug output
kernel/armv8/apm88xxxx: Implement platform_get_info
kernel/armv7: Remove obsolete omap_usb.c file
kernel: Use common app_alloc_phys and bsp_alloc_phys on all archs
barrelfish/core_state: Remove unused track_frames code.
barrelfish_kpi: Use different include guards
kernel: Unify kernel logging infrastructure
kernel/arm: Move armv7-specific dispatch.c to correct location
kernel: Factor common constants for init on armv7 and armv8
kernel/armv8: Ensure physical memory is page-aligned
kernel/armv8: rename arm_core_data struct to armv8_core_data
kernel/armv8: Rename armv8-specific INIT_* defines to ARMV8_INIT_*
kernel/armv8: Correct spawn_{app/bsp}_init function signatures
kernel: Include logging.c in boot drivers
kernel/armv8: Remove redundant defines from startup_arch.h
X86_64: Force static linking for binaries
ARMv8: Do not include build-id in kernel binary
kernel/multiboot2: Correctly use size parameter for finding next header
kernel/multiboot2: Remove glbl_core_data variable
barrelfish_kpi/armv8: Remove unused struct definitions
elver: Force static linking
harness: prepare for armv8
harness: Use hagfish.cfg as boot config name on armv8
harness: Correct indentation. Space-only change
harness: Introduce Scalebench and Harness classes
harness/scalebench: Print tests in sorted order (-L)
harness/monitortest: Correct indentation. Space-only change
harness: Use proper machine factory classes to create machine obejcts
kernel/logging: Change default log level to LOG_NOTE
harness: Turn into proper Python module
harness: Add EFI image tool to create EFI disk images
scalebench: Only write xml report once
scalebench: Fix listing machines and diagnostic output
scalebench: Improve error reporting when exceptions are thrown in a test
harness/FVP: Do not redirect error output to /dev/null
harness/FVP: Add ARMv8 FVP machine booting from EFI
harness: Remove kludges from menu.lst generation
harness: Remove unused code
harness/builds: Do not clobber os.environ but rather work on copy
kernel/logging: Convert defined constants to enum
kernel/pl011: Map kernel virtual address of device if MMU is enabled
kernel/armv8/sysreg: Add wrappers for more registers
harness: fix add_kernel_arg by changing it to only taking iterables
harness: Move default_bootmodules to Machine class
harness: Refactor ETH machines to use object variables instead of shared machine dict
harness: Remove support for $BUILD in test module names
harness: Split machine operations into MachineOperations class
harness: Make Machine class configurable in constructor
harness: Fix qemu tests
harness: Update gem5 tests
harness: Gracefully fail test if get_output returns None
harness: Add machine parameter validation before machines are created
harness: Change machine create parameters from dict to kwargs
harness: Better error message for unknown machine parameters
harness: Use self._name instead of self.name
harness: Fix force_write to forward to machine operations.
harness: Remove shadowing methods from ETHMachineBase
Revert "kernel/pl011: Map kernel virtual address of device if MMU is enabled"
schedsim: Compatibility to systime changes
barrelfish_kpi/aarch64: Fix compilation by using correct include
solarflare: Correct device/if includes
armv8/kpi: Correct include
libbarrelfish/systime: Include more specific header
barrelfish_kpi: Add FVP platform
kernel/armv8: kernel_timeslice is not unsigned long, fix argument parsing
kernel/armv8: More timer implementation. Also align with systime-changes
kernel/armv8: syscall.c depends on systime.h
kernel/systime: Include more specific header
crt: Change static ctors array to volatile to disable GCC 6 optimiazations
kaluga: Properly support ARMv8 platforms
barrelfish/systime.h: Need to include kpi/unknown_arch for rdtsc on arm
hake: Generate $arch_All target that compiles all binaries for an arch
barrelfish_kpi: Add unknown_arch.h to x86_64 although it is empty
barrelfish_kpi: correct includes for rdtsc on x86_64
systime: Correct includes
harness: Update netos FVP path
harness/fvp: Do not override get_output
harness/fvp: Initialize FVPMachineEFI correctly
harness/fvp: Use correct kernel_img property for EFI machines
harness/fvp: Use UEFI firmware on netos share
harness/fvp: Output to stdout (unbuffered)
harness/fvp: Disable configuring telnet port as it's not used
harness/fvp: Do not open a window for second uart
harness/fvp: Add more EFI machine targets
harness/fvp: Document where EFI firmware can be obtained
harness/fvp: Fix get_output for EFI machines because it doesn't use telnet
kernel/armv8: Fix console initialization
kernel/armv8: Read CNTPCT_EL0 for timestamp_read/systime_now
harness: Better error message if instantiating a machine fails
harness/pandaboard: Fix Machine implementation by passing parameters to super class
Fix T325: ETH rack Pandaboards should not use picocom
irqtest: Fix pass condition to what description says
libbarrelfish: Increase dispatcher stack to 8k
libbarrelfish: align dispatcher stacks to 16 byte
kernel/armv8: Fix timer initialization to properly initialize kernel state
kernel/x1om: Fix compile errors
harness/xeonphi: Fix test by using correct module directory
hake: GHC 8 compatibility
harness/fvp: Update DStream path to 5.26.0
mackerel: Add registerwise address space.
Initial ARMv8 device file with backing sysreg implementation
armv8: Default to static linking
armv8: Add ICC cpu register definitions
kernel/armv8: Add GIC v3 placeholder implementation
mackerel: Do not pass device pointer to registerwise address space functions
armv8: Add more register definitions
kernel/armv8: Use armv8 register definitions in efiboot_init.c
kernel/armv8: Read value from first instead of second parameter in sysreg.S
kernel/armv8: Return FVP platform for ARMv8 VM cpu drivers
kaluaga: cpu_count parameter to wait for n instead of all spawnd processes
harness: Add kaluga to default boot modules on ARMv8
kaluga: Do not try to obtain IRQ cap on ARMv8 because it is not implemented
hake: add menu.lst for armv8_a57_1
harness/fvp: Correct EFI image path, was duplicate
harness/fvp: Use correct module source path for building EFI image
harness/fvp: Increase boot timeout to 60s for EFI-based tests
harness: Replace reset_module with add_module
hake: $ARCH_All target needs to depend on targets in BuildTree
kernel/armv8: Print unrelocated kernel addresses for kernel faults
kernel/armv8: Move GIC initialization to platform-specific code
kernel/armv8: Remove debug leftovers from timers
kernel: Do not trigger breakpoint on kernel panic
devices/gic_v3: Initial device decscription
devices/giv_v3: Bug fixes
kernel: cpu_a57v depends on gic_v3
kernel/armv8: Add RAM::frameIdentify invocation implementation
hake: Add BFSrcTree tree type
hake: Scan . directory for Hake files
Revert "hake: Generate $arch_All target that compiles all binaries for an arch"
hake: Avoid prepending path with ./
hake: Generate Phony targets only for allowed architectures
hake: includeFile exports install_headers target
symbolic_targets: remove install_headers rule
hake: symbolic_targets is in hake/ instead of root install dir
hake: Make bin/lib directories configurable.
hake/symbolic_targets.mk: Move MAKEFLAGS and ruls for .c to Main.hs
install_headers: Update Hakefile for /include
install_headers: Create Hakefile for newlib libc/include
hake: Install required Hake source files to install tree
hake: Introduce dist_dir, a directory where the install_$PLAT targets install to
hake: Prevent certain path to be reduced to an empty string
hake: Generate install_$PLAT targets
hake: GHC output dir evaluated to /, corrected
hake: Generate clean targets from Hake
hake: Do not include symbolic_targets.mk
hake: Generate help, help-platforms-header and help-boot-header targets
hake: Remove rule for target hake/menu.lst
hake: Let help-* targets depend on their header rule
hake: Provide legacy target `install' for scalebench
hake/armv7: Force static linking of binaries
Revert "hake: Introduce dist_dir, a directory where the install_$PLAT targets install to"
hake: Use INSTALL_PREFIX variable for install targets
schedsim: Re-create targets originally found in symbolic targets
harness: Allow the same module to be listed several times in boot modules
tools/run-pdflatex.sh, docs: Allow Latex files to use the \include command
kernel/plat_apm88xxxx: Correct gic_cpu_interface_enable function signature
hake: Re-create Doxygen target
Reto Achermann (2):
armv8/hake: use of gcc/g++ instead of gcc-5/g++5
adding simple TFTP read test
Roni Häcki (78):
Merge remote-tracking branch 'origin/toolchain1604' into device_queue
DeviceQueues: Small changes to interface and Adding empty c functions
DeviceQeues: Implemented memory region pool management
DeviceQueues: extended region pool managment to return fixed size buffers of regions
DeviceQueues: interface changes and renaming
DeviceQueue: moved queue state from .h to .c
DeviceQueue: added descriptor queues
Merge branch 'master' into device-queue
DeviceQueue: Change to interface
DeviceQueue: removed code for fixed size memory allocation
DeviceQueue: first try to keep track of used buffer ids
DeviceQueue: Added device queue errors
DeviceQueue: added new errors
DeviceQueue: keeping track of buffer ids should work
DeviceQueue: devif flounder interface
DeviceQueue: pushed descriptor queue to desc_queue.c
DeviceQueue: shared memory queue implementation
DeviceQueue: Started queue and channel setup
DeviceQueue: Channel setup callbacks and empty functions
DeviceQueue: Setup working, create reponse pagefaults on response (RPC broken?). Will now change to async messages instead of RPC
DeviceQueue: Change to async messages
DeviceQueue: Changed descq init
DeviceQueue: forgot to add queue_interface.c
DeviceQueue: removed net/block init
DeviceQueue: Register working
DeviceQueue: Passing from user to device working
DeviceQueue: Enqueue/Dequeue of descriptors now bidirectional
DeviceQueue: deregister call working.
DeviceQueue: test and dummy device added
DeviceQueue: Keeping track of regions on both sides
DeviceQueue: keeping track of buffers on both sides
DeviceQueue: devq_control working
DeviceQueue: sending back error from flounder handlers
DeviceQueue: Direct interface, create/register/enqueue working
DeviceQueue: Direct functions working
DeviceQueue: fix for buffer id in enqueue
DeviceQueue: Loopback device functions implemented
DeviceQueue: forwarding working up to other endpoint, way back not yet
DeviceQueue: Forwarding working
DeviceQueue: control forward working
Merge branch 'master' into device-queue
DeviceQueue: Split up Data and Control plane into two channels
DeviceQueue: Creation of forwarding queue changed
DeviceQueue: Test changed to test forwarding functions only when flag is defined
DeviceQueue: Solarflare driver added
DeviceQueue: Solarflare driver removed mac stats cap transfer
DeviceQueue: Direct Solarflare queue implementation
DeviceQueue: Solarflare backend fully implemented
DeviceQueue: Solarflare user level queues receive working with 4k buffers
DeviceQueue: Solarflare user level working with buffer sizes < 4k.
DeviceQueue: small bug in test fixed
DeviceQueue: renamed include/devif/sfn5122f_devif_direct.h
DeviceQueue: changed signature of setup
DeviceQeueu: addes some soalareflare error
DeviceQueue: solarflare normal queue creation working
DeviceQueue: implemented rest of functions for normal solarflare driver
Fixed bug in test
DeviceQueue: Restructering library parts intermediate commit
DeviceQueue: added callback to solarflare create
DeviceQueue: Solaflare queue destroy added
DeviceQueue: Added flounder interface for IDC backend
DeviceQueue: Implementation IDC backend
DeviceQueue: remove old loopback header
DeviceQueue: added functionality to keep track of buffers/regions
DeviceQueue: IDC backend one way working
DeviceQueue: Fixed setup bug
DeviceQueue: IDC backend working
DeviceQueue: Some cleanup
DeviceQueue: more cleanup
DeviceQueue: fixed bug in solarflare backend
DeviceQueue: increased number of buffers used in test
DeviceQueue: bugfix in solarflare queue destroy
Fixed bug in test
Merge branch 'device-queue' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into device-queue
Merge branch 'device-queue'
Removed old queue interface header file
Solarflare driver header fix
AHCI always failing assertion removed
Simon Gerber (31):
harness: pandaboard: build right image file and remove unused function
armv7: kaluga, startd: enable proper waiting on all_spawnds_up
armv7: handle VNodeCmd_Identify
x86_64: kernel: fix handle_vnode_identify to not do superfluous switch on objtype
harness: armv7 fvp: add 4 core machine
harness: compiler-rt: factor vector FP tests into their own testcase as we do not have VFP support on ARMv7
armv7: kaluga: remove commented out code which manually sets all_spawnds_up
armv7: zynq7: manually set all_spawnds_up as we do not seem to be able to boot the second core yet
kaluga: remove debug printf
harness: compiler rt: fix VFP test
harness: pandaboard: powercycle rack pandaboards after sending boot command
Revert "harness: pandaboard: powercycle rack pandaboards after sending boot command"
ump_bench: num_cores in main.c is number of spawned clients, so we wait for num_cores answers
harness: compiler rt: fix vector fp test again
harness: exit with non-zero when tests fail
libmdb: add argument sanity check in mdb_is_inside()
kernel: retype: more diagnostics on retype range checks
capabilities: make mapping caps size 1 (from 0) so they do not mess up mdb_range_query()
libbarrelfish: memobj_anon: return error if frame_identify fails
acpi: osglue: improve and simplify AcpiOsMapMemory and AcpiOsUnmapMemory
libbarrelfish: make cap deletion in memobj_destroy_anon() optional
acpi: map/unmap: always call mm_realloc_range() for all pages when a partial mapping exists for request
libbarrelfish: memobj_anon: fill: refill slab allocator when one slab left
libspawndomain: elf_allocate: remove wrong(?) vspace_lvaddr_to_genvaddr()
acpi: Backout changes to acpica_osglue code.
libbarrelfish: memobj_anon: change refilling flag to be per memobj
libbarrelfish: vspace_pinned_alloc: acquire lock nested, as we can recurse back into here through memobj->fill
libbarrelfish: memobj_anon: fix vregion slab refilling
harness: Remove old pandaboard buildall harness test
Merge GitHub PR#3.
harness: armv8 efi machine: fix boot module list extraction
More information about the Barrelfish-users
mailing list