Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / unisys / common-spar / include / channels / controlframework.h
diff --git a/kernel/drivers/staging/unisys/common-spar/include/channels/controlframework.h b/kernel/drivers/staging/unisys/common-spar/include/channels/controlframework.h
new file mode 100644 (file)
index 0000000..33d9caf
--- /dev/null
@@ -0,0 +1,62 @@
+/* Copyright (C) 2010 - 2013 UNISYS CORPORATION
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
+ * NON INFRINGEMENT.  See the GNU General Public License for more
+ * details.
+ */
+
+/*
+ * Module Name:
+ *  controlframework.h
+ *
+ * Abstract: This file defines common structures in the unmanaged
+ *          Ultravisor (mostly EFI) space.
+ *
+ */
+
+#ifndef _CONTROL_FRAMEWORK_H_
+#define _CONTROL_FRAMEWORK_H_
+
+#include <linux/types.h>
+#include "channel.h"
+
+struct spar_segment_state  {
+       u16 enabled:1;          /* Bit 0: May enter other states */
+       u16 active:1;           /* Bit 1: Assigned to active partition */
+       u16 alive:1;            /* Bit 2: Configure message sent to
+                                * service/server */
+       u16 revoked:1;          /* Bit 3: similar to partition state
+                                * ShuttingDown */
+       u16 allocated:1;        /* Bit 4: memory (device/port number)
+                                * has been selected by Command */
+       u16 known:1;            /* Bit 5: has been introduced to the
+                                * service/guest partition */
+       u16 ready:1;            /* Bit 6: service/Guest partition has
+                                * responded to introduction */
+       u16 operating:1;        /* Bit 7: resource is configured and
+                                * operating */
+       /* Note: don't use high bit unless we need to switch to ushort
+        * which is non-compliant */
+};
+
+static const struct spar_segment_state segment_state_running = {
+       1, 1, 1, 0, 1, 1, 1, 1
+};
+
+static const struct spar_segment_state segment_state_paused = {
+       1, 1, 1, 0, 1, 1, 1, 0
+};
+
+static const struct spar_segment_state segment_state_standby = {
+       1, 1, 0, 0, 1, 1, 1, 0
+};
+
+#endif                         /* _CONTROL_FRAMEWORK_H_ not defined */