From lukas.humbel at inf.ethz.ch Mon Mar 23 10:23:43 2020 From: lukas.humbel at inf.ethz.ch (Lukas Humbel) Date: Mon, 23 Mar 2020 10:23:43 +0100 Subject: [Barrelfish-users] New Barrelfish Release Message-ID: 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. 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 From ryx at gwmail.gwu.edu Mon Mar 23 12:50:03 2020 From: ryx at gwmail.gwu.edu (Yuxin Ren) Date: Mon, 23 Mar 2020 07:50:03 -0400 Subject: [Barrelfish-users] New Barrelfish Release In-Reply-To: References: Message-ID: 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 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. 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: