History log of /barrelfish-master/usr/monitor/monitor_rpc_server.c
Revision Date Author Comments
# 172e1344 15-Nov-2019 Lukas Humbel <lukas.humbel@inf.ethz.ch>

armv8: fix compilation on other platforms

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>


# a7700b95 14-Nov-2019 Lukas Humbel <lukas.humbel@inf.ethz.ch>

armv8: implement user space irq routing + lpuart interrupt

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>


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


# 4bccd389 20-Feb-2019 Lukas Humbel <lukas.humbel@inf.ethz.ch>

Turn serial driver into module and fix userspace GIC

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>


# 8ff0486c 13-Nov-2018 Simon Gerber <simon.gerber@inf.ethz.ch>

Remove invoke_frame_identify, replaced with frame_identify().

This commit fully removes the Frame_Identify invocation and replaces the
calls with frame_identify().
Additionally, because the KCB is special, this commit introduces a new
invocation kcb_identify() which translates the lvaddr in the KCB
capability into the pysical address of the kernel control block.

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


# c8e89592 20-Apr-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

monitor: return NULL_CAP on error

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


# d0bf89cc 22-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

monitor: support for registering revoke notifications

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


# 08792fe2 21-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

monitor: don't overwrite monitor state with connection information

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


# 1214c5bc 21-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

monitor: use the creation of endpoints functionality for the RPC server

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


# 43f9cef9 20-Mar-2018 Reto Achermann <reto.achermann@inf.ethz.ch>

flounder: implementing support to pass caps over UMP connection for endpoints

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


# 1ea9a72a 06-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

capops: retype: if src and dest root cnode are identical only send one copy to monitor

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


# 4af9a3ab 06-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

capops: retype: if src and dest root cnode are identical only send one copy to monitor

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


# 61e16e4a 03-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: add TRACE-points to capops_retype()

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


# d970be66 03-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: add TRACE-points to capops_retype()

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


# 1e255e7c 03-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: add TRACE-points to capops_revoke()

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


# b64e97a9 03-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: add TRACE-points to capops_revoke()

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


# 53ed32f6 02-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

distops_bench: Add harness tests for trace data for delete_last{,_remote} and add extra trace points in monitor

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


# 10006349 02-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

distops_bench: Add harness tests for trace data for delete_last{,_remote} and add extra trace points in monitor

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


# 345260e7 06-Nov-2017 Simon Gerber <simon.gerber@inf.ethz.ch>

capops: retype: if src and dest root cnode are identical only send one copy to monitor

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


# a8c4d257 22-Feb-2017 Adam Turowski <adam.turowski@inf.ethz.ch>

flounder: making const pointers in receiving handlers, using CONST_CAST as a temporary solution in few places but finally it should be removed

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>


# 258f0d58 28-Jul-2016 David Cock <david.cock@inf.ethz.ch>

ARMv7: Added arch-specific platform info.

Certain things, such as the number of CPUs, can only be probed easily (or at
all), in the kernel.

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


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

T274: Fix remote retype

Properly propagate source and destiation root cnode throughout monitor retype
code and fix kernel code for monitor cap creation and monitor retype.

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>


# eb4f236c 22-Jun-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T255: kernel cap invocation and monitor RPC to discover architecture and platform.

Closes T255.

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


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

T191: update monitor capops retype

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


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

Squashed changes of e89aa91..6ca6bdf (master as of 2016-04-18).

Take this commit out when merging

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


# 21504120 30-Mar-2016 Lukas Humbel <lukas.humbel@inf.ethz.ch>

IRQ: Making the code actually work. ACPI interface

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>


# 84deeb42 22-Mar-2016 Lukas Humbel <lukas.humbel@inf.ethz.ch>

IRQ: work in progress on receiving side

Signed-off-by: Lukas Humbel <lukas.humbel@inf.ethz.ch>


# ced110dd 26-Feb-2016 Simon Gerber <simon.gerber@inf.ethz.ch>

T191: x86_64: frame_identify returns size in bytes

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


# abea89f1 28-Oct-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: replace cap_destroy() in identify_cap() rpc with capops_delete()

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


# 6ab69e4c 05-Aug-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: remove old capability code

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


# 97d079ac 05-Aug-2015 Simon Gerber <simon.gerber@inf.ethz.ch>

monitor: remove old capability code

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


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

Make kernel create IPI cap which is passed to monitor.

This replaces the create_cap invocation in the monitor that creates an IPI cap
when someone requests a copy of it.


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

Factored out IPI sending invocations to their own cap instead of kernel cap.


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

Replaced get_global_paddr invocation with monitor RPC call.


# a493a5dd 07-Nov-2014 Gerd Zellweger <mail@gerdzellweger.com>

Add proper error codes for failes IRQ cap invocations.


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

Version for Benchmarking.

- Added ap_dispatch lock to measure time to update.
- Benchmark main in x86boot.


# 4b99a8e2 23-Jan-2014 Gerd Zellweger <mail@gerdzellweger.com>

Implemented give.


# 424e4674 22-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Moved interrupt vector allocation into cpu driver.


# 6d52afc2 15-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Fixed x86boot 'take' operation implementation.


# f7f0d859 14-Jan-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

Added moving kcb off shared cpu driver, currently crashes in newly started kernel on target core.


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

Various debugging and disabled mdb sanity checks.


# 5334f369 13-Jan-2014 Gerd Zellweger <mail@gerdzellweger.com>

x86boot can give kcb from a core to core 0.

invoke by calling: x86boot auto give 1 0
Give kcb to other cores than 0 currently untested, and probably does not yet
work.


# fa4deabd 27-Nov-2013 Gerd Zellweger <mail@gerdzellweger.com>

