History log of /barrelfish-master/kernel/include/capabilities.h
Revision Date Author Comments
# 9bd8d1d5 03-Apr-2019 Reto Achermann <reto.achermann@inf.ethz.ch>

replacing umlaute and fixing address in headers Haldeneggsteig -> Universitaetsstrasse

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>


# 81781123 01-Nov-2018 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,monitor: implement reclaiming of previously dropped ram caps.

Until now, if the kernel couldn't return a freed region of physical
memory to the monitor, e.g. because the monitor was not ready yet, or
the monitor's receive slot is already occupied, it would drop the range
and print a diagnostic message.

With this change, the cpu driver has 4 slots per KCB in which it can
store a range that would be dropped. The monitor gets a new kernel cap
invocation which allows it to retrieve one of the stored slots, if any.
The monitor runs a deferred event loop which checks if there's a range
to retrieve every second, and forwards any retrieved ranges to the
memory server.

The retrieval is very similar to a capops delete step, but does not
happen inside the capops machinery because the need for an action are
not coupled to a capability operation.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 5ef61ece 23-Oct-2018 Simon Gerber <simon.gerber@inf.ethz.ch>

libbf: use cap_direct_identify for frame_identify and co and replace calls to debug_cap_identify where appropriate

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# c8597501 17-Oct-2018 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,x86_64: allow dump of page tables around provided virtual address

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 1c079728 04-Dec-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel: update copy_remap invocation implementation to use mapping caps

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 30b6237b 18-Oct-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T167: improvements to copy-on-write benchmark.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# a2f1e286 23-Mar-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T82: checkpoint. Guest domain up. Need to implement hypervisor service.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 29734f4d 11-Dec-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel: capabilities: mapping types: remove offset field and switch to ptable+entry

To eliminate the need for looking up page table capabilities by address when
cleaning up mappings etc, we switch the mapping capability types to hold a
pointer to the page table capability and the entry in the capability instead
of just a pointer to the first page table entry which corresponds to the
mapping.

To make room for the additional two bytes, we remove the offset into the
mapped capability which was present in the mappings but never used.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# f5426458 06-Oct-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T166: x86_64: implement vnode_modify_flags

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 83ef5171 12-Jun-2017 Razvan Damachi <razvan.damachi@gmail.com>

Create "ProcessManager" and "Domain" capabilities.

The ProcessManager capability is created by the CPU driver at startup and given
to init, where it will be passed on to the monitor and then the process manager
subsequently.

The Domain capability is an ID-like cap retypeable from the ProcessManager cap
above. The process management server can hence use the ProcessManager cap to
create Domain caps and give them to spawnd instances, to facilitate identifying
domains locally and globally.

Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>


# 2874a676 11-Oct-2016 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

Removed unused cap type Notify_RCK.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>


# dbb93e82 27-Sep-2016 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

T291: Implement offset in mapping capabilities.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>


# 10957289 05-Aug-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T258: Delete GPT cspace functionality and rename new functions

This commit deletes all the old GPT cnode code, and renames the new two-level
functions to the "old" names (e.g. caps_lookup_slot() is now a two-level
cspace function).

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 17948f60 22-Jul-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T258, T264, T270: Implement two-level cspace layout using L1/L2 CNode objects.

distops functionality is NYI.

This commit also makes the root cnodes explicit for sys_map(), closes T270.

Notable changes:
* LRPC LMP endpoints are regular capabilities in L2 cnode, no longer in root
cnode.
* Capability operations take a capability address for the root cnode relative
to which capability addresses are to be resolved. The root cnode capability
address must be resolvable in the current domains cspace.

Closes T264.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 1fc0b5ef 04-Jul-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T264: Add L1 and L2 CNode cap types

Cannot create new types yet, as implementations for caps_retype() and
check_caps_create_arguments() are missing.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 12417e47 13-Jun-2016 Moritz Hoffmann <moritz.hoffmann@hpe.com>

capabilities TRACE_PMEM update capability list

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>


# e07e9496 20-Apr-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T191: remove old caps_retype() code from kernel

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# fc178d20 20-Apr-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

Fix cap tracing static assert

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# c80cb48d 18-Apr-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T191: Implement prototype for new retype

The new retype call takes an offset into the source cap and a count of objects
to create. This is different from the old call that just took a source and
created as many new objects as fit into that source (determined by source size
and requested size for new objects).

Currently available as `cap_retype2(dest_start, src, offset, new_type, objsize, count);`

Note that this is not used anywhere yet.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 1d126b9c 20-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel: 32bit: fix capability tracing

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# dd85ebe4 18-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: paging_generic: fix unmap_capability()

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 1afe32bb 18-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: change vnode_unmap() to only take ptable and mapping caps

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# bd42059e 17-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: x86_64: squash capability size to 64 bytes

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 88731906 17-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: Remove mapping_info and rewrite code that depended on it.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 7a7afdec 17-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: kernel unmarshalling of mapping cap slot

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 046bddba 17-Nov-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T187: Add Mapping cap types

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# 146e4e08 16-Nov-2015 David Cock <david.cock@inf.ethz.ch>

Clean merge of HP's ARMv8 code

