From 47c7038002085395fa9342d9bff28ce14662c735 Mon Sep 17 00:00:00 2001 From: Aurel Feer Date: Wed, 23 Mar 2022 14:45:50 +0100 Subject: [PATCH 1/2] DispatcherCmd_Stop capability command --- include/barrelfish_kpi/capabilities.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/barrelfish_kpi/capabilities.h b/include/barrelfish_kpi/capabilities.h index 12e683d..9b5422f 100644 --- a/include/barrelfish_kpi/capabilities.h +++ b/include/barrelfish_kpi/capabilities.h @@ -519,6 +519,7 @@ enum kernel_cmd { */ enum dispatcher_cmd { DispatcherCmd_Setup, ///< Set dispatcher parameters + DispatcherCmd_Stop, ///< afeer: script page 105: stop a process DispatcherCmd_Properties, ///< Set dispatcher properties DispatcherCmd_PerfMon, ///< Performance monitoring DispatcherCmd_SetupGuest, ///< Set up the DCB of a guest domain From 2a4e34ed8dd6d03eaa679999424a6b8dc8bebebe Mon Sep 17 00:00:00 2001 From: Aurel Feer Date: Wed, 23 Mar 2022 14:50:04 +0100 Subject: [PATCH 2/2] implement invoke_dispatcher_stop --- include/aos/invocations.h | 5 +++++ lib/spawn/spawn.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/aos/invocations.h b/include/aos/invocations.h index 2fac29d..9c7462e 100644 --- a/include/aos/invocations.h +++ b/include/aos/invocations.h @@ -354,6 +354,11 @@ invoke_dispatcher(struct capref dispatcher, struct capref domdispatcher, dd_caddr).error; } +static inline errval_t invoke_dispatcher_stop(struct capref dispatcher) +{ + return cap_invoke1(dispatcher, DispatcherCmd_Stop).error; +} + static inline errval_t invoke_dispatcher_properties(struct capref dispatcher, diff --git a/lib/spawn/spawn.c b/lib/spawn/spawn.c index 9d9b8c9..cb07ad6 100644 --- a/lib/spawn/spawn.c +++ b/lib/spawn/spawn.c @@ -351,7 +351,7 @@ errval_t spawn_load_argv(int argc, char *argv[], struct spawninfo *si, domain_params->argv[argc] = NULL; domain_params->envp[0] = NULL; - // afeer: script page 104: set the first register using registers_set_param(arch_registers_state_t) + // afeer: script page 104: set the first register registers_set_param(enabled_area, (uint64_t) arguments_page_in_child); // - Make the new dispatcher runnable