[Barrelfish-users] New Barrelfish Release

Lukas Humbel lukas.humbel at inf.ethz.ch
Mon Mar 23 10:23:43 CET 2020


Dear all,

We are pleased to announce a new release of the Barrelfish OS.

The big topics were:
 * User-space driver management, including the unified device queue framework
 * Support for the NXP iMX8X SoC, which also improved overall ARMv8 support
 * Simon Gerber's new memory subsystem

The new release is available in our git repository [1].

Cheers,
Lukas 

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


Adam Turowski (17):
      mlx4: a working driver
      armv8: fixing the Multiboot2 structure
      armv8: adding a missing path
      armv8: another missing path
      Fixing some debug messages
      armv8: adding a missing LMP_FLAG_IDENTIFY flag to invocations
      Merge commit 'dde1627a841d'
      armv8: EFI Barrelfish loader
      armv8: generalizing the interrupt controller
      armv8: initial Raspberry Pi 3 support
      armv8: adding QEMU UBoot machine (qemu_armv8_uboot_*) to harness
      arm: GICs cleanups
      qemu: adding a custom QEMU_EFI.fd to speed up booting
      systime: adding a relative timeout function
      arms: unifying interrupts, timers and platform data
      hpet: adding a missing flounder binding
      hpet: fixing dependencies

Aya Kayal (3):
      armv8: Fix idcap_identify syscall
      reading characters from lpuart
      serial lpuart driver (reading characters and sending them to the shell)

Changyeon Jo (5):
      vmkit: add support for Intel Pentium processsor to VMkit
      kaluga: a bug fix for lpc_timer
      kaluga: investigate all arguments to check the module is auto
      vmkit: use new style for guest frame allocation
      vmkit: added delay at VMkit monitor startup to wait required modules

Daniel Schwyn (76):
      First implementation of new AST for Sockeye parser
      Sockeye: New Parser parses top level structure
      Sockeye: Implement declaration parsing
      Sockeye: Fix natural set model and parsing
      Sockeye: Parse declarations & definition skeletons
      Sockeye: Parse address blocks in accept
      Sockeye: Implement expression parsing
      Sockeye: Implement overlay parsing
      Sockeye: Implement binds parsing
      Sockeye: Implement maps & converts parsing
      Sockeye: Fix qualifed node reference parsing
      Sockeye: Add source position to AST
      Sockeye: Code cleanup in parser
      Sockeye: Move code for compiler v1 to subfolder
      Sockeye: Build symbol table for top level
      Sockeye: Build whole symbol table
      Sockeye: Add back compiler pipeline
      Sockeye: Implement import parsing and resolution
      Sockeye: Build symbol table with imports
      Sockeye: Move files for new compiler to v2 dir
      Sockeye: Move old code to v1, Hakefile for new code
      Sockeye: Fix slice operator
      Sockeye: Do not allow multidimensional quantifiers
      Sockeye: Update technote
      Sockeye: Update technote with checks
      Sockeye: Start implementing checker
      Sockeye: Add files for rest of compiler pipeline
      Sockeye: Add extended syntax example to technote
      Fix extraneous argument in ARMv7 LMP macro
      ARMv7: Map all init frames shareable (coherent)
      hake: Makefile depends on hakefiles again
      armv8: Fix dependencies for building images
      armv8: Fix naming of multiboot functions
      armv8: Remove Grub artefact from multiboot2 header
      armv8: Improve handling of multiboot info
      armv8: Kernel expects core data also on BSP
      armv8: Don't overwrite core data passed by bootloader
      armv8: Start cleaning up static EFI bootloader
      armv8: Add debug output for boot driver on QEMU
      armv8: Fix booting from U-Boot
      armv8: Refactor EFI loader
      armv8: EFI loader now builds fresh kernel page tables
      armv8: EFI loader sets correct memory attributes
      armv8: existing image blob is cleared
      armv8: Fix module relocation for static EFI images
      armv8: Fix include paths in EFI loader
      armv8: Only 3G RAM for U-Boot on QEMU
      armv8: Disable debug prints in boot driver
      Update Hagfish to latest version
      Add lpuart kernel driver
      Add imx8x platform
      Add serial support for imx8x in boot driver
      Strip down imx8x image to boot/CPU driver for now
      Get rid of serial driver assembly in boot_entry
      Fix platform support for imx8x
      Improve lpuart kernel driver
      armv8: Stop debugging imx8x in boot driver
      imx8x: Fix lpuart Mackerel file
      proc_mgmt: Fix race condition
      armv8: Support no access page mappings
      armv8: Fix modify paging flags
      armv8: Pass correct page fault cause
      armv8: Fix abort when disabled handling
      armv8: Improve readability of register restoration code
      libbarrelfish: Store thread state at aligned address
      Benchmarks: Make Appel/Li compile on armv8
      armv7/8: Don't include armv7 headers in shared code
      imx8x: Fix description of usb boot target
      imx8x: Fix description of imx8x platform
      armv8: Remove duplicate armv8 qemu target
      docs: Fix Hakefile comment
      armv8 tools: Static bootloader passes full cmdline
      armv8: Add missing GIC Mackerel devices to Hakefile
      imx8x: Return correct core count in kernel
      imx8x: Add Mackerel definition for GPIO
      imx8x: Better use of U-Boot env variable for boot

Gerd Zellweger (35):
      Expose stack_top address in thread API.
      Increase sbrk HEAP size.
      Increase sbrk memory size.
      kernel,x86_64: make sure page-mapped page tables are never writeable from user space.
      Example program that can map it's own pagetables RO.
      Trying to map PML4.
      Update vnode-as-page mapping test to work with new vnode_identify().
      Allowing to clear dirty bits from user-space and rewrite page table test
      Added cap invocation that clears the dirty bits.
      Move some invocations into libbarrelfish.
      Dirty bits.
      Fix bug.
      Added base.
      Remove print.
      Save the type of the vnode cap in the user-space vnode struct.
      Fix include error.
      Update test programs for pagetable manipluations.
      Expose sbrk memory objects to interested clients.
      Add some sanity checks to the sbrk functions.
      Added vaddr for frames in pmap.
      Expose offset and base again.
      Serialize additional vnode information.
      Working on a vnode array of the heap.
      Increase vnode list.
      Fix assertion.
      sbrk time measurements.
      Fix assertions with NDEBUG.
      Measure sbrk tickwise.
      kernel,libbarrelfish: Add debug syscall for flushing the TLB.
      Make sure mmap is aligned, use new flags for explicit page-sizes.
      Ability to set page-size to two MiB.
      Modify apple&li to be able to use hugetlbfs.
      COW Benchmark initial commit.
      COW main benchmark.
      Update benchmark with Linux/fork code.

Github Security Lab (1):
      `vallen` is verified to be less than `len`, therefore, it can never be the case that `vallen >= len + sizeof(rhostname)`.

Kornilios Kourtis (5):
      import original appel benchmark
      mem_appel: modernize it a bit (misc/whitespace)
      xmpl-cow: add minor note
      mem_appel: initial port to Barrelfish
      kernel: dont print message on user page faults

Lukas Humbel (216):
      Starting the Prolog backend for sockeye2
      Sockeye: Improving on Prolog output
      Sockeye: instantiating modules with (no outputs yet)
      Sockeye: Handle output nodes
      Sockeye: Update technote
      Sockeye: Forall quantifier
      Sockeye: technote example
      Sockeye: cleanup
      Sockeye: Simple x86 model with runtime manipulation
      Sockeye: Add address properties to address blocks
      Sockeye: Add resolve function
      Sockeye: Make PL queries treat node overlay correctly
      Merge branch 'sockeye' into virtualfunction
      Sockeye: load x86 decoding net on kaluga start
      Sockeye: Add region query to decoding_net2
      Sockeye: Make real world resolve region work
      Sockeye: Reserver certain regions and allocate free ones
      Sockeye: Add some logic for block remappable and generate PTs from it
      Sockeye: Working on region route
      Sockeye: First version of common buffer query working
      Sockeye: Speedup and cleanup
      Start of integrating the model supported memory allocator
      iommu: add nodeid to getvmconfig call
      iommu_client: Pass nodeids to mem_serv
      Sockeye: Initialize DRAM with available memory
      mem_serv: Move allocate_common into iommu_client
      Sockeye: Correct order for initialization
      Sockeye: Mark regions in use
      Sockeye: adapting towards iommu_client interface
      iommu: Use queries to determine buffer
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      iommu: fix alloc_root_vnodeslot
      iommu: make driverkit work without an iommu
      Sockeye: Support destination ID in alloc_common query
      Sockeye: Fix output
      Sockeye: Start with explicit state decoding net
      Sockeye: Working on next iteration of the prolog
      Sockeye: Add state to more variables
      Sockeye: add region_region_intersection
      Sockeye: Make decoding_net representation one dimensional
      Sockeye: Porting PCI bars to new decoding net
      Sockeye: decoding step with overlapping regions
      Sockeye: Integrate new decode step into routing
      Sockeye: Routing for consecutive blocks
      Sockeye: Next iteration
      Sockeye: Add some more stuff to new file
      Sockeye: Add translate for reconfigurable nodes
      Sockeye: Add configurable translate
      Sockeye: Add routing
      Sockeye: Decoding net allocate free range
      Sockeye: Update region_alloc
      Sockeye: Add alloc and alias frontend queries
      Sockeye: Add BF interface support for new decoding net
      Bridge programming: Speedup
      Sockeye: Support variable observer count in prolog
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      Integrate new model queries
      Integrate new model interface part 2
      Sockeye: Prolog fixing
      Retry on oct_mset and cleanup some model instantiations
      Fix bridge_bios programming method
      Sockeye: Make offset smaller pagesize. Allocation speed
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      Fix SKB query syntax, add decoding_net debugging
      Sockeye: Remove structs from prolog
      driverkit: better handling of node ids
      Sockeye: Allow vspace alloc in other foreign nodes
      driverkit: 1G align allocations so that mem serv can always handle the request
      Sockeye: Remove state file fixup
      Sockeye: Remove state file fixup 2
      Sockeye: "optimize" search order
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      Sockeye: Add Xeon Phi
      Sockeye: Mark pci vaddr in use.
      Sockeye: Fix PCI vaddr in use.
      Sockeye: Make it work for xeon phi + xeon_phi alias query
      Sockeye: Integrate Xeon Phi address translation query
      Use debug print in assertion failure
      Hack: Only add interesting PCI model nodes
      Sockeye: Fix new state representation
      Sockeye: More fixes for new state encoding
      Sockeye: Fix for new state
      Sockeye: More fixes for new state
      Sockeye: Try to start DRAM at 16GB + various fixes
      Sockeye: Fix knc hwmodel query
      Sockeye: Translate blocks that are a subset of translateable blocks
      Make hwmodel work somewhat
      Sockeye: Respect in_use in intermediate route steps
      DMA: integrate hwmodel conversion into more places
      Sockeye: Fix numbers. translate (no conf) respect sub-blocks
      Remove hack
      Sockeye: Make bars start at 0
      Sockeye: correct bar addressses
      Try if optimizations get in our way
      More fixes
      Revert some tries
      revert some tries
      Sockeye: Add reverse resolve wrap query
      Sockeye: Add reverse resolve func
      Sockeye: move xeon phi special cases to xeon_phi hwmodel
      Sockeye: Debug print hwmodel queries
      Sockeye: Print all the model queries
      Sockeye: Another try
      Sockeye: Speed optimizations
      Sockeye: Integrate queries
      Sockeye: Remove hardcoded xeon phi hack. Add XPHI DMA node
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      Sockeye: capture more queries in debug output
      Sockeye: Speedup
      Sockeye: Again, make things go fast(er).
      Start with re-work
      flattening
      Sockeye: Add alloc
      Sockeye: Cleanup, move asserts out into support
      Sockeye: Implement map
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish into virtualfunction
      Sockeye: Add tests
      Sockeye: Multiple conf nodes
      Sockeye: Resolve Dst first in map command
      adapt query wrappers
      Sockeye: fix add_pci support
      Sockeye: add add_process test
      Sockeye: Don't use negative numbers for empty region
      Sockeye: correct xeon phi defs
      Sockeye: process overlay pcibus, not dram
      Sockeye: Add Benchmarks
      Fix prolog
      Sockeye: Remove backtracking point in decrement avail
      socs: correct knc sockeye
      Sockeye: Remove bt points in sockeye
      Sockeye: Fix state_remove bug and tests
      Sockeye: Add test wrapper function
      Sockeye: Benchmarks
      add some VM functions
      Sockeye: Add free
      Fix for parsing with p2i
      Sockeye: Start with unmap
      bar programming fixes
      Fix p2i error
      Sockeye: towards unmap
      Sockeye: Bugfix
      Sockeye: Implement unmap
      Sockeye: make add_pci respect new map assumptions
      Sockeye: More unmap integration
      virtualfunction: fix kaluga build for armv8
      Merge branch 'master' into virtualfunction
      Sockeye: quick fix for generating documentation
      README adapt to u18.04 and general update
      hpet source code cleanup
      hpet: remove race, clean kaluga start_hpet
      HPET: Work on modularized hpet driver
      HPET: starting simple comp module
      hpet two part driver
      HPET fixups
      Merge branch 'hpet_driver'
      hpet: dependencies to domain
      armv7: Move distributor driver to userspace
      armv7: enable timer in kernel
      armv7: Correct name PL130 to PL390
      ARM: Fix kernel IRQ debug printf
      Turn serial driver into module and fix userspace GIC
      armv7: remove gic dist debug
      armv7: dist and serial: fix races
      remove debug prints
      turn serial pc16550d into module
      armv7: Enable serial driver on pandaboard
      armv7: Disable CPU reading cpu count from GIC
      Merge branch 'armv7_irq_debug'
      hake: correct lib dependencies on linking
      armv8: fix boot into qemu with make target
      Merge branch 'master' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
      hake: enable library dependencies on all platforms
      hake: Make proper use of lib dependencies
      hake: Ensure correct symbols get linked
      pci: add missing flounder dependency
      import Sven's barebones system
      armv8: Remove debug printf
      armv8: Fix mem_alloc on matching caps in init
      armv8: add proc_mgmt to menu lst
      sockeye: Import LISA backend
      sockeye: Import barebones.soc file and add hake rule
      serial: Fix armv7
      hake: Two pass to minimize memory consumption
      hake: Generate PL database with driverdomain/modules
      armv8: Improve readme
      Merge branch 'hake_deps'
      Fix irqtest build
      flounder: Type generation correct dependencies
      harness: add nice make targets for testsets
      pmap: Fix lookup function and add test for it
      imx8x: add some more modules in menu.lst
      imx8x: Add boot target
      update copyright notice
      armv7: To support domain spanning, use different vregion per core
      harness: add imx8x_local machine and some start for rackmount imx8x
      imx8x: Add rack mounted colibris to harness
      imx8x: Hack kaluga to pass startup, and add startd
      armv8: Start with all interrupts disabled
      hpet: fix dependencies
      imx8x: Fixup serial driver
      armv8: fix duplicate platform_get_timer_interrupt
      armv8: Implement wait_for_interrupt
      imx8x: Remove hacks from serial_lpuart driver
      armv8: Port irq cap invocations
      armv8: implement user space irq routing + lpuart interrupt
      armv8: remove kernel printfs
      armv8: fix compilation on other platforms
      armv8: increase kcb size to accomodate vector table
      imx8x: Boot second core
      imx8x: Enable cores 3 and 4
      armv8: Cleanup kernel messages
      armv7: Fix for kaluga changes
      imx8x: Add domains to harness
      imx8x: uSDHC driver
      armv8: Initialize systime_frequency for init process
      readme: add NXP iMX8X to supported platforms

Moritz Hoffmann (6):
      add virt_addr and page_table_frame to vnode pointing to locally mapped page table
      add base vaddr to alloc_vnode function
      Fix sbrk call in usr/tests/pagetable
      Fix syntax error in vmx_vmkit.c
      Implement binary search in memobj_append protect.
      Fix offset calculation in memobj append

Oleg Godunok (1):
      Arrakis with Intel virtualization extensions.

Rana Afifi (2):
      HPET Driver which now can configure FSB interrupts and receive them
      Driver can now trigger and receive interrupts through FSB and I/O APIC mapping

