summaryrefslogtreecommitdiffstats
path: root/drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h
diff options
context:
space:
mode:
authorDavid Kershner2015-05-13 19:22:03 +0200
committerGreg Kroah-Hartman2015-05-24 22:28:54 +0200
commit389f55920bee9e00ce4007e62ef9ceac39caec3b (patch)
treecda0a5a8c2c81b229a528ea33f22743b0f6a711b /drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h
parentstaging: unisys: move hypervisor calls into visorbus (diff)
downloadkernel-qcow2-linux-389f55920bee9e00ce4007e62ef9ceac39caec3b.tar.gz
kernel-qcow2-linux-389f55920bee9e00ce4007e62ef9ceac39caec3b.tar.xz
kernel-qcow2-linux-389f55920bee9e00ce4007e62ef9ceac39caec3b.zip
staging: unisys: Move controlframework into controlvmchannel.h
Controlframework was only needed by controlvmchannel, move the structures into that header file. Signed-off-by: David Kershner <david.kershner@unisys.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h')
-rw-r--r--drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h b/drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h
index f1c86fbc126c..a50d9cf4bed7 100644
--- a/drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h
+++ b/drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h
@@ -18,7 +18,6 @@
#include <linux/uuid.h>
#include "channel.h"
-#include "controlframework.h"
/* {2B3C2D10-7EF5-4ad8-B966-3448B7386B3D} */
#define SPAR_CONTROLVM_CHANNEL_PROTOCOL_UUID \
@@ -56,6 +55,37 @@
/* Max num of messages stored during IOVM creation to be reused after crash */
#define CONTROLVM_CRASHMSG_MAX 2
+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
+};
+
/* Ids for commands that may appear in either queue of a ControlVm channel.
*
* Commands that are initiated by the command partition (CP), by an IO or