Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 389f5592 authored by David Kershner's avatar David Kershner Committed by Greg Kroah-Hartman
Browse files

staging: unisys: Move controlframework into controlvmchannel.h



Controlframework was only needed by controlvmchannel, move the
structures into that header file.

Signed-off-by: default avatarDavid Kershner <david.kershner@unisys.com>
Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 512a67bc
Loading
Loading
Loading
Loading
+0 −62
Original line number Diff line number Diff line
/* 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 */
+31 −1
Original line number Diff line number Diff line
@@ -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