Reto Achermann (409):
      updating memory primitives benchmark
      increasing maximum possible heap size
      adding gups benchmark
      adapting GUPS to run on linux
      adding distinct printf labels to distinguish which gups is running
      libbarrelfish: towards support for demand paging
      libdemandpaging: initial commit with basic functinality and access to dirty bits"
      libbench: adding avg and stdev to output
      libdemandpaging: cleanup and adding of measurements
      libdemandpaging: fixing assert with NDEBUG
      libdemandpaging: add test for full page writes and verification, disable debug output
      libdemandpaging: fix wrong cnode size
      libdemandpaging: adding functionality to add/remove frames from region
      drivers/iommu: adding framework for the iommu driver
      driverkit: don't panic on returned error
      acip: adding parser for the DMAR table
      hwrecords: adding iommu and rootbridge records
      kaluga: register for iommu events
      vtd: adding extended descriptors
      hwrecords: fix misformatted record
      drivers/iommu: remove unneeded code from the template stub
      kaluga: calling watch for iommu after pci devices are initialized
      devs/vtd: fix compilation
      libdriverkit: properly return error code when attaching a new driver
      acpi: parse the madt table and disable vt-d inside acpi
      iommu: adding module to the list of modules to be built
      devices: reformatting of VTd device spec
      caps: adding capability definitions for the Intel VT-d IOMMU root and context tables
      Kaluga: obtainign cap from ACPI when starting the IOMMU driver
      iommu: adding root and context table management code
      iommu: adding iotlb management code
      iommu: refactor driver structure and introduce domains
      hwrecords: fix in formatting for iommu
      iommu: adding driver to the list of drivers
      acpi: fixing bugs when parsing dmar table
      devices: extending VT-d register descriptions
      acpi: adapt old VTd code to the new definitions
      iommu: moving vtd commands to separate header file
      iommu: parsing of capabilities
      acpi: don't compile vtd code anymore
      devices: merge VTd with VTd_IOTLB device definitions
      iommu: using different debugging macro for first level tables
      iommu: proper parsing of the two capability registers
      iommu: removing todo from the VT-d driver
      acpi: rework DMAR parsing, adding comments and futher todos
      acpi: remove references to vt-d header
      acpi: rework parsing of device scopes
      iommu: remove references to old vtd_iotlb device headers
      iommu: adding comments to the struct declarations of VT-d
      merging master branch into feature branch
      caps: adding a new capability type for devices
      errnos: remove chips error definitions
      caps: adding invocation handlers for the new captypes to the cpudriver
      monitor: hand kaluga the device manager capability
      kaluga: adding barrier for when PCI bridges are programmed
      if: adding iommu service rpc interface
      driverkit: adding function to push arguments
      numa: adding numa aware allocation for RAM caps
      driverkit: starting with iommu client and server
      iommo: using libnuma for allocations, skb queries and cleanup
      iommu: adding notion of a devices
      iommu: moving service implementation to iommu driver
      skb: adapting query for obtaining dmar devices
      acpi: include iommu idx in SKB records
      caps: change information encoded in the device cap
      iommu: creating generic device management functions and service implementations
      errnos: change VTD_* to IOMMU_*
      iommu: adding generic handling of devices
      acpi: adding generic iommu() facts to the skb
      Merge remote-tracking branch 'origin/master' into virtualfunction
      acpi: remove the VT-d interface and replace it with the generic iommu interface
      kaluga: allow starting of multiple IOMMU drivers
      hwrecords: defining the IOMMU types as a actual type
      dma: adding stubs for the dma driver domain for the new driver framework
      dma: adding generic queue manager
      qmng: adding queue manager client interface
      pci: remove unused device_mapping.h header this is in the SKB
      devidcaps: pass all arguemnts to the kernel to fill the cap
      pci: remove endpoint creation and add deviceid cap
      driverkit: fixing potential memory leaksand adding support for argcn
      pci: adding missing function prototoype
      iommu: don't fail when there is no proximity information available
      driverkit: adding functions to extract the caps from the argcn
      dma: towards support for IOMMUs
      driverkit: actually return the correct cap
      iommu: missing implementations of mapping context table & debug output
      ioat: converting driver to the driver framework
      caps: properly setting the VT-d domain id
      kaluga: using driverkit defined slots
      iommu: more debugging output
      skb: fill out right module for the ioat dma driver
      driverkit: actually freeing slot when init fails
      skb: setting coreoffset to 0 for ioat driver
      ioat: driver module improvements and selftest
      iommu: make sure to obtain the include all segment
      skb: adding missing device ids and correcting module for the Xeon Phi
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      ioatdma: adding missing flounder defs and move header to C file
      iommu: using macros for debug output, disabling some debug output
      caps: adding endpoint cap type for UMP endpoints
      flounder: towards support for endpoint capabilities
      acpi: use debug macro for printfs when parsing dmar table
      libbarrelfish: removing unintentionally added includes
      flounder: adding test domain for endpoint caps
      test/endpoints: actually use the right argcn creation function
      flounder: working support for LMP endpoints
      tests: bug fixes in the endpoint test
      libbarrelfish: adding endpoint related LMP functions
      tests/endpoints: make the test sequential LMP and UMP
      flounder: towards support for UMP endpoint caps
      caps: implementing support to identify and map endpoint caps
      flounder: actually setting the connect handlers on both, bind and create endpoints
      flounder: adding missed changes to unbreak compilation
      flounder: implementing support to pass caps over UMP connection for endpoints
      vtd: implementing various cache invalidation functions
      monitor: use the creation of endpoints functionality for the RPC server
      monitor: don't overwrite monitor state with connection information
      monitor: support for registering revoke notifications
      monitor: remove unused code from the revoke notify
      iommu: towards the new interface
      driverkit: adding the new interface defs for the iommu client
      iommu: adding new interface
      iommu: start implementing client iterface
      caps: returning bits as uint8 instead of size_t
      iommu: adding functions to set and get the default client
      iommu: implement map/unmap/modify low-level interface
      iommu: reformatting in a few places
      iommu: moving functions and mark them as todo
      iommu: towards managing mappings in the client
      iommu: starting with vnode managemnt code
      iommu: implement the client side tracking of mappings
      iommu: refactor common code into a library and service sub functions
      iommu: towards implementation of the iommu service
      iommu: fix build
      iommu: started refactoring the iommu driver to the new interface
      iommu: start implementing the device creation upon request
      iommu: setting up devices and cache flushes
      iommu: adding some more debug outputs and use of macros
      iommu: fix bug in assertion
      iommu: allow iotlb invalidations all the time
      pci: actually returning with the right message so RPCs can proceed
      iommu: adding flags to the mmap() call
      libdma: use libdriverkit for memory management
      iommu: adding function to unmap() mempry
      dma: change of ioat device init functions signature
      iommu: fix compilation
      iommu: implementation of cap retype
      iommu: adding new lines to debug outputs
      iommu: fix possible null-pointer deref
      iommu: retype with the correct object size
      iommu: fix domain creation to not fail when there are domains available
      dma: actually use the right client to call for iommu present
      iommu: bug fixes and debug output in the iommu client library
      iommu: allocating slot for the mapping cap
      iommu: passing of mapping flags and varioius bugfixes in the mapping code
      iommu: handling of map/unmap in the device to enable tlb flushes of the iommu
      driverkit: don't try to connect to endpoint if device setup fails
      libdma: make it work with the driverkit dma buffer management
      caps: handling minting caprights for all caps
      paging: don't use devicetlbs for the iommu context tables
      dma: fixing confusion with library names
      iommu: preliminary support for mapping more than one page at once
      iommu: adding changes to the headers
      iommu: fix assertion to allow exact page size
      iommu: bugfixes in the mapping code
      iommu: passing count to the iommu driver
      iommu: do allocations depending on whether the iommu is enabled or not
      iommu: check if state is set before accessing the fields
      caps: enforce caprights when map/unmap
      xeonphi: towards driver framework
      iommu: us the right pagetable flags for mapping
      ioat: passing the iommu client to the test function
      iommu: ability to set the default iommu client
      kaluga: start the xeon phi with the new driver domain
      xeon phi: initialization with the driver framework
      driverkit/iommu: don't free slots when doing RPCs
      pci/kauga: actually delete the caps not just free the slots
      pci: remove acpi bindings
      kaluga: don't free slot which is freed in driverkit
      pciclient: actually delete the capabilities not just delete the slot:
      pci: return the found index when query suceeds
      tests: importing the xeon phi test as the hardware model test
      driverkit: use the macros for printfs
      iommu: addig an iommu id
      fixing a Hakefile
      cpudriver: remove a debug printf
      iommu: print the iommu id when creating a device
      hwmodels: adding outline of offload use case
      kaluga: check if an element if returned from the list
      hwmodel: implementation of host side of the test
      hwmodels: adding desired destination node id
      hwmodel: almost complete implementaton of hte text case
      xeonphi: implement some RPCs for the paper
      xeonphi: adapt the initialization to the new framework
      xeonphi: prepare to setup up the iomu
      xeonphi: implement the dma requets and factor out the translate function
      hwmodels: adding separate file in the driver kit to handle queries
      xeon phi: skipping initializaton of the second card for now
      xeonphi: make the interphi channel to be large page sized
      caps: adding pasid when doing frame identify
      xeonphi: hwmodel stub function implementation
      tftp: don't reuse the buffer when the packet hasn't sent yet
      platforms: adding the common modules to the K1OM target
      flounder: calling the connect callback when a bind requst comes in
      xeonphi: towards support for model based allocations
      driverkit: make devaddr a genpadr
      flounder: adding allocate rpc definitions to the xeon phi interfaces
      k1om: the xeon phi does not support clflush instructions
      dma: passing the iommu client when creating the dma device
      hwmodels: update the offload scenario
      xeonphi: make the serial part of the phi struct
      xeonphi: poll all cards that are present
      xeonphi: implementation of memalloc interphi calls
      xeonphi: explicit passing of state and implemntation of memalloc rpc sevice
      driverkit: don't use the model for now, and directly allocate frames
      libxeonphi: update header
      ioat: retry when the channel initialization failes
      netsocketserver: don't use polling
      sockeye: make addresses one dimensional and explicit state passing
      sockeye: also pass the state when instantiating the modules
      sockeye: fix ste number prpagation
      sockeye: adding support for block configurable mappings
      socs: updating hakefile
      decodingnet: remove the loop and simplify parsing
      decnet: replace structs with normal predicates
      Sockeye: don't use the internal state predicates as they use cut
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      skb: measure the execution of the queries
      skb: starting device drivers on different cores
      monitor: return NULL_CAP on error
      sockeye: don't use low memory regions when allocating vspace
      kaluga: orchestrate the boot up process differently & fix endpoint creation
      libbarrelfish: use the default send flags when passing local endpoint to monitor
      skb: correct time with the skb query time measure
      driverkit: provide some more debug information in the iommu client
      netsocketserver: enable the polling again
      libnet: attempt to make the polling a bit more efficient
      netsocketserver: yield if there is nothing on the wire
      netsockets: don't loop forever, have an upper bound
      e1000: make the periodic event to trigger every 50us
      xeonphi: use the model to allocate memory
      sockeye: separate the state lists
      sbrk: fixing bug with the goffset calculation and using large pages
      sockeye: update to the new state interface
      skb: increae memory to 128M
      sockeye: call assert inside the init function of the decoding net
      sockeye: fix missing comma in parser
      sockeye: update xeon phi description
      sockeye: don't use bits and use range instead
      xeonphi: print ranges instead of bits
      xeonphi: stub implementation of the config changes
      driverkit: adding optino to map at fixed address
      libdma: use provided convert function when setup descriptors
      hwmodel: remove constraint of 1G alignment
      tests/offload: printing the allocation size
      sockeye: don't print the hex values as parsing doesn't work with those
      tests/offload: use the ram node id not the numanode:0
      libdma; disable debugging again
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      memserv: adding hack for the OSDI18 paper
      hwmodels: use the correct query
      hwmodels: make the testcase working
      sockeye: reorganize queries and the support
      iommu: enable the use of the entire address space
      iommu: using the right offsets into the page tables
      sockeye: use the new assert wrappers for static state
      decoding net: make the fail case more visible
      decoding net: update the state predicates to use less resolution
      decoding net: some formatting changes
      decoding net: update the initialization function
      decoding net: implement state remove suffix
      iommu: use the new prolog interface
      driverkit: don't pass state when query for node id
      decoding net use retract instead of state remove
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      decoding net: bug fixes in the adding of MMU state
      decoding net: remove some debug prints
      decoding net: remove another writeln() to match expected parsing format
      xeon_phi: connect to the skb when the domain is started
      decoding net: fix singleton variable
      pci: load the decoding net file instead of use module
      decoding net: update free and slots when asserting configurable nodes
      decoding net: use the full vspace to initialize the slots
      libnet: don't print in event loop
      decoding net: restrict block to be of size 0
      decoding net: reserve just the first 20 PML4 slots, not 512x20 slots
      decoding net: don't return vpn/ppn use the addresses instead
      libdriverkit: make it work with the new model
      xeon_phi: uadapt to the driverkit changes
      libdriverkit: adding missing header file changes
      decoding net: reserve the first 4G of the xeon phi
      hwmodels: adapt to the changed decoding net interface
      memserv: fix in print out for OSDI hack
      decodingnet: use current bar values
      pci: add the decoding net nodes after the configuration
      decoding net: some fixes and correct calculation of the end address
      socs: use explicit ranges in the Sockeye definitions
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      hwmodel: make it work with the new queries
      pci: adding all model nodes in the end
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      libdma: implementaiton of a small benchmark for the OSDI paper
      decoding net: don't use existing node enum
      iommu: remove debug output
      dma: make the compl status 2M
      dma: make the error print buffer bigger
      dma: reduce the buffer size
      decoding net: enable the ioat dma devices
      mvas: adding kernel support for raw vnode copy
      tools/arm_boot: clear out structs before use
      tools/usbboot: replace deprecated set_debug with set_option
      update tools/usbboot to use the right way to ennable debug
      replacing umlaute and fixing address in headers Haldeneggsteig -> Universitaetsstrasse
      lib/introute: fixing missing flounder defs in Hakefile
      integration of ARM FastModels into Hake
      hake: change path of the fast models to /home/netos
      adding gitlab-ci.yml to check for non-signed off commits
      FIXUP: adding gitlab-ci.yml to check for non-signed off commits
      gitlab-ci: require new commits to be signed off to pass the test
      Merge branch 'master' of gitlab.inf.ethz.ch:OU-ROSCOE/barrelfish/barrelfish-internal-master
      gitlab-ci: adding test to compile hake
      gitlab-ci: adding basic compilation tests for x86_64, ARMv8 and ARMv7
      hake: adding flags to just run hake, without initial dependencies
      gitlab-ci: using moderate parallelism for running builds
      gitlab-ci: adding cleanup job
      gitlab-ci: store the build log on failure
      gitlab-ci: adding test that there are no unmerged files
      update README
      harness: fixing non-exhaustive pater for simjobs function
      sockeye: fix non-exhaustive pattern in case error
      driverkit/serial: adding missing dependencies to Hakefiles
      harness: adding driverdomain_pl390 to armv7 modules
      tests/proc_mgmt: fix nullpointer bug
      libdriverkit: initialize pointer to l3 vnode in iommu client
      harness: increase the default test timeout
      proc_mgnt: check if there's a pending client before dereference pointer
      tests/mt_waitset: increase the number of thread pointers
      tools/harness: name the qemu instances consistently
      scalebench: print the path of the xml report
      tests/capops: use directy identify as frame_identify requres mappable cap
      tests/capops: fix other occurences of frame_identify
      tests/twolevel_cspace: fix use of frame_identify on ram cap
      tests/capops: actually use the passed capability, fix frame_identify in twolevel layout test
      qemu-wrapper: increase memory sizes
      libbarrelfish: increase heapsizes for 64-bit platforms
      hake: increase memory for armv7 platforms to 2GB
      tests/malloc: reduce maximum memory size on 32-bit platforms
      tests/nmk: fix compilation for armv8
      libbarrelfish: pass the fault type int he first argument
      tests/malloc: just malloc 256MB for 32-bit machines
      vfs: disable megaraid for standard vfs library
      tests/span: adding printfs to see progress
      tests/prog_mgmt: don't hardcode architecture specific path
      libbarrelfish: setting arch specific fields when creating new dispatchers
      harness: adding int_route to armv7 platforms
      coreboot: fail when trying to reboot/stop a core on non-x86 architecture
      harness: adding serial domains to the harness images on ARMv7
      armv8: vnode invocation modify flags takes 4 arguments
      armv8: fix calculations of required slabs for mappings
      armv7: fixing calculations of required slabs for mappings
      tests/malloc: increase allocation size
      tests/malloc: reducing malloc size to 128MB for now
      x86_64: fail or attempt to map page-tables read/write
      armv8: work around to set the page-table flags
      cpudriver: get the mapping size for armv8 mappings
      armv8: actually passing the flags argument
      armv8: expect the right number of arguments in the modify mapping invocation
      tests/nkm: towards supporting armv8
      fugu: new error code if the attempted map operation had insufficient rights
      tools/harness: adding name parameter to qemu machine
      harness: increasing test timeout
      armv7: adding rdtscp() alias to make benchmark compile
      lib/devif: use barrier definitions from barrelfish's atomic.h
      armv8: enable compilations of various network drivers
      tests/devif: don't test networking for armv7
      qemu: enable KVM for x86_64 platforms
      armv8: actually pass the faulting address
      test/lrpc_fpu: make it compile for armv7 and armv8
      test/mtwaitset: disable local core spawning on arm platforms
      tests/skb_cap_storage: workaround to get it to work on armv7
      skb: remove test apps as they don't really test the SKB
      drivesr/virtio: remove empty files
      x86_64: make all targets compile
      libcxx: ubdate libunwind
      hake: adding cpudrivers to the _All target
      libcompiler-rt: update to newest version from github repo
      drivers/uhci: remove not-implemented UHCI driver
      armv8: make all defined target compile (ARMV8_All)
      libc: adding missing _setjmp.S to armv8 sources
      cxx: adding tests for libunwind
      libcxx: update to support armv8
      libc:adding missing definitions to nl_types.h
      libcxx: enable tests for armv8
      armv8: fix signed / unsigned comparison warning
      libcompiler-rt: fix compilation for armv7
      hake: remove x86_32 architecture
      arm: fix signed/unsigned compare in header
      libcompiler-rt: adding missing files to the arm target
      fix uses of cycles_t throughout the tree
      Hakefiles: remove x86_32 from architectures
      armv7: fix compilation of the ARMV7_All target
      libthc: adding back removed _thc_schedulecont assembly function
      libcxx: list the source files explicitly
      adding clang-format spec
      updating .clang-format file
      tweaks to clang-format
      clant-format; allow two empty lines
      clang-format: tweak penalty when assignment gets broken to newline
      clang-format: reduce penalty for excess characters

