#
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>
|
#
6f1b5f71 |
|
19-Dec-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
dispatcher: remove DISPATCHER_FRAME_BITS, and redefine DISPATCHER_FRAME_SIZE as 512kB. This is necessary with the new contents struct dispatcher_<arch> when using array-based pmap on larger machines, as we otherwise run out of room for LMP channel receive buffers in the SKB. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
1bd35ffc |
|
08-Nov-2018 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Early cnode allocation: only provide 64 16kB RAM caps per domain for early cnode allocator This allows us to decrease CORE_DATA_PAGES to 1100 (from 2200), because we don't need to allocate as many 16kB regions for the monitor on each core. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
b62040d2 |
|
08-Dec-2017 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T384: x86_64: change shadow page tables to have dedicated cnodes for mapping caps Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
e53c0471 |
|
05-Mar-2018 |
Reto Achermann <reto.achermann@inf.ethz.ch> |
monitor: hand kaluga the device manager capability Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>
|
#
93751d0a |
|
20-Jun-2017 |
Razvan Damachi <razvan.damachi@gmail.com> |
Add spawn, spawn_with_caps and span calls to the Process Manager API. The process manager keeps local domain state and forwards valid requests to spawnds, acting as a proxy for spawning & spanning. Requests are validated as per the Span-Stop-Cleanup state machine at https://goo.gl/6JuJj2. Spawnd has been enriched with several asynchronous API calls, in order for the process manager to serve requests non-blockingly. Specifically, clients of the process management service issue RPCs to the process manager server (blockingly), but the latter forwards requests to spawnd asynchronously, hence it is able to serve multiple clients at the same time. The client code for spanning uses libbarrelfish/domain.h to create the new dispatcher for the remote core. Bug: if the first dispatcher exits main(), dispatchers spanned on other cores will pagefault. Signed-off-by: Razvan Damachi <razvan.damachi@gmail.com>
|
#
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>
|
#
06f04c77 |
|
21-Sep-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T288: Remove references to DEFAULT_CNODE_BITS and derived values. Closes T288. 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>
|
#
3b8b38f1 |
|
20-Jul-2016 |
Moritz Hoffmann <moritz.hoffmann@hpe.com> |
barrelfish_kpi: Add new ACPI_TABLE region type. Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>
|
#
36753238 |
|
07-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T258: rewrite domain creation to stay inside two level cspace layout * kernel/startup.c: create CNodes that match two level cspace layout for initial domain. * lib/spawndomain: create two-level CSpace for new domain, and keep CN caps in slots where we can edit the CNode contents (e.g. put L1 CNode of new domain into L1 CNode of spawning domain. * lib/barrelfish & KPI: edit caprefs and #defines for Root CNode and other well-defined CNodes to reflect new sizes. Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
c3b00335 |
|
06-Jul-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T258: clean up #defines for L2 CNode Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>
|
#
e2b5a153 |
|
21-Apr-2016 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T191: User space works again with reduced set of provided capabilities.
|
#
aefc456c |
|
18-Nov-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T187: remove cap_copy() calls when mapping same frame multiple times 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>
|
#
8b2e56ce |
|
15-Jun-2015 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
T121: Create "real" BSP KCB cap for x86. 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.
|
#
e505fb1c |
|
10-Nov-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
Cleaned up page cn and physaddr cn creation code.
|
#
e439beda |
|
15-Oct-2014 |
Gerd Zellweger <mail@gerdzellweger.com> |
Move Xeon Phi entries to beginning to avoid compiler warning.
|
#
23c26ce8 |
|
30-Apr-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel: 4x size of supercn to handle larger amounts of RAM.
|
#
aa0947a7 |
|
29-Oct-2013 |
Gerd Zellweger <mail@gerdzellweger.com> |
WIP getting capability for real mode memory. So boot driver can load bootstrap assembly himself.
|
#
5677cc4f |
|
29-Jul-2014 |
Reto Achermann <acreto@student.ethz.ch> |
adapted the K1OM boot to hand over the message frame size to xeon phi.
|
#
78ade5c8 |
|
03-Jun-2014 |
Reto Achermann <acreto@student.ethz.ch> |
Added K1OM architecture specific extensions that pass certain caps / values to the Xeon Phi manager (card side) - Passing of cap for the MMIO space and the System Memory range - passing of base address for the host messaging listener - Removed IO cap
|
#
1f80c81c |
|
30-Apr-2014 |
Reto Achermann <acreto@student.ethz.ch> |
Reverted and applied Simon's patch to solve the supercn problem.
|
#
d13c7d2f |
|
30-Apr-2014 |
Reto Achermann <acreto@student.ethz.ch> |
added entries to gitignore
|
#
d45a3c43 |
|
29-Apr-2014 |
Reto Achermann <acreto@student.ethz.ch> |
Addition of a second supercn. It turned out that running Barrelfish on machines with lots of RAM will results in a error during booting that the supercn has no more space left. As soon as supercn0 has no space left, the allocator will switch to the second supercn1 to store the capabilities. Also memserver will get both endpoints and switches automatically to the next supercn while building up the memory allocator. The maximum size bits are extended to 40. The offsets are adapted to support 1024GB physical memory. The implementation has been tested on qemu prior commit.
|
#
a6b007aa |
|
30-Apr-2014 |
Simon Gerber <simon.gerber@inf.ethz.ch> |
kernel: 4x size of supercn to handle larger amounts of RAM.
|
#
54e7593f |
|
22-Nov-2012 |
Simon Gerber <simugerber@student.ethz.ch> |
Barrelfish (standard config) boots with 1 mapping per cap copy.
|
#
ed27dfea |
|
22-Jun-2012 |
Raphael Fuchs <raphaelfuchs@student.ethz.ch> |
Adding functionality to inherit capabilities and pass capabilities as arguments. The function 'spawn_domain_with_fdcap' was used to spawn a domain and inherit the file descriptors of the current domain. A similar inheritance mechanism is needed for session capabilities. To this end, the function was renamed to 'spawn_domain_with_caps'. It no longer expects an fdcap as one of the arguments but a CNode containing all the capabilities, that should be inherited by the newly spawned domain. The layout of this CNode is convention an defined in include/barrelfish/spawn_client.h. Spawnd knows about these capabilities and copies them to the appropriate places. For example, if the fdcap is present in the inherit CNode, spawnd copies it to the corresponding slot in the task CNode. Moreover, we need the ability to pass arbitrary capabilities to a domain at startup for example to start a device driver. Spawnd does not have to know about these capabilities. Which capabilities are passed in which order is an agreement between spawner and spawnee. To this end, this patch adds another CNode argument to the function 'spawn_domain_with_caps'. If a domain wants to pass certain capabilites to another domain it therefore creates a CNode and places the capabilities in this Cnode and the passes this CNode as an argument to 'spawn_domain_with_caps'. Spawnd makes this CNode available to the spawnee in the ARGCN slot of the root CNode as either a CNode (if spawner and spawnee are on the same core) or a ForeignCNode (if on different cores). The first method of inheriting capabilities and the second method of passing capabilities are intentionally kept as two arguments because of the following reasons: * To account for the difference in their handling. Spawnd knows about the inherited capabilities and places each of them to appropriate places in the spawnee's CSpace. As a result they are available early-on, i.e. before the library initialization code for this domain runs. * Putting both kinds of capabilities in a single flat CNode, would require recompilation of the whole OS after adding a new capability, that should be inherited.
|
#
70c30847 |
|
23-Jan-2012 |
Andrew Baumann <andrew.baumann@microsoft.com> |
remove support for Beehive see the mailing list discussion at the end of December 2011 for motivation
|
#
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.
|