This adds support for an ARMv8 core running in the GEM5 simulator

Signed-off-by: David Cock <david.cock@inf.ethz.ch>


# 4d19b870 21-Sep-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

libbarrelfish: provide list of ORed ObjType_s for cap tracing.

This addresses the issue that we provide a boolean value for the kernel
function that controls whether to trace all operations on physical memory
capabilitites which expects a list of ORed ObjType_s.

Closes T164.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# af59ae7e 15-Jun-2015 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

T119: kernel, spawn, libbarrelfish, fish: Remove DEBUG_PRINT_CAPABILITIES syscall. Use capinvoke from fish instead. Improve output formatting.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>


# a8e5baf2 15-Jun-2015 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

T119: work in progress, use mdb tree call-back function to gather data

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>


# 6ed71d68 11-Jun-2015 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

T119: implement syscall and monitor interface to debug_print_capabilities

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>


# 47cce963 11-Mar-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

T77: Implement selective TLB flushing hint for modify_flags.

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# d5b4ded3 03-Mar-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel: Fix and deduplicate cte_for_cap().

Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>


# a7b38636 21-Nov-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Removed function declearations for non-existant functions.


# eeb13f4f 31-Oct-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

pmem tracing: make default enable types to trace all types.


# dc51fb48 28-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

armv7: fixed stuff and added missing invocation handlers.


# c549a935 27-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

armv7: compiles.


# 11c2c36d 18-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

fixed stuff + more output.


# 50ceb28d 17-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Added forwarding of free'd ram to core 0 + more debug messages


# 7cf6d00d 31-Jul-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Added debug syscall & Config.hs variable for physmem capability tracing.


# 8c6907da 18-Jul-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed merge errors in kernel/include/capabilities.h


# cd9c7033 03-Aug-2012 Mark Nevill <mark@nevill.ch>

Implemented monitor_delete_foreign invocation.

This invocation is used when deleting the last copy of a non-moveable
cap on its owning core. In this case, because the owner cannot be
migrated, all foreign caps must also be deleted, for which this
invocation is run on each monitor with foreign copies.


# b9db7ed3 03-Jul-2012 Mark Nevill <nevillm@ethz.ch>

Rewrote distributed revoke and delete handling.


# 62903391 31-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Disabled kernel mem cap tracing.


# c1b9d681 31-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Added message argument to cap tracing to ease debugging.


# 83da9428 31-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Handle NULL cte in TRACE_CAP macro.


# c4d92709 29-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Added basic framework for tracing in-kernel cap operations covering a particular memory region.


# 66cda2cf 28-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Made caps_try_delete static in cap_delete.c as it has no external references.


# 897499a8 26-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Properly set cap ownership when creating new caps in the kernel.


# 2633a91c 20-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Integrated delete & revoke handling.


# ba57ae83 14-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Integrated capops with monitor_cap_create.

Note that cap_create_from_existing does not currently check that the
supplied owner matches existing local copies of the cap.


# 3fb36804 12-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Added distcap state to struct cte in kernel.


# 277edd07 30-Jan-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

armv5: implemented new modify_flags invocation.


# c0763898 18-Jan-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

x86_64: Implemented modifying flags for parts of mapped regions.


# 3962edb6 27-Nov-2012 Simon Gerber <simon.gerber@inf.ethz.ch>

Cleanup function names and converted printfs to debug() in kernel component of new memory interface.


# 16a3ba1b 22-Nov-2012 Simon Gerber <simugerber@student.ethz.ch>

x86: Added mapped capability in unmap syscall arguments.


# 422cbdc7 22-Nov-2012 Simon Gerber <simugerber@student.ethz.ch>

Implemented new VNode_Map syscall.


# a0e28164 22-Nov-2012 Simon Gerber <simugerber@student.ethz.ch>

Added code to dump hardware page tables from user space.


# d293fe53 22-Nov-2012 Simon Gerber <simugerber@student.ethz.ch>

Added unmap on cap_delete for pmem capabilities.


# 96df4814 22-Nov-2012 Simon Gerber <simugerber@student.ethz.ch>

Implemented unmap with checks. Fixed unmap_region to unmap each frame individually.


# 25ea40d7 22-Nov-2012 Simon Gerber <simon.gerber@inf.ethz.ch>

Added struct mapping_info to struct cte. Implemented compile_vaddr.


# 84539d5c 25-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Adapt existing mdb functions in kernel to use new tree.


# 1df2e3a7 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Moved mdb errors into errno.fugu, split headers.


# 52c61712 28-Dec-2011 Zeus Gómez Marmolejo <zeus.gomez@bsc.es>

Replaced caddr_t type with capaddr_t to avoid conflict with libc

for i in $(find . -type f)
do
grep -r caddr_t $i
if [ $? -eq 0 ]
then
sed 's/caddr_t/capaddr_t/g' $i > $i.sed
mv $i.sed $i
fi
done


# 559955b4 02-Aug-2011 Simon Peter <speter@inf.ethz.ch>

Merge from ASPLOS tree.


# 9299dcef 08-Jul-2011 Stefan Kästle <stefan.kaestle@inf.ethz.ch>

Initial version of public stable barrelfish repository.