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..876fddc2 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, "Comm 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.

Reply via email to