Roni Häcki (335):
      e10k: devif backend make compile with debug flags
      e10k: convert driver to new framework
      e10k: main for driver domain
      kaluga: changed start function for e10k to new framework
      acpi: removed force vtd_off flag
      e10k: driver remove unused files
      pci: fixed bug ...
      e10k: PF interrupt setup using new framework
      e10k: change to new iommu checks instead of vtd
      skb: added module name to driver facts
      e10k: virtual function module
      kernel: handle devid cap invoke correctly
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      skb: device db allow multiple instances of e10k_vf
      e10k: moving devif backend to driver folder
      kaluga: starting e10k PF and VF driver correctly
      e10k: storing e10k VF resources
      e10k: working again until trying to do a DHCP
      libnet: net_queue fixed assertion for e10k_queue
      e10k: working including DHCP
      net_socket_server: added flag to change from interrupt driver to polling mode
      pci: refactoring of SR-IOV
      iommu: added missing dependency
      kaluga: changed driver startup conditions
      pci: start SR-IOV virtual functions on demand
      e10k: start VF from PF driver
      kaluga: when starting PCI add endpoint to kaluga to arguments
      pci: added missing dependency
      pci: kaluga requests PCI endpoints to add at startup of drivers
      pci: client add method to connect using endpoint cap
      kaluga: correctyl initalized pci endpoint cap
      pci: enabling VFs using channel setup by endpoint cap
      pci: request vf bar caps through pci endpoint connection
      e10k: request VF regs using PCI endpoint cap
      e10k: fixed gettinv VF bar caps.
      kaluga: generalized naming of endpoint requesting interface
      kaluga: hand off endpoint to itself to driver it starts
      driverkit: added missing functions
      kaluga: fixed bug when reusing driver domain
      driverkit: getting an endpoint from a driver integrated in framework
      driverkit: adapted driver to new framework with get_ep call
      solarflare: removed FreeBSD code base
      Platforms: removed sfxge from platforms file
      solarflare: removed unsued header file
      kaluga: hand over ep to driver when starting net_socket_server
      libnet: added starting network stack with endpoint to driver
      e10k: devif backend can use endpoint cap to connect to PF driver
      kaluga: some cleanup regarding kaluga channel setup
      libnet: changed devif backend of NICs so they can initalize with endpoint caps
      skb: device db fixed bug with e1000
      PCI: added possiblity to request PCI endpoint specifically for IOMMU
      iommu: implemented request for iommu endpoint
      pci: channel to iommu setup
      driverkit: renamed devid cap to iommu cap
      kaluga: requesting iommu endpoint cap for device drivers
      pci: added method to requires "starting package" for a VF.
      e10k_vf: change to new way to aquire resources from PCI
      pci: make compile again using debug flags
      iommuclient: if cl client is NULL do normal allocs
      e10k: changed memory allocation to new iommu framework
      pci_client: rpc received into wrong cap
      pci: forwarding iommu cap correctly
      iommu_client: properly return error in driverkit_iommu_mmap_cl() when failing
      libnet: initalize cardname to avoid null pointer when connecting using endpoint
      libnet: added setup of net_filter connection using endpoint
      e10k: use new framework to allocate descriptor ring memory
      libnet: changed buffer allocation to new framework
      libnet: netbufs set vbase correctly
      e10k: do not map device registers using framework
      kaluga: removed some hardcoded values for e10k_vf
      e10k: fixed descriptor ring buffer length
      pci: fail gracefully if there is no iommu
      kaluga: gracefully handle if iommu is not present
      pci: better error handling in case there is no iommu
      iommu_client: make compile with debug flags
      kaluga: start pci with all iommu endpoints
      kaluga: request endpoint when at least one iommu driver is started
      libnet: fixed queue creation flags
      e1000: driver core hint to 0
      e1000: change driver to match new allocation framework
      pci: removed unecessary printf
      iommu_client: do not free cap slot after failure of setting root
      e10k: PF and VF timeout when link does not come up
      Merge branch 'virtualfunction' of ssh://code.systems.ethz.ch:8006/source/barrelfish into virtualfunction
      pci_client: added functionality to query this connections device info (when connection setup using EP cap)
      iommu_client: removed some inline from function headers
      iommu_client: flag to disable usage of model for allocation
      e1000: working with new allocation framework using iommu
      sockey: x86_iommu filed upated for PCI
      Sockeye: remove PCI bars from generated code
      decoding_net: add pci bar nodes
      Sockeye: decoding_net2 only add non IO bars for now
      skb: bridge program add procedure bar
      PCI: add decoding net nodes for PCI bars
      skb: bridge programming root bridge window fix
      bridge programming: remove unneccessary output.
      acpi: insert fixed memory range for iommu into skb
      bridge program: take into account 32 bit limitations
      bridge programming: added constraint on bridge for nonprefetchable part
      bridge programming: fixed integer_list problem
      pci: parsing bridge program output correctly
      pci: fixed bar allocating with bridge_page algorithm
      pci: add fake bridge so bridge programming takes VFs into account
      bridge programming: correctly limit addr range for non prefetchable bridge
      bridge programming: adding missing dynamic fact bar
      e1000: simulating inerrupts using periodic events
      bridge programming: some fixes
      pci: reduce number of MAX vfs to 16 for now.
      bridge programming: shift higher addresses that fail with distintive to 0 and back.
      bridge programming: correctly shifting bridge windows for addr > 10'000'000
      decoding net: removing filter for PCI device
      bridge programming: towards decoding net as output
      decoding net: fixed compile error
      decoding net: benchmarking xeon phi usecase and printing it to stdout
      bridge programming: shifting bridges and bars merged
      pci: disable VFs if we do not add argument on menu.lst
      pci: fixed case when bridges are not programmed (size = 0)
      bridge programming: fixed some bugs in bridge/device address shifting when addr > 10'000'000*4096
      bridge programming: added testcase setup
      pci: fixed skb bridge programming return values parsing
      bridge programming: building decoding net as PCI hierarchy
      Merge branch 'master' into virtualfunction
      e10k: fixed e10k_queue (merge was wrong)
      e10k: removed #define from queue header file
      e10k: removed duplicated DEBUG message
      kaluga: several checks for setup when iommu is not enabled
      dec_net: iommu_enabled not defined when iommu not enabled
      e1000: fixed case when IOMMU is not enabled
      iommu_client: more checks if endpoint is invalid
      e1000: devif backend handle case when there is no IOMMU endpoint
      libnet: e10k fallback to non virtualized queue when init fails
      driverkit: check for iommu in skb when iommu client not initialized
      e10k: check if VT-d is enabled when VF is requested
      iommu_client: fixed bug when client is not initalized
      e10k: fixed VF case when IOMMU EP is not valid
      e10k: devif backend fixed handing over caps in non VF case
      e10k: fixed non VF case memory allocation for rings/tx hwb and some cleanup
      pci: added notification when SR-IOV init is skipped when iommu not enabled
      iommu client: fixed return value of iommu_present function
      dec_net: removed dynamic definition iommu_enabled
      e10k: removed old code that gained resources not from PCI
      e10k: correctly compute VF number to queue number
      e10k: cleanup of local and remote RPC for requesting a VF
      iommu client: fixed mmap when client struct is NULL
      iommu_client: mmap returing wrong cap
      e10k: removing helper function (e10k_helper.c) since iommu_mmap now does the same
      e10k: net_filter interface adding non rpc message passing functions
      e10k: create net_filter ep on driver side
      e10k: devif backend get net filter ep
      e10k: removed unneeded debugging statement
      e10k: txhwb seems to behave weird sometimes, disable it for now
      e10k: correctly checking when setting up devq with endpoint
      libnet: using EP to set up networking queues net filter connection
      solarflare: changed to new driverkit interface
      libnet: net_queue correctly return error for sfn5122f queue
      skb: define facts as dynamic if they might never be in the database but are queried
      solarflare: setup filter ep on driver and devif backend
      libnet: setting uf netfilter interface for sfn5122f
      UDP queue: fixed setting up queue using endpoints
      queue_service: rough skeleton for serivce
      queue_service: adding coreid to requests
      mem_serv: disable OSDI hack for now
      e1000: make irq test compile again
      skb: adding module parameter to irq test device database
      devif_test: fix compilation
      xeon phi: compile module only on x86
      driverkit: split library into two parts: generic and iommu part
      armv7: make armv7 compile again on VF branch
      xeon phi: check if iommu endpoint is valid
      omap44xx: change init of drivers to new function signature
      schedsim: fixed compilation
      skb: reduce stack size to be able to run in QEMU
      iommu client: add missing dependencies for xeon phi
      e10k: create correct net_filter interface endpoint (LMP/UMP)
      xeon phi: fixing some bugs when running withouth HW model
      vmkit: fixing test
      iommu client: remove unsued values
      skb: disable printing out benchmark values for certain queries.
      libbarrelfish: vnode_create fixed for ARMv7 (reverted back)
      kaluga: do not query decoding net when loading it failed
      multihop test: cap destroy let's the code get stuck
      iommu: further check when DMAR failed to read
      acpi: fixed compilation
      kaluga: fixed compilation with debug flags
      acpi: revert previous change to handling parsing DMAR failure
      queue_service: adding client library
      queue_service: adding way to get an ep from the queue service itself
      queue_service: adding libary dependecny to libnet and kaluga
      xeonphi: small fixes
      driverkit: fixed bug in ddomain service
      pci: set bios bridge program as default
      pci: handle decoding net loading failure more gracefully
      kaluga: new style driver arguments remove redundancy
      pci: fixed small compilation error
      xeonphi: smpt correct phys address for cases with/withouth IOMMU
      driverkit: small fix in ddomain service
      xeon phi: correctly polling different xeon phis
      xeon phi: move HW MODEL flag to public header as DMA library also needs it
      lib dma: fixed xeon phi case when not using HW model
      xeonphi: fixed case with multiple xeon phi cards
      kaluga: queue servicei init implemented
      queue_service: fixed typo in name of function
      kaluga: implemented adding EPs to queue service
      descq: implemented descq setup using endpoint cap
      descq: removed unneeded argument for queue creation
      descq: creating endpoint from exporting end
      kaluga: added missing dependencies non X86 builds
      descq: fixed wrong ordered arguments
      driverkit: disable HW model debug output
      harness: devif test IDC removed some uneeded modules
      devif_test: extended to test setting up descq using endpoint
      devif_test: added flounder interface for devif_test
      kaluga: better startup synchronization with acpi/pci
      devif_test: adding test if to Hakefile
      e10k: fixed state allocation of net_filter connection withouth ep
      multihop: fixed test
      devif: e10k backendcorrectly handle create without EP
      e10k: add debuging header file to e10k_phy.c
      harness: multihop test update processing function
      netsocket: init from endpoint
      net_queue: removed unnecessary printf
      net_sockets: move defines to seperate header file
      net_sockets: implemented library of net_sockets server
      e1000: correct chack for setup with endpoint
      e1000: also setup RPC tables
      kaluga: start net_socket_server as driver module
      e1000: remove unused dependecies
      driverkit: ddomain service/client correctly send/receive argument strings
      queue_service: fixed small bug in client.
      net_socket_server: add normal vtbl so that calls don't run into NULL function pointer
      iommu: added missing dependency
      net socket: default init using queue service
      driverkit: correctly free cap slot when failing to get EP
      net sockets: default init now uses endpoints and queue service
      tftp & vfs: properly return error when init of network stack fails
      queue service: client move slot alloc for ep out of function
      queue service: server return NULL_CAP if lookup fails
      netsocker server: remove debug_printf when requesting EP
      libnet: library uses net_socket_server for default init
      libnet: installing filter only works when there are HW filters
      tftp: fixed compilation error
      devif: removing pci dependency from network card backends
      queue_service: fixed name comparison
      net: fixed default init case using net_socket_server
      net sockets: fixed comparing names
      xeon phi: init networking in driver domain to avoid redundancy
      net sockets: prevent double initialization
      webserver: using networking_init instead of net_sockets_init
      flounder: generate endpoint type header file
      LMP: added iftype to endpoint caps
      flounder: fixed bug in endpoint type header file generation
      flounder: creating LMP endpoints with iftype
      flounder: if type header generation bugfix
      lmp: comment out debug_printf
      kernel: add invocation to set iftype of endpoint (for x86_64)
      LMP: change to invocation to setting endpoint iftype
      kernel: adding invoke_endpoint syscalls to armv7 + armv8
      flounder: generate endpoint type header for multiple architectures
      tommath: fixed harness tess getting confisued about finish string
      UMP: added endpoint creation with iftype
      flounder: UMP endpoint creation now also sets flounder iftype
      LMP: endpoint identify working for both ARMv7 and X86_64
      ARMv7: syscall endpoint invoke fixed
      devif: extended udp queue test to also measure time taken for enq/deq of NIC queue
      libnet: net queue add some benchmarking code
      e10k: added benchmarking queue more detailed
      solarflare: more detailed benchmarking for the queue
      devq: renamed benchmarking define
      devif: udp queue test enable benchmarking by default
      e10k: added missing memory barrier after writing descriptor
      devif: ip queue header benchmark flag fixed
      Devq: small optimizations of slow path.
      Devq: added some benchmarks/tests
      Merge branch 'virtualfunction'
      Devq: fixed idc test
      Sockeye: remove dependency to Text.Pretty.Simp
      e10k: enabled dca by default
      libnet: adding iftype lookup to net_queue
      e10k: enable some features (DCA, TX HW writeback)
      hpet: removed generated headers from hpet.h
      nfs: increased max read size
      e10k: enabling advanced descriptors again
      flounder: generate if type header file correctly
      flounder: types generation removed some unnecessary printfs
      kaluga: corrected ifdef to right value
      e1000: correct computation of RX/TX ring size
      driverkit: iommu client implement disabling model
      kaluga: correctly adding core id to endpoint service.
      iommu: removed frame_identify which is only used for debugging
      iommu: added missing newline to command line output
      kaluga: adding correct core for getting driver endpoints
      kaluga: removing debug define from in start_hpet.c
      e1000: more useful debug output for tx/rx ring memory
      skb: setting core hint for e1000 to o
      driverkit: adding flag defintion (but commented out)
      driverkit: iommu client small fix when model is disabled
      iommu: removed a cache invalidate that makes problems on vacherin
      libnet: fix empty string test
      net_socket_server: fixing part so that mlx4 works again
      kaluga: fixing mlx4 driver starting
      imx8: skeletton for enet driver
      imx8x: kaluga starting enet driver
      imx8: adding part of NIC dev file
      imx8x: NIC up to init of multicast filter
      imx8x: enet adding more registers
      imx8x: enet driver adding queue skeletton + rest of init
      imx8x: enet driver add descriptor status constants
      imx8x: enet first attempt at receiving a packet
      enet: adding MDIO protocol methods
      enet: some cleanup. PHY seems to work including autonegotiation
      enet: some more fixes. RX queue no longer shuts down but still does not receive packets.
      enet: implmented TX functions. Card resets bits but does not send yet
      enet: small fix that finally fixed send/recv
      enet: fix wrap around of recv queue
      enet: split queue code into library
      enet: some cleanup
      enet: add toggle for debug output
      imx8: skeletton for enet driver
      imx8x: kaluga starting enet driver
      imx8: adding part of NIC dev file
      imx8x: NIC up to init of multicast filter
      imx8x: enet adding more registers
      imx8x: enet driver adding queue skeletton + rest of init
      imx8x: enet driver add descriptor status constants
      imx8x: enet first attempt at receiving a packet
      enet: adding MDIO protocol methods
      enet: some cleanup. PHY seems to work including autonegotiation
      enet: some more fixes. RX queue no longer shuts down but still does not receive packets.
      enet: implmented TX functions. Card resets bits but does not send yet
      enet: small fix that finally fixed send/recv
      enet: fix wrap around of recv queue
      enet: split queue code into library
      enet: some cleanup
      enet: add toggle for debug output
      Merge branch 'master' of gitlab.inf.ethz.ch:haeckir/barrelfish-internal-master

