// Add a new spawnd to the process manager's list.
message add_spawnd(coreid core, iref iref);
- // Spawn a new domain, returning its domainid cap.
- /*
+ // Spawn a new domain, returning its domain cap.
rpc spawn(in coreid core,
in String path[2048],
in char argvbuf[argvbytes, 2048],
in char envbuf[envbytes, 2048],
in uint8 flags,
out errval err,
- out cap domainid_cap);
+ out cap domain_cap);
+
+ rpc spawn_with_caps(in coreid core,
+ in String path[2048],
+ in char argvbuf[argvbytes, 2048],
+ in char envbuf[envbytes, 2048],
+ in cap inheritcn_cap,
+ in cap argcn_cap,
+ in uint8 flags,
+ out errval err,
+ out cap domain_cap);
+
+ // Span a new core for a given domain, based on provided vroot and dispframe.
+ rpc span(in cap domain_cap, in coreid core, in cap vroot, in cap dispframe,
+ out errval err);
+ // Kill a domain for which the caller has a domain cap.
+ rpc kill(in cap domain_cap, out errval err);
+
+ /*
// Span the caller to a new core.
rpc span(in cap domainid_cap,
in coreid core,
in cap vroot,
in cap disp_mem,
out errval err);
-
- // Kill a domain for which the caller has a domainid cap.
- rpc kill(in cap domainid_cap, out errval err);
*/
// TODO(razvan): exit, wait, status, some other calls from spawn.if?