[Barrelfish-users] New Barrelfish Release
Yuxin Ren
ryx at gwmail.gwu.edu
Mon Mar 23 12:50:03 CET 2020
Hi,
The new release of the Barrelfish is amazing.
Do you have any publications or relevant papers on the user-space driver
management?
Thanks
Yuxin
On Mon, Mar 23, 2020 at 5:23 AM Lukas Humbel <lukas.humbel at inf.ethz.ch>
wrote:
> 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
>
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20200323/0d52e371/attachment-0001.html>
More information about the Barrelfish-users
mailing list