A cell may set this state if its internal ABI of the communication region is incompatibel to the one provided by the hypervisor.
Signed-off-by: Ralf Ramsauer <[email protected]> --- driver/sysfs.c | 2 ++ hypervisor/control.c | 1 + include/jailhouse/hypercall.h | 1 + 3 files changed, 4 insertions(+) diff --git a/driver/sysfs.c b/driver/sysfs.c index de25131c..4e1588f7 100644 --- a/driver/sysfs.c +++ b/driver/sysfs.c @@ -215,6 +215,8 @@ static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr, return sprintf(buffer, "shut down\n"); case JAILHOUSE_CELL_FAILED: return sprintf(buffer, "failed\n"); + case JAILHOUSE_CELL_FAILED_COMM_REV: + return sprintf(buffer, "ABI mismatch\n"); default: return sprintf(buffer, "invalid\n"); } diff --git a/hypervisor/control.c b/hypervisor/control.c index df054cfb..1025852f 100644 --- a/hypervisor/control.c +++ b/hypervisor/control.c @@ -695,6 +695,7 @@ static int cell_get_state(struct per_cpu *cpu_data, unsigned long id) case JAILHOUSE_CELL_RUNNING_LOCKED: case JAILHOUSE_CELL_SHUT_DOWN: case JAILHOUSE_CELL_FAILED: + case JAILHOUSE_CELL_FAILED_COMM_REV: return state; default: return -EINVAL; diff --git a/include/jailhouse/hypercall.h b/include/jailhouse/hypercall.h index 6142b042..e2d43912 100644 --- a/include/jailhouse/hypercall.h +++ b/include/jailhouse/hypercall.h @@ -88,6 +88,7 @@ #define JAILHOUSE_CELL_RUNNING_LOCKED 1 #define JAILHOUSE_CELL_SHUT_DOWN 2 /* terminal state */ #define JAILHOUSE_CELL_FAILED 3 /* terminal state */ +#define JAILHOUSE_CELL_FAILED_COMM_REV 4 /* terminal state */ #define COMM_REGION_ABI_REVISION 0 #define COMM_REGION_MAGIC "JHCOMM" -- 2.17.0 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