Change x86boot to power down cores.


# d2d9862d 20-Mar-2014 Simon Gerber <simon.gerber@inf.ethz.ch>

turn off monitor and spawn client debugging.


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

fixed stuff + more output.


# b8d995cb 02-Oct-2013 Simon Gerber <simon.gerber@inf.ethz.ch>

Redesigned hw page table dumping to be an invocation on a dispatcher cap.

This has two benefits over the old design where dumping hw page tables was a
kernel cap invocation and took a dispatcher cap as an argument:
1) This is probably the most common use case, you don't have to go through
the monitor if you just want to dump your own hw page tables.
2) A domain which has the dispatcher cap of another domain (mostly because
it's going to spawn said domain) can dump the hw page tables of the
to-be-spawned domain without capability address contortions.


# b054b365 24-Jul-2012 Mark Nevill <nevillm@ethz.ch>

Keep cptrs right-shifted throughout capops.


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

Rewrote distributed revoke and delete handling.


# 1a351f2c 09-Jun-2012 Mark Nevill <nevillm@ethz.ch>

Incomplete cleanup of delete capop to use conts.


# 95b139ef 08-Jun-2012 Mark Nevill <nevillm@ethz.ch>

Refactored retype in monitor.


# 11efc46d 07-Jun-2012 Mark Nevill <nevillm@ethz.ch>

Removed dead code from monitor_rpc_server.


# ba48cea8 30-May-2012 Mark Nevill <nevillm@ethz.ch>

Removed some remaining printfs from capability operations.


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

Added and fixed various debug printfs related to cap operations.


# 088e0857 27-Mar-2012 Mark Nevill <nevillm@ethz.ch>

Moved capops headers into monitor's include dir, added function prefix.


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

Disabled cap_set_remote monitor rpc.


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

Integrated delete & revoke handling.


# 273384cc 02-Jul-2013 Achermann Reto <retoachermann@student.ethz.ch>

Enable user-level interrupt forwarding on ARM.


# 17d03810 15-Jun-2013 Reto Achermann <acreto@student.ethz.ch>

Interrupt Enabling for ARM


# 54ec1c8a 14-Jun-2013 Reto Achermann <acreto@student.ethz.ch>

Added rpc call to monitor to support interrupt handling on the ARM plattfomr
Added function to the intenable library for arm


# 640a3036 25-May-2013 Reto Achermann <acreto@student.ethz.ch>

IRQ handling with hardcoded IRQ id (ehci interrupt) in monitor.

Interrupt handling on usb_manager level i.e. the host controller interrupt handlers
are called.

--HG--
rename : include/usb/class/usb_hub_request.h => include/usb/class/usb_hub.h
rename : usr/drivers/usb/usb_manager/usb_hub.c => usr/drivers/usb/usb_manager/hub/usb_hub.c
rename : usr/drivers/usb/usb_manager/usb_hub.h => usr/drivers/usb/usb_manager/hub/usb_hub.h


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

Added code to dump hardware page tables from user space.


# 9539e7c5 10-Mar-2012 Gerd Zellweger <zgerd@student.ethz.ch>

Request I/O caps over monitor for PCI/ACPI.


# 7c72d69f 08-Mar-2012 Gerd Zellweger <zgerd@student.ethz.ch>

Request I/O caps through RPC call.


# 4e97b7c8 07-Mar-2012 Gerd Zellweger <zgerd@student.ethz.ch>

some changes in cap handling for acpi, but still does not work...


# 771ee7ca 29-Feb-2012 Gerd Zellweger <zgerd@student.ethz.ch>

Added blocking call to get physical and I/O caps from monitor.


# 48800060 05-Feb-2012 Kornilios Kourtis <kkourt@inf.ethz.ch>

newlib,x86_32: use int32_t (and not int) for message callbacks

Newlib's definition of int32_t (which is used by flounder backend for int)
created compiling problems. Note that in principle different CPUs may have a
different representation of int.


# 38f02e71 11-Jan-2012 Andrew Baumann <andrew.baumann@microsoft.com>

clean up and add some flexbility to mapping of APIC IDs and core IDs

* introduced kernel boot parameter to control the core ID for the BSP
(on x86, where it was always zero)
* introduced spawnd parameter to allow all core IDs to start from an offset
(I'm using this for boot on MIC)
* added monitor API to query the local core's APIC ID (some drivers might need it)
* fixed some kernel paths that were needlessly reading the APIC ID out of the
APIC all the time


# 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


# 1b898a66 27-Dec-2011 Andrew Baumann <andrew.baumann@microsoft.com>

Remove old routing/group communication library.

As discussed briefly on the list (22.{02,12}.2011), the library was
unused since early this year, and has been deprecated because it:
* is unable to interface to flounder/THC
* assumes that a set of core IDs can be expressed in a single-word bitmap
* doesn't work on machines with large (> 32?) numbers of cores (but
this is probably just a bug?)

Since we have the new multihop code in the tree, and seem to have
decided that this is an architectural dead-end, I'm removing this code
in the interest of least confusion as we start building functionality
on the new multihop code.

The one major side-effect of this change is that it is no longer
possible to compile the non-NULL remote cap management database
implementations (rcap_db_central, rcap_db_twopc). The code remains in
the tree for future resurrection, however.


# 73eb23c9 20-Dec-2011 Andrew Baumann <andrew.baumann@microsoft.com>

move bootinfo request messages to monitor's RPC interface; introduce flounderExtraDefs

flounderExtraDefs fixes the problem of needing a dependency on the
header files for an RPC interface, without causing the code for that
interface to be generated (e.g. because it is already part of
libbarrelfish)


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