]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/control.c
core: Add reconfiguration completion notification
[jailhouse.git] / hypervisor / control.c
index ab10ef4d9e299d8056c042ee99324b5d29ee0cac..ab4073f1fe527f24258c4571491f191cd18cfeff 100644 (file)
@@ -117,6 +117,15 @@ static bool cell_reconfig_ok(struct cell *excluded_cell)
        return true;
 }
 
+static void cell_reconfig_completed(void)
+{
+       struct cell *cell;
+
+       for_each_non_root_cell(cell)
+               cell_send_message(cell, JAILHOUSE_MSG_RECONFIG_COMPLETED,
+                                 MSG_INFORMATION);
+}
+
 static unsigned int get_free_cell_id(void)
 {
        unsigned int id = 0;
@@ -361,6 +370,8 @@ static int cell_create(struct per_cpu *cpu_data, unsigned long config_address)
                arch_park_cpu(cpu);
        }
 
+       cell_reconfig_completed();
+
        printk("Created cell \"%s\"\n", cell->config->name);
 
        page_map_dump_stats("after cell creation");
@@ -497,6 +508,8 @@ static int cell_destroy(struct per_cpu *cpu_data, unsigned long id)
        page_free(&mem_pool, cell, cell->data_pages);
        page_map_dump_stats("after cell destruction");
 
+       cell_reconfig_completed();
+
        cell_resume(cpu_data);
 
        return 0;