Simon Gerber (427):
      x86: add compiler memory barrier to rdtsc inline assembly
      examples: Updated README.txt to reflect changes to platforms/Hakefile
      kernel: caps_retype: check offset into source based on requested destination cap
      bfscope_nfs: properly signal dump_done when not dumping anything
      kernel,x86_64: print rsp,rbp when taking kernel fault
      monitor: comment out printfs in bfscope code
      fix harness reprocess and fix armv7 build
      bfscope: Explicitly add monitor flounder interface
      omap44xx,usb: add host of missing mackerel files to hakefile
      tools/arm_boot: make compile with usual set of compiler warnings + -Werror
      libbarrelfish: pmap: add function to calculate memory and cap slot usage of pmap
      libbarrelfish: pmap: add function to calculate memory and cap slot usage of pmap
      libbarrelfish: pmap: count slots for frames backing slab allocator in stats
      libbarrelfish: pmap: count slots for frames backing slab allocator in stats
      pmap: x86_64: add trace points for key functions
      pmap: x86_64: add trace points for key functions
      fish: Add builtin for pmap resource measurement of fish
      fish: Add builtin for pmap resource measurement of fish
      posixcompat: add errno-like construction to propagate barrelfish errors through POSIX layer
      posixcompat: add errno-like construction to propagate barrelfish errors through POSIX layer
      posixcompat: Implement mprotect()
      posixcompat: Implement mprotect()
      libc/sys: implement mmap() for anonymous mappings and implement munmap().
      libc/sys: implement mmap() for anonymous mappings and implement munmap().
      tracing: add extra error for coreid out of range for tracing
      tracing: add extra error for coreid out of range for tracing
      fugu: implement err_pop(), to pop errcode_t off errval_t stack.
      fugu: implement err_pop(), to pop errcode_t off errval_t stack.
      libbarrelfish: pinned: count slab refills
      libbarrelfish: pinned: count slab refills
      kernel: x86_64: remove LOG_INFO level output when trying to map over existing entry
      kernel: x86_64: remove LOG_INFO level output when trying to map over existing entry
      distops benchmark framework, and initial bits of delete benchmark
      distops benchmark framework, and initial bits of delete benchmark
      Implement get_mdb_size() debug syscall
      Implement get_mdb_size() debug syscall
      More distops benchmarking
      More distops benchmarking
      distops_bench: Add delete last w/ remote copies benchmark
      distops_bench: Add delete last w/ remote copies benchmark
      fixup implement get_mdb_size(): kernel: add debug_get_mdb_size() in sys_debug.h
      fixup implement get_mdb_size(): kernel: add debug_get_mdb_size() in sys_debug.h
      bench_distops: add revoke() without remote copies benchmark
      bench_distops: add revoke() without remote copies benchmark
      kernel: capabilities: remove printk() on is_retypeable failure
      kernel: capabilities: remove printk() on is_retypeable failure
      distops_bench: revoke with remote copies
      distops_bench: revoke with remote copies
      distops_bench: add benchmark for revoking a remote copy
      distops_bench: add benchmark for revoking a remote copy
      bench_distops: add flounder interface definition
      bench_distops: add flounder interface definition
      bench_distops: add local retype benchmarks
      bench_distops: add local retype benchmarks
      distops_bench: add retype with remote non-overlapping descendants
      distops_bench: add retype with remote non-overlapping descendants
      kernel: caps_mark_revoke: correctly handle case where there are only descendants on a core
      kernel: caps_mark_revoke: correctly handle case where there are only descendants on a core
      kernel: caps_mark_revoke: we never have to go backwards when marking descendants
      kernel: caps_mark_revoke: we never have to go backwards when marking descendants
      distops_bench: delete cnode with contents but contents have no remote relations
      distops_bench: delete cnode with contents but contents have no remote relations
      monitor: capops: delete: do not use state after freeing it
      monitor: capops: delete: do not use state after freeing it
      distops_bench: fix #ifdef for warning about missing NDEBUG preprocessor flag
      distops_bench: fix #ifdef for warning about missing NDEBUG preprocessor flag
      distops_bench: add second variation of delete cnode benchmark
      distops_bench: add second variation of delete cnode benchmark
      distops_bench: change delete foreign copy to use power of two increments
      distops_bench: change delete foreign copy to use power of two increments
      distops_bench: harness: add test framework and test case for delete foreign copy
      distops_bench: harness: add test framework and test case for delete foreign copy
      kernel,libbf: implement noop invocation on Objtype_RAM
      kernel,libbf: implement noop invocation on Objtype_RAM
      distops_bench: add noop invocation benchmark
      distops_bench: add noop invocation benchmark
      harness: distops_bench: also dump processed data in files
      harness: distops_bench: also dump processed data in files
      distops_bench: harmonize towards factors of two mdb sizes
      distops_bench: harmonize towards factors of two mdb sizes
      distops_bench: harness: add test cases for all the distops benchmarks
      distops_bench: harness: add test cases for all the distops benchmarks
      harness: distopsbench: limit y axis for delete last copy with remotes and fix timeout for cnode vary
      harness: distopsbench: limit y axis for delete last copy with remotes and fix timeout for cnode vary
      harness: distops_bench: cleanup plotting code to handle arbitrary node ids and deduplicate test classes
      harness: distops_bench: cleanup plotting code to handle arbitrary node ids and deduplicate test classes
      distops_bench: unify on 256-65536 cap copies, update file descriptions
      distops_bench: unify on 256-65536 cap copies, update file descriptions
      distops_bench: revoke_no_remote flaky, not sure why
      distops_bench: revoke_no_remote flaky, not sure why
      distops_bench: Implement single-core variant of revoke_no_remote
      distops_bench: Implement single-core variant of revoke_no_remote
      distops_bench: add runner for single-core benchmarks to allow them to be run sequentially on a number of cores
      distops_bench: add runner for single-core benchmarks to allow them to be run sequentially on a number of cores
      distops_benchmark: update harness revoke_no_remote test to use standalone version
      distops_benchmark: update harness revoke_no_remote test to use standalone version
      distops_bench: delete cnode with occupied slots: fix #slots occupied in code and update ylim for boxplot
      distops_bench: delete cnode with occupied slots: fix #slots occupied in code and update ylim for boxplot
      distops_bench: correctly label x-axis for delete cnode
      distops_bench: correctly label x-axis for delete cnode
      platforms/Hakefile: add e1000_net_sockets_server
      platforms/Hakefile: add e1000_net_sockets_server
      monitor: capops: add TRACE-points in delete
      monitor: capops: add TRACE-points in delete
      monitor: hardcode trace_control() stuff
      monitor: hardcode trace_control() stuff
      hake: Add opt-in list for libraries in addLibraries that need add extra include directories
      hake: Add opt-in list for libraries in addLibraries that need add extra include directories
      distops_bench: main: comment out spammy printf in unicast_cmd()
      distops_bench: main: comment out spammy printf in unicast_cmd()
      distops_bench: hardcoded changes to delete_last_remote for tracing run
      distops_bench: hardcoded changes to delete_last_remote for tracing run
      Revert "monitor: hardcode trace_control() stuff"
      Revert "monitor: hardcode trace_control() stuff"
      pyaquarium: initial check-in; demo.py is currently parsing subsys_capops traces
      pyaquarium: initial check-in; demo.py is currently parsing subsys_capops traces
      monitor: tracing: add more info to trace points
      monitor: tracing: add more info to trace points
      pyaquarium: more work on processing capops_delete traces
      pyaquarium: more work on processing capops_delete traces
      distops_bench: delete_last_remote: add trace points, start/stop tracing
      distops_bench: delete_last_remote: add trace points, start/stop tracing
      platforms/Hakefile: add section with programs from usr/examples
      platforms/Hakefile: add section with programs from usr/examples
      distops_bench: cleanup node naming/handling in benchmarks
      distops_bench: cleanup node naming/handling in benchmarks
      platforms/Hakefile: remove uncommited example programs from list
      platforms/Hakefile: remove uncommited example programs from list
      distops_bench: add harness case for deleting local copy
      distops_bench: add harness case for deleting local copy
      kernel,mdb: add trace points on caps_delete() path
      kernel,mdb: add trace points on caps_delete() path
      distops_bench: really fix node naming
      distops_bench: really fix node naming
      pyaquarium: rename demo to reflect what it does
      pyaquarium: rename demo to reflect what it does
      pyaquarium: do not use Min_timestamp data as it gets reset after each call to trace_dump()
      pyaquarium: do not use Min_timestamp data as it gets reset after each call to trace_dump()
      kernel,mdb: cleanup delete tracing
      kernel,mdb: cleanup delete tracing
      distops_bench: instrument delete local copy
      distops_bench: instrument delete local copy
      kernel: cap_delete: remove #ifdef around trace_seqnum
      kernel: cap_delete: remove #ifdef around trace_seqnum
      mdbbench: update for SG thesis plotting
      mdbbench: update for SG thesis plotting
      fix harness reprocess and fix armv7 build
      fix harness reprocess and fix armv7 build
      Add mdb operation counts to calculate scores for different implementations
      Add mdb operation counts to calculate scores for different implementations
      distops_bench: generate flounder bindings for standalone binaries
      distops_bench: generate flounder bindings for standalone binaries
      Update platforms/Hakefile
      Update platforms/Hakefile
      distops_bench: update standalone runner to use new procmgmt
      distops_bench: update standalone runner to use new procmgmt
      harness: make reprocess.py a bit smarter, add command line args for sourcedir, builddir and buildarch
      harness: make reprocess.py a bit smarter, add command line args for sourcedir, builddir and buildarch
      distops_bench: Add new harness test for generating latency breakdown data
      distops_bench: Add new harness test for generating latency breakdown data
      distops_bench: make tracing better integrated in C code
      distops_bench: make tracing better integrated in C code
      distops_bench: add TRACE-points in all benchmarks
      distops_bench: add TRACE-points in all benchmarks
      distops_bench: harness: add breakdown delete foreign bench
      distops_bench: harness: add breakdown delete foreign bench
      distops_bench: harness: remove checking by event_order list order
      distops_bench: harness: remove checking by event_order list order
      distops_bench: Add harness tests for trace data for delete_last{,_remote} and add extra trace points in monitor
      distops_bench: Add harness tests for trace data for delete_last{,_remote} and add extra trace points in monitor
      monitor: add TRACE-points to delete stepping
      monitor: add TRACE-points to delete stepping
      monitor: add TRACE-points to capops_revoke()
      monitor: add TRACE-points to capops_revoke()
      monitor: add TRACE-points to capops_retype()
      monitor: add TRACE-points to capops_retype()
      distops_bench: revoke: use USER_REVOKE_{CALL,RESP} around calls to cap_revoke()
      distops_bench: revoke: use USER_REVOKE_{CALL,RESP} around calls to cap_revoke()
      distops_bench: revoke: use USER_RETYPE_{CALL,RESP} around calls to cap_retype()
      distops_bench: revoke: use USER_RETYPE_{CALL,RESP} around calls to cap_retype()
      monitor: add extra trace points between revoke phases
      monitor: add extra trace points between revoke phases
      harness: cleanup distops trace parsing and add test class for revoke_no_remote
      harness: cleanup distops trace parsing and add test class for revoke_no_remote
      kernel,retype: add TRACE-points
      kernel,retype: add TRACE-points
      distops_bench,harness: Improve breakdown tests
      distops_bench,harness: Improve breakdown tests
      monitor,capops: improve revoke + retype TRACE-points
      monitor,capops: improve revoke + retype TRACE-points
      libbf,retype: add TRACE-points around actual monitor RPC
      libbf,retype: add TRACE-points around actual monitor RPC
      monitor,capops: guard root cnode copy deletions in retype to make sure we never try to delete the same capref twice
      monitor,capops: guard root cnode copy deletions in retype to make sure we never try to delete the same capref twice
      capops: retype: if src and dest root cnode are identical only send one copy to monitor
      capops: retype: if src and dest root cnode are identical only send one copy to monitor
      libbarrelfish: add explicit TRACE-points around capop RPCs
      libbarrelfish: add explicit TRACE-points around capop RPCs
      distops_bench: add TRACE-points + harness test for delete_cnode
      distops_bench: add TRACE-points + harness test for delete_cnode
      distops_bench: fix wrong #ifdef in tracing init
      distops_bench: fix wrong #ifdef in tracing init
      distops_bench: fix and simplify distops benchmarking, produce row results for later plotting
      distops_bench: fix and simplify distops benchmarking, produce row results for later plotting
      distops_bench: wrap trace_flush to make it no-op when compiled without tracing support
      distops_bench: wrap trace_flush to make it no-op when compiled without tracing support
      distops_bench: fix delete cnode vary slots
      distops_bench: fix delete cnode vary slots
      Add comment in move_request__rx_handler()
      Add comment in move_request__rx_handler()
      kernel: print rw, dirty and accessed bits when dumping page tables.
      T73: make Appel benchmark use new modify_flags.
      T73: Added option to use direct invocations in Appel benchmark.
      T73: Add more Hake targets for Appel benchmark and change #rounds to 1000.
      T77: Implement selective TLB flushing hint for modify_flags.
      Reintroduce computed selective flush in modify flags
      T80: implement "append-only" memobj and use for sbrk().
      T80: add asserts in pmap modify_flags().
      T80: Implement protect on arbtrary ranges.
      x86_64: T80: implement array-backed pmap.
      Add protect pagefaults test
      T80: x86_64: make pmap region bigger.
      Add pmap datastructure define in hake.
      fix arrakis vmx merge errors and add missing file.
      Minor fixes.
      T81: nested paging test program skeleton (copied from hellotest).
      T81: Fix copyright notice in nested_paging_test.
      T81: implement simple test that maps a 1G page without kernel interaction.
      libbarrelfish,pmap: default to selective assisted flushing when debug global enabled
      T81: factored out nested paging management code.
      T82: checkpoint. Guest domain up. Need to implement hypervisor service.
      T82: implement dynamic EPT mapping.
      arrakis: convert EPT mapping code to use new vnode & mapping API
      T82: 1G ept.
      T82: make EPT translations cacheable + do not reload EPTP when it is unchanged.
      T82: small improvements; do not needlessly context switch in cpu driver; pre-set a/d flags in ept.
      Appel-Li benchmark: update code to match new system implementation.
      T82: fix unintended code duplication and messed-up ifdefs in arrakismon.
      libbarrelfish, pmap: update create_pts_pinned() to new mapping capabilities API
      libbarrelfish,memobj_append: update to frame id with bytes
      libbarrelfish,pmap: deduplicate has_vnodes() for linked list and array pmap implementations
      fixup checkpoint commit
      libbarrelfish,x86,pmap: move static initial slab buffer out of struct pmap_x86.
      Merge distops benchmarking into memory system branch
      Merge memory paper code into memory system branch
      Refactor cowbench
      T166: initial skeletons for pmap-based copy-on-write
      T166: implement lazy-cow init
      T166: implement sketch of exception handler
      T166: add naive measurements for pmap-based cow_init
      T166: cowbench: Add user_panic for release mode; measure init+setup individually
      T166: fix cowbench to work with array-based pmap
      T166: refactor code into clone_vnode (user-space part)
      checkpoint cow_get_ptable
      T166: implement cloning of pte pages using spacejmp vnode_inherit
      T167: implement simple microbenchmark that writes 10% of region uniformly at random.
      Add cowbench to platforms/Hakefile
      T167: improvements to copy-on-write benchmark.
      Merge copy-on-write benchmark into memory system branch.
      libbarrelfish: threads: add thread_exited() query
      T168: modify system to be more/less verbose about pagefaults.
      disable printk for dropped ram caps
      Fix VA layout so that thread slabs are <4GB
      libbarrelfish: x86_64: pmap: Fix slab refilling using fixed allocator
      posixcompat: vfs_fd: fix debug printf formats
      kernel: fix remaining merge errors in vspace management code
      kernel: add debug printf in vnode_inherit handler
      libbarrelfish: correctly initialize all shadow page tables to be marked not cloned
      cowbench: update to new vspace and capability APIs
      libbf,redis: make pmap->refill_slabs take a number of slabs to allocate
      kernel: update copy_remap invocation implementation to use mapping caps
      kernel: paging_copy_remap: add offset to dest addr for memcpy
      pmap_array: have separate slab allocator for child arrays
      pmap_array: update child array slab refilling
      pmap_cow: properly handle page cloning
      kernel,x86_64: Add assertion about mapping cap type
      kernel,x86_64: allow dump of page tables around provided virtual address
      pmap: set next pointer in vnode to null when using PMAP_ARRAY
      libbarrelfish,threads: print core and thread id when exception undeliverable
      libbarrelfish: slab_alloc(): zero slab that we're returning to caller
      libbarrelfish: slot allocators: allocate more metadata space for allocators
      fixup ->next zeroing
      libbarrelfish: cnode_create_l2: add DEBUG_ERR on slot_alloc_root() error
      libbarrelfish: dispatch: gracefully handle NULL pointers in assert_print
      libbarrelfish: dispatch: print coreid when warning about unhandled page faults
      libbarrelfish: debug: print error code when debug_cap_identify() fails
      libbarrelfish,x86_64,pmap: add commented out debug prints in refill_slabs()
      Use new frame identity format in ram_alloc for arrakis
      tracing: trace_reset_buffer: fail when trace_buffer_va == NULL.
      libbarrelfish: fix old-style capaddrs in invocation wrappers
      kernel: fix sys_copy_remap() declaration
      x86_64: libbarrelfish: pmap: create_pts_pinned: change vnode slab refilling to new API
      libbarrelfish,pmap: improve slab refilling code
      libbarrelfish: pmap: move initial slab buffers back into struct pmap_x86.
      T384: x86_64: change shadow page tables to have dedicated cnodes for mapping caps
      T383: add test which checks that vnode_inherit cannot create ptes which survive cap_delete() on mapped cap
      init: add check in mymm_alloc() to catch recursive calls
      T383: Add comment about needing to create mapping caps in vnode_inherit invocation handler
      T383: vnode_inherit: create mapping caps for cloned ptes
      kernel,paging_generic: clean up create_mapping_cap()
      monitor: capops: initialize delete stepping in BSP monitor before going into event loop
      libbbarrelfish: x86: pmap: remove_empty_vnodes: remove slot_free() on mapping slots
      libbarrelfish: x86: pmap: serialise/deserialise: handle mapping caps.
      libbarrelfish: slab_grow: add informative output when called with very small buffer.
      libbarrelfish: pmap: x86: refill ptslabs when deserializing, if PMAP_ARRAY is enabled.
      libbarrelfish: pmap: x86_64: adjust slabs required formulas
      libbarrelfish: x86_64: pmap: instrumentation to debug corner cases in slab refilling
      libbarrelfish: pmap: x86_64: add debug flag to enable slab refill debugging on per-application basis
      kernel: paging_generic: page_mappings_unmap: print debug info when compile_vaddr() returns unexpected error
      Cleanup code + fix appel li for current BF
      harness: add appel li test cases
      kernel: x86_64: fix offset calculation in page_mappings_modify_flags
      kernel: x86_64: print raw values of large and huge page ptes
      kernel,libbarrelfish: implement general purpose direct cap_identify
      harness: appel-li: run tests on core 4 if possible, machine.ncores() - 1 otherwise
      x86_64: make sure the Barrelfish-internal CACHE_LINE_SIZE definition does not clash with the one in machine/param.h
      kernel,x86_64: mask write flag on page table when it is mapped as data page
      libbarrelfish,x86_64,pmap: add facility for applications to get array of leaf shadow page tables.
      Merge upstream (including changes for ubuntu 18.04) into memory system branch
      libbarrelfish,debug: properly print x86_64 EPT mapping caps
      posixcompat: sbrk: add comment about using a memobj_append.
      kernel,x86_64: vnode_inherit: fix call to create_mapping_cap
      libbarrelfish: libarrakis: link against cap_predicates
      T167: add preprocessor error if cowbench compiled with PMAP_LL.
      capabilities: fix static asserts after merge
      update cow pf handlers to new function signature
      harness: distops tests: make distops tests prefix-distinguishable from distops bench
      harness: distops_bench: make matplotlib dependency optional
      harness: distopsbreakdown: remove errant print of options.
      harness: compiler-rt: refactor test builder to make tests with <=25 test cases each.
      libbarrelfish: heap: explicitly store and propagate heap pagesize instead of relying on heap alignment to infer pagesize
      hake: Main.hs: properly concatenate paths in makeFlounderTypesArch.
      armv7: make compile
      libbarrelfish: armv7: pmap: use explicit mapping cnodes for non-root vnode mappings
      libbarrelfish: x86_64: cleanup commented-out cnode allocation for mapping cnodes
      armv8: make compile
      libbarrelfish: armv8: pmap: implement alignment in determine_addr
      libbarrelfish: pmap: prepare for deduplicating shadow page table walking
      libbarrelfish: armv8: pmap: switch to fixed mapping cnodes.
      libbarrelfish: armv8: pmap: add comment about PTABLE_SIZE semantic difference to x86_64.
      platform definitions: make PTABLE_ENTRIES an arch-independent alias for #entries in a pagetable (for x86_64 and aarch64).
      libbarrelfish: pmap: factor out shadow page traversal for x86_64 and armv8
      x86_64,armv8: fix unified pmap walking and pmap_array implementation for aarch64.
      x86_64: fix clashing #defines for X86_64_PTABLE_ENTRIES
      libbarrelfish: pmap: factor out slab refilling from x86_64 and aarch64
      libbarrelfish: control pmap datastructure header through Hakefile
      libbarrelfish: pmap: define pmap_foreach_child.
      libbarrelfish: pmap: Move set_mapping_cap() to pmap_priv.h and use in x86_64.
      libbarrelfish: Delete pmap datastructure public headers, they got moved to lib/barrelfish/include.
      libbarrelfish: unified pmap: do not include unified pmap code in armv7 builds.
      libbarrelfish: unified pmap: refactor slab refilling.
      libbf: use cap_direct_identify for frame_identify and co and replace calls to debug_cap_identify where appropriate
      kernel,armv8: move offsets constants to target/armv8/offsets_target.h
      harness: distops: rename tests back to old scheme and rename benchmarks to bench_distops_*
      libbarrelfish: unified pmap: define pmap_ds_child_t type to remove more #ifdefs
      libbarrelfish, cowbench: move pmap_vnode_mgmt definition into public header
      libarrakis: fix Hakefile to include pmap_ds sources
      kernel: implement access_ok() to check user pointer validity
      libbarrelfish: pmap_array: pmap_vnode_insert_child: store child for each entry it covers.
      libbarrelfish: pmap: do_single_map: only insert child after new vnode fully initialized
      barrelfish: x86: pmap: refactor struct vnode.
      x86: adapt applications to use new struct vnode layout
      libbarrelfish: armv8: pmap: update for new struct vnode layout
      x86_64: fix tests/pagetable to use new struct vnode layout
      libbarrelfish: pmap-ll: fix pmap_foreach_child() macro
      libbarrelfish: move (de-)serialisation out of x86 specific code. Use in aarch64 also.
      harness: rename distops breakdown benchmarks to bench_distops_breakdown_*.
      libbarrelfish: Hakefile: libarrakis: build pmap_serialise.c
      hake: Fix include directories for ARMv8 kernel linker script
      release builds: fix compiler errors on armv8
      libbarrelfish: pmap slab mgmt:  move initial regions for slab allocators into core state.
      k1om: add missing libbarrelfish Hakefile stuff and missing #define
      libbarrelfish: pmap datastructures: hard-select linked-list pmap for armv7
      cowbench: use new pmap vnode mgmt data layout
      kernel,monitor: implement reclaiming of previously dropped ram caps.
      Comment about uartX.out_file for armv7 FVP.
      harness: interactive tests: give console a couple seconds after starting so we avoid test-relevant output being garbled
      libbarrelfish: early cn allocator: move state to ram_alloc_state
      kernel: x86_64: vmkit: handle_dispatcher_setup_guest: save guest root pt address in dcb->vspace and dcb->guest_desc.vspace.
      libbarrelfish: hide mapping cnodes behind #define
      libbarrelfish: actually free mapping cap slots when not using mapping cnodes
      harness: mark tests as finished on kernel panics
      monitor: RAM reclamation: enqueue first sweep with 10ms delay (down from 1s).
      pci: add missing newline in debug output
      kernel: caps_reclaim_ram: zero reclaimed ram slot in KCB.
      kernel: cap_delete: clean up delete list handling.
      libbarrelfish: pmap_array: pmap_refill_slabs: refill vnode slabs again after refilling ptslabs
      harness,tests: add malloc() test with different buffer sizes
      libbarrelfish: pmap serialisation: global mapping cnodes: allocate mapping cnodes in deserialise()  when GLOBAL_MCN is set
      Early cnode allocation: only provide 64 16kB RAM caps per domain for early cnode allocator
      monitor: armv8: add missing DEBUG_INVOCATION statement in invoke_monitor_is_retypeable
      boot: armv8: reduce ARMV8_CORE_DATA_PAGES to 1100 (from 1500).
      kernel: armv8: add missing invocation handler for KernelCmd_Is_retypeable
      tests: distops_delete: use arch-independent invocation to test presence of cap
      kernel: armv7: paging_is_region_valid: add parentheses around bitwise ops for readability
      kernel: access_ok: properly check that buffer is in user space
      libbarrelfish: Refactor Hakefile to allow building multiple versions of libbf with different #defines
      hake: Add new options parameter libraryOs which allows applications to select which libOs to link against
      memtest: add new application build which links against barrelfish_mcn instead of barrelfish
      libbarrelfish: Hakefile: aarch64: move assembly source to arch_assembly
      libbarrelfish: Hakefile: fully unify build commands.
      hake: Use Args.addCFlags and Args.libraryOs to implement arrakisapplication
      libbarrelfish: Hakefile: rewrite to use Args subtype
      libbarrelfish: endpoints: refactor to make EP management invocations unnecessary.
      Remove invoke_frame_identify, replaced with frame_identify().
      libbarrelfish: implement vnode_identify using cap_identify
      libbarrelfish: reimplement deviceid_identify using cap_identify.
      kernel: only allow sys_identify_cap() when target is L1 CNode
      libbarrelfish: Add comment why we still need KCB identify
      kernel,libbarrelfish: Remove Frame identify and Vnode identify invocation handlers and commands
      hake: cxx: Add libraryOs lib to optCxxLibs
      hake: Rewrite libraryOs selection to be more robust.
      harness: add memtest variants which link against all available library os implementations.
      hake: add Args.addCFlags of libraryOs to extraCxxFlags
      libbarrelfish: only include hyper interface if building libarrakis
      libmdb: remove unnecessary library dependency on libbarrelfish
      asmoffsets: add #define PMAP_ARRAY to avoid error.
      hamlet: user_cap_predicates.c: only include static_assert.h and barrelfish_kpi/capabilities.h instead of barrelfish/barrelfish.h
      libbarrelfish: pmap_ll: remove debug printf which uses too many __builtin_return_address() for armv8
      acpi, kaluga: Add missing newlines in debug printfs
      hake: libraryOs flag: use Config.<libraryOsConfig> when building the library OS itself instead of repeating the flags in the Hakefile
      hake,libbarrelfish: simplify libraryOs definition
      docs: hake: Update technote to briefly describe library OS selection
      Merge branch 'memory_system'
      libmultiboot: remove unused variable "buf"
      libbarrelfish: heap: correctly determine number of page to allocate in internal morecore
      dispatcher: remove DISPATCHER_FRAME_BITS, and redefine DISPATCHER_FRAME_SIZE as 512kB.

Stefan Kaestle (2):
      GUPS: make GUPS run within DUNE
      gups: modified benchmark to use 2M pages

Timothy Roscoe (2):
      Added documentation for ARMv8 booting
      Added boot target and qemu support for U-Boot on ARMv8

-- 
Lukas Humbel




More information about the Barrelfish-users mailing list