History log of /barrelfish-master/lib/mdb/mdb_tree.c
Revision Date Author Comments
# 4213f5b8 15-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

caps: adding endpoint cap type for UMP endpoints

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


# c7030cf1 05-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

caps: adding a new capability type for devices

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


# 6f321005 28-Feb-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

caps: adding capability definitions for the Intel VT-d IOMMU root and context tables

Signed-off-by: Reto Achermann <reto.achermann@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>


# 2614f67c 27-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

Add mdb operation counts to calculate scores for different implementations

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


# 07645779 27-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

Add mdb operation counts to calculate scores for different implementations

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


# cc693c76 09-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,mdb: cleanup delete tracing

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


# f4bd3dd5 09-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,mdb: cleanup delete tracing

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


# c4826ce8 09-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,mdb: add trace points on caps_delete() path

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


# 25af6037 09-Oct-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

kernel,mdb: add trace points on caps_delete() path

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


# 54207f1f 25-Aug-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

Implement get_mdb_size() debug syscall

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


# c1c6635e 25-Aug-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

Implement get_mdb_size() debug syscall

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


# 2657dd4a 01-Oct-2017 Reto Achermann <reto.achermann@inf.ethz.ch>

fixing compilation for release mode

Signed-off-by: Reto Achermann <reto.achermann@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>


# 58100472 29-Aug-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: wrap function that is only used with assertions enabled in #ifndef NDEBUG

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


# 540747e9 14-Dec-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: add argument sanity check in mdb_is_inside()

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


# 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>


# 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>


# 0752b78f 03-Feb-2016 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

mdb_traverse: remove typedef for tree traversal direction

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


# de1ac3fe 12-Jun-2015 Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

Fixes T120: mdb: Add mdb tree traversal functions.

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


# af6735b9 07-Dec-2014 Gerd Zellweger <mail@gerdzellweger.com>

Make sure test programs compile again.


# f3db870a 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: fixed potention NULL deref in mdb_is_reachable().


# b162fc41 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: fixed CHECK_INVARIANTS() macro (again).


# a5f169d8 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: Fixed broken CHECK_INVARIANTS macro when MDB_RECHECK_INVARIANTS defined.


# 12011e0e 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: Improved top-level assertion checking preprocessor switch.

* Moved assertions about reachability of nodes being inserted/removed inside
toplevel invariant checking macros


# c06c2b45 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed typo in libmdb Hakefile and removed duplicate invariant checking.


# f7ca4439 05-Dec-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

libmdb: added config flags and macros for toplevel invariant checking.


# 033cc92e 28-Nov-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Added non-recursive invariant checks in libmdb.


# 2af3119a 10-Nov-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Added noreturn attribute to mdb_dump_and_fail().


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

Added new mdb tracing option and some assertions.


# 76e9afab 28-Oct-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Trace all mdb inserts and deletes.


# be3a5c21 25-Jan-2014 Gerd Zellweger <mail@gerdzellweger.com>

Assert that kcb is set.


# 237e5bdf 13-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Various debugging and disabled mdb sanity checks.


# 2a0bbc6f 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Remove temporary if in mdb:set_root().


# b0b9b3db 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Made mdb update kcb if compiled in 'kernel mode' and adapted mdb tests.


# 07a7b1e9 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed mdb_skew and mdb_split to properly update root node if necessary.


# c47df437 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Added mdb_init() to set mdb root node to arbitrary address.

This function is supposed to be used in conjunction with the value of mdb_root
in the kcb. The function ensures that the value that is set is the root of a
valid mdb tree by running the sanity checks and invariant checks on the
address.


# 196f6746 20-Aug-2014 Stefan Kaestle <stefan.kaestle@inf.ethz.ch>

Cleanup

This should now be equivalent to previous dc2b342


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

monitor debug stuff + other debug msgs.


# 62c38457 05-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Mark's capabilities merged with upstream.

Test Plan: Run all harness tests

Reviewers: zgerd

Differential Revision: https://code.systems.ethz.ch/D1


# 1e356b12 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed mdb_skew and mdb_split to properly update root node if necessary.


# dc9eef6e 17-Dec-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed mdb_skew and mdb_split to properly update root node if necessary.


# f0f90877 16-May-2012 Mark Nevill <nevillm@ethz.ch>

Added individual remote relations bits for copies/ancestors/descendants.


# 4b400867 22-May-2012 Mark Nevill <nevillm@ethz.ch>

Added tests and benchmarks for MDB.


# 0b646168 23-May-2012 Mark Nevill <nevillm@ethz.ch>

Fixed wrong assertion in mdb range query algorithm.


# 4d7fccdf 16-Apr-2012 Mark Nevill <nevillm@ethz.ch>

Fixed handling of 0-length range queries in MDB.
They are now roughly equivalent to length 2 range search from addr-1 to
addr+1, except without the partial matches.


# ee269dd3 22-Feb-2012 Mark Nevill <nevillm@ethz.ch>

remove slow asserts from MDB. ARM tests pass.


# 36f841e5 08-Feb-2012 Mark Nevill <nevillm@ethz.ch>

Fixed warning on builds with -DNDEBUG.


# e574e2be 06-Feb-2012 Mark Nevill <nevillm@ethz.ch>

Fixed wrong size type in definition of mdb_find_range.


# fdab5772 02-Feb-2012 Mark Nevill <nevillm@ethz.ch>

Fixed tracing macros.


# cfc8ed9b 27-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Added and extended MDB code/API documentation.


# 7c36af2e 26-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Put tracing and invariant checks in PP blocks.


# 78b49039 26-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Fixed bug in set_cap_remote.


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

Adapt existing mdb functions in kernel to use new tree.


# d54b2389 23-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Updated mdb_tree for new cap_predicates.


# 6e6f97ea 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Unified method prefixes for cap getters.


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

Added support for multiple roots.


# 2212ee89 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Added CAPS_ERR_INVALID_ARGS for use by mdb_find_range.


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

Check value ordering in mdb_check_invariants.


# 3cb9b219 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Added tiebreak arg to cap_compare, set to false for address queries.


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

Moved mdb errors into errno.fugu, split headers.


# 0e09d6b9 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Fixed passing ctes instead of capabilities to "choose" functions.


# 4ba220d3 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Added comments on inout/out arguments in find_range code.


# 84b3c33f 12-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Removed unused mdb_choose_result function.


# 44fa7bec 11-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Augmented AA tree for handling ranges, added range query API.


# c7a8f9e6 10-Jan-2012 Mark Nevill <nevillm@ethz.ch>

Created lib/mdb with AA tree implementation.