The purpose of this flag is to enable simple cells that do not actively
participate in the Communication Region protocols. The fact that we can
be shut down without prior consultation is one result of this but will
not be the only one in the future. Moreover, we may once use the Comm
Region to pass read-only information to the cells - without requiring
every cell to use the region actively or even map it.
Rename the flag to reflect its refined semantic.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 - Shutdown OK
Note: The hypervisor does not request shutdown permission from a cell if that
- cell has the "Unmanaged Exit" flag set in its configuration (see also
- [2]) or if the cell state is set to "Shut Down" or "Failed" (see below).
+ cell has the "Passive Communication Region" flag set in its configuration
+ (see also [2]) or if the cell state is set to "Shut Down" or "Failed"
+ (see below).
Logical Channel "Cell State"
} ALIGN config = {
.cell = {
.name = "tiny-demo",
- .flags = JAILHOUSE_CELL_UNMANAGED_EXIT,
+ .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
volatile u32 *reply = &cell->comm_page.comm_region.reply_from_cell;
volatile u32 *cell_state = &cell->comm_page.comm_region.cell_state;
- if (cell->config->flags & JAILHOUSE_CELL_UNMANAGED_EXIT)
+ if (cell->config->flags & JAILHOUSE_CELL_PASSIVE_COMMREG)
return true;
jailhouse_send_msg_to_cell(&cell->comm_page.comm_region,
#define JAILHOUSE_CELL_NAME_MAXLEN 31
-#define JAILHOUSE_CELL_UNMANAGED_EXIT 0x00000001
+#define JAILHOUSE_CELL_PASSIVE_COMMREG 0x00000001
struct jailhouse_cell_desc {
char name[JAILHOUSE_CELL_NAME_MAXLEN+1];