ia64/xen-unstable

changeset 6827:94990f123e5e

Remove unsued domain_controller.h file.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Wed Sep 14 10:58:00 2005 +0000 (2005-09-14)
parents f5ff107742ce
children cc1572db6a3d
files extras/mini-os/include/hypervisor.h linux-2.6-xen-sparse/drivers/xen/blkback/common.h linux-2.6-xen-sparse/drivers/xen/blkback/vbd.c linux-2.6-xen-sparse/drivers/xen/blktap/common.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypervisor.h tools/console/daemon/io.c tools/console/daemon/utils.c tools/libxc/xc_linux_save.c tools/xenstore/xenstored_core.c
line diff
     1.1 --- a/extras/mini-os/include/hypervisor.h	Wed Sep 14 09:20:21 2005 +0000
     1.2 +++ b/extras/mini-os/include/hypervisor.h	Wed Sep 14 10:58:00 2005 +0000
     1.3 @@ -14,9 +14,6 @@
     1.4  
     1.5  #include <types.h>
     1.6  #include <xen/xen.h>
     1.7 -#include <xen/io/domain_controller.h>
     1.8 -
     1.9 -
    1.10  
    1.11  /*
    1.12   * a placeholder for the start of day information passed up from the hypervisor
     2.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/common.h	Wed Sep 14 09:20:21 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/common.h	Wed Sep 14 10:58:00 2005 +0000
     2.3 @@ -33,7 +33,7 @@ struct vbd {
     2.4      blkif_vdev_t   handle;      /* what the domain refers to this vbd as */
     2.5      unsigned char  readonly;    /* Non-zero -> read-only */
     2.6      unsigned char  type;        /* VDISK_xxx */
     2.7 -    blkif_pdev_t   pdevice;     /* phys device that this vbd maps to */
     2.8 +    u32            pdevice;     /* phys device that this vbd maps to */
     2.9      struct block_device *bdev;
    2.10  }; 
    2.11  
    2.12 @@ -65,11 +65,6 @@ typedef struct blkif_st {
    2.13      grant_ref_t shmem_ref;
    2.14  } blkif_t;
    2.15  
    2.16 -void blkif_create(blkif_be_create_t *create);
    2.17 -void blkif_destroy(blkif_be_destroy_t *destroy);
    2.18 -void blkif_connect(blkif_be_connect_t *connect);
    2.19 -int  blkif_disconnect(blkif_be_disconnect_t *disconnect, u8 rsp_id);
    2.20 -void blkif_disconnect_complete(blkif_t *blkif);
    2.21  blkif_t *alloc_blkif(domid_t domid);
    2.22  void free_blkif_callback(blkif_t *blkif);
    2.23  int blkif_map(blkif_t *blkif, unsigned long shared_page, unsigned int evtchn);
    2.24 @@ -82,7 +77,7 @@ int blkif_map(blkif_t *blkif, unsigned l
    2.25      } while (0)
    2.26  
    2.27  /* Create a vbd. */
    2.28 -int vbd_create(blkif_t *blkif, blkif_vdev_t vdevice, blkif_pdev_t pdevice,
    2.29 +int vbd_create(blkif_t *blkif, blkif_vdev_t vdevice, u32 pdevice,
    2.30  	       int readonly);
    2.31  void vbd_free(struct vbd *vbd);
    2.32  
     3.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/vbd.c	Wed Sep 14 09:20:21 2005 +0000
     3.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/vbd.c	Wed Sep 14 10:58:00 2005 +0000
     3.3 @@ -9,7 +9,7 @@
     3.4  #include "common.h"
     3.5  #include <asm-xen/xenbus.h>
     3.6  
     3.7 -static inline dev_t vbd_map_devnum(blkif_pdev_t cookie)
     3.8 +static inline dev_t vbd_map_devnum(u32 cookie)
     3.9  {
    3.10      return MKDEV(BLKIF_MAJOR(cookie), BLKIF_MINOR(cookie));
    3.11  }
    3.12 @@ -33,7 +33,7 @@ unsigned long vbd_secsize(struct vbd *vb
    3.13  }
    3.14  
    3.15  int vbd_create(blkif_t *blkif, blkif_vdev_t handle,
    3.16 -	       blkif_pdev_t pdevice, int readonly)
    3.17 +	       u32 pdevice, int readonly)
    3.18  {
    3.19      struct vbd *vbd;
    3.20  
     4.1 --- a/linux-2.6-xen-sparse/drivers/xen/blktap/common.h	Wed Sep 14 09:20:21 2005 +0000
     4.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/common.h	Wed Sep 14 10:58:00 2005 +0000
     4.3 @@ -35,7 +35,7 @@ struct vbd {
     4.4      blkif_vdev_t   handle;      /* what the domain refers to this vbd as */
     4.5      unsigned char  readonly;    /* Non-zero -> read-only */
     4.6      unsigned char  type;        /* VDISK_xxx */
     4.7 -    blkif_pdev_t   pdevice;     /* phys device that this vbd maps to */
     4.8 +    u32            pdevice;     /* phys device that this vbd maps to */
     4.9      struct block_device *bdev;
    4.10  }; 
    4.11  
    4.12 @@ -67,11 +67,6 @@ typedef struct blkif_st {
    4.13      grant_ref_t shmem_ref;
    4.14  } blkif_t;
    4.15  
    4.16 -void blkif_create(blkif_be_create_t *create);
    4.17 -void blkif_destroy(blkif_be_destroy_t *destroy);
    4.18 -void blkif_connect(blkif_be_connect_t *connect);
    4.19 -int  blkif_disconnect(blkif_be_disconnect_t *disconnect, u8 rsp_id);
    4.20 -void blkif_disconnect_complete(blkif_t *blkif);
    4.21  blkif_t *alloc_blkif(domid_t domid);
    4.22  void free_blkif_callback(blkif_t *blkif);
    4.23  int blkif_map(blkif_t *blkif, unsigned long shared_page, unsigned int evtchn);
    4.24 @@ -84,7 +79,7 @@ int blkif_map(blkif_t *blkif, unsigned l
    4.25      } while (0)
    4.26  
    4.27  /* Create a vbd. */
    4.28 -int vbd_create(blkif_t *blkif, blkif_vdev_t vdevice, blkif_pdev_t pdevice,
    4.29 +int vbd_create(blkif_t *blkif, blkif_vdev_t vdevice, u32 pdevice,
    4.30  	       int readonly);
    4.31  void vbd_free(struct vbd *vbd);
    4.32  
     5.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypervisor.h	Wed Sep 14 09:20:21 2005 +0000
     5.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypervisor.h	Wed Sep 14 10:58:00 2005 +0000
     5.3 @@ -36,7 +36,6 @@
     5.4  #include <linux/version.h>
     5.5  #include <asm-xen/xen-public/xen.h>
     5.6  #include <asm-xen/xen-public/dom0_ops.h>
     5.7 -#include <asm-xen/xen-public/io/domain_controller.h>
     5.8  #include <asm/ptrace.h>
     5.9  #include <asm/page.h>
    5.10  #if defined(__i386__)
     6.1 --- a/tools/console/daemon/io.c	Wed Sep 14 09:20:21 2005 +0000
     6.2 +++ b/tools/console/daemon/io.c	Wed Sep 14 10:58:00 2005 +0000
     6.3 @@ -22,10 +22,8 @@
     6.4  
     6.5  #include "utils.h"
     6.6  #include "io.h"
     6.7 -
     6.8  #include "xenctrl.h"
     6.9  #include "xs.h"
    6.10 -#include "xen/io/domain_controller.h"
    6.11  
    6.12  #include <malloc.h>
    6.13  #include <stdlib.h>
     7.1 --- a/tools/console/daemon/utils.c	Wed Sep 14 09:20:21 2005 +0000
     7.2 +++ b/tools/console/daemon/utils.c	Wed Sep 14 10:58:00 2005 +0000
     7.3 @@ -34,8 +34,6 @@
     7.4  #include <string.h>
     7.5  
     7.6  #include "xenctrl.h"
     7.7 -#include "xen/io/domain_controller.h"
     7.8 -
     7.9  #include "utils.h"
    7.10  
    7.11  struct xs_handle *xs;
     8.1 --- a/tools/libxc/xc_linux_save.c	Wed Sep 14 09:20:21 2005 +0000
     8.2 +++ b/tools/libxc/xc_linux_save.c	Wed Sep 14 10:58:00 2005 +0000
     8.3 @@ -14,8 +14,6 @@
     8.4  
     8.5  #include "xg_private.h"
     8.6  
     8.7 -#include <xen/io/domain_controller.h>
     8.8 -
     8.9  #define BATCH_SIZE 1024   /* 1024 pages (4MB) at a time */
    8.10  
    8.11  #define MAX_MBIT_RATE 500
     9.1 --- a/tools/xenstore/xenstored_core.c	Wed Sep 14 09:20:21 2005 +0000
     9.2 +++ b/tools/xenstore/xenstored_core.c	Wed Sep 14 10:58:00 2005 +0000
     9.3 @@ -50,7 +50,6 @@
     9.4  #include "xenstored_transaction.h"
     9.5  #include "xenstored_domain.h"
     9.6  #include "xenctrl.h"
     9.7 -#include "xen/io/domain_controller.h"
     9.8  
     9.9  static bool verbose;
    9.10  LIST_HEAD(connections);
    10.1 --- a/xen/include/public/io/domain_controller.h	Wed Sep 14 09:20:21 2005 +0000
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,787 +0,0 @@
    10.4 -/******************************************************************************
    10.5 - * domain_controller.h
    10.6 - * 
    10.7 - * Interface to server controller (e.g., 'xend'). This header file defines the 
    10.8 - * interface that is shared with guest OSes.
    10.9 - * 
   10.10 - * Copyright (c) 2004, K A Fraser
   10.11 - */
   10.12 -
   10.13 -#ifndef __XEN_PUBLIC_IO_DOMAIN_CONTROLLER_H__
   10.14 -#define __XEN_PUBLIC_IO_DOMAIN_CONTROLLER_H__
   10.15 -
   10.16 -#include "ring.h"
   10.17 -
   10.18 -/*
   10.19 - * CONTROLLER MESSAGING INTERFACE.
   10.20 - */
   10.21 -
   10.22 -typedef struct control_msg {
   10.23 -    u8 type;     /*  0: echoed in response */
   10.24 -    u8 subtype;  /*  1: echoed in response */
   10.25 -    u8 id;       /*  2: echoed in response */
   10.26 -    u8 length;   /*  3: number of bytes in 'msg' */
   10.27 -    u8 msg[60];  /*  4: type-specific message data */
   10.28 -} control_msg_t; /* 64 bytes */
   10.29 -
   10.30 -/* These are used by the control message deferred ring. */
   10.31 -#define CONTROL_RING_SIZE 8
   10.32 -typedef u32 CONTROL_RING_IDX;
   10.33 -#define MASK_CONTROL_IDX(_i) ((_i)&(CONTROL_RING_SIZE-1))
   10.34 -
   10.35 -/*
   10.36 - * Generate control ring structures and types.
   10.37 - *
   10.38 - * CONTROL_RING_MEM is currently an 8-slot ring of ctrl_msg_t structs and
   10.39 - * two 32-bit counters:  (64 * 8) + (2 * 4) = 520
   10.40 - */
   10.41 -#define CONTROL_RING_MEM 520
   10.42 -DEFINE_RING_TYPES(ctrl, control_msg_t, control_msg_t);
   10.43 -
   10.44 -typedef struct control_if {
   10.45 -    union {
   10.46 -        ctrl_sring_t tx_ring; /* guest -> controller  */
   10.47 -        char __x[CONTROL_RING_MEM];
   10.48 -    };
   10.49 -    union {
   10.50 -        ctrl_sring_t rx_ring; /* controller -> guest  */
   10.51 -        char __y[CONTROL_RING_MEM];
   10.52 -    };
   10.53 -} control_if_t;
   10.54 -
   10.55 -/*
   10.56 - * Top-level command types.
   10.57 - */
   10.58 -#define CMSG_CONSOLE        0  /* Console                 */
   10.59 -#define CMSG_BLKIF_BE       1  /* Block-device backend    */
   10.60 -#define CMSG_BLKIF_FE       2  /* Block-device frontend   */
   10.61 -#define CMSG_NETIF_BE       3  /* Network-device backend  */
   10.62 -#define CMSG_NETIF_FE       4  /* Network-device frontend */
   10.63 -#define CMSG_SHUTDOWN       6  /* Shutdown messages       */
   10.64 -#define CMSG_MEM_REQUEST    7  /* Memory reservation reqs */
   10.65 -#define CMSG_USBIF_BE       8  /* USB controller backend  */
   10.66 -#define CMSG_USBIF_FE       9  /* USB controller frontend */
   10.67 -#define CMSG_VCPU_HOTPLUG  10  /* Hotplug VCPU messages   */
   10.68 -#define CMSG_DEBUG         11  /* PDB backend             */
   10.69 -
   10.70 -/******************************************************************************
   10.71 - * CONSOLE DEFINITIONS
   10.72 - */
   10.73 -
   10.74 -/*
   10.75 - * Subtypes for console messages.
   10.76 - */
   10.77 -#define CMSG_CONSOLE_DATA       0
   10.78 -
   10.79 -
   10.80 -/******************************************************************************
   10.81 - * BLOCK-INTERFACE FRONTEND DEFINITIONS
   10.82 - */
   10.83 -
   10.84 -/* Messages from domain controller to guest. */
   10.85 -#define CMSG_BLKIF_FE_INTERFACE_STATUS           0
   10.86 -
   10.87 -/* Messages from guest to domain controller. */
   10.88 -#define CMSG_BLKIF_FE_DRIVER_STATUS             32
   10.89 -#define CMSG_BLKIF_FE_INTERFACE_CONNECT         33
   10.90 -#define CMSG_BLKIF_FE_INTERFACE_DISCONNECT      34
   10.91 -#define CMSG_BLKIF_FE_INTERFACE_QUERY           35
   10.92 -
   10.93 -#ifndef blkif_vdev_t
   10.94 -#define blkif_vdev_t   u16
   10.95 -#endif
   10.96 -#define blkif_pdev_t   u32
   10.97 -
   10.98 -/*
   10.99 - * CMSG_BLKIF_FE_INTERFACE_STATUS:
  10.100 - *  Notify a guest about a status change on one of its block interfaces.
  10.101 - *  If the interface is DESTROYED or DOWN then the interface is disconnected:
  10.102 - *   1. The shared-memory frame is available for reuse.
  10.103 - *   2. Any unacknowledged messages pending on the interface were dropped.
  10.104 - */
  10.105 -#define BLKIF_INTERFACE_STATUS_CLOSED       0 /* Interface doesn't exist.    */
  10.106 -#define BLKIF_INTERFACE_STATUS_DISCONNECTED 1 /* Exists but is disconnected. */
  10.107 -#define BLKIF_INTERFACE_STATUS_CONNECTED    2 /* Exists and is connected.    */
  10.108 -#define BLKIF_INTERFACE_STATUS_CHANGED      3 /* A device has been added or removed. */
  10.109 -typedef struct blkif_fe_interface_status {
  10.110 -    u32 handle;
  10.111 -    u32 status;
  10.112 -    u16 evtchn;    /* (only if status == BLKIF_INTERFACE_STATUS_CONNECTED). */
  10.113 -    domid_t domid; /* status != BLKIF_INTERFACE_STATUS_DESTROYED */
  10.114 -} blkif_fe_interface_status_t;
  10.115 -
  10.116 -/*
  10.117 - * CMSG_BLKIF_FE_DRIVER_STATUS:
  10.118 - *  Notify the domain controller that the front-end driver is DOWN or UP.
  10.119 - *  When the driver goes DOWN then the controller will send no more
  10.120 - *  status-change notifications.
  10.121 - *  If the driver goes DOWN while interfaces are still UP, the domain
  10.122 - *  will automatically take the interfaces DOWN.
  10.123 - * 
  10.124 - *  NB. The controller should not send an INTERFACE_STATUS_CHANGED message
  10.125 - *  for interfaces that are active when it receives an UP notification. We
  10.126 - *  expect that the frontend driver will query those interfaces itself.
  10.127 - */
  10.128 -#define BLKIF_DRIVER_STATUS_DOWN   0
  10.129 -#define BLKIF_DRIVER_STATUS_UP     1
  10.130 -typedef struct blkif_fe_driver_status {
  10.131 -    /* IN */
  10.132 -    u32 status;        /* BLKIF_DRIVER_STATUS_??? */
  10.133 -    /* OUT */
  10.134 -    /* Driver should query interfaces [0..max_handle]. */
  10.135 -    u32 max_handle;
  10.136 -} blkif_fe_driver_status_t;
  10.137 -
  10.138 -/*
  10.139 - * CMSG_BLKIF_FE_INTERFACE_CONNECT:
  10.140 - *  If successful, the domain controller will acknowledge with a
  10.141 - *  STATUS_CONNECTED message.
  10.142 - */
  10.143 -typedef struct blkif_fe_interface_connect {
  10.144 -    u32      handle;
  10.145 -    unsigned long shmem_frame;
  10.146 -    int      shmem_ref;
  10.147 -} blkif_fe_interface_connect_t;
  10.148 -
  10.149 -/*
  10.150 - * CMSG_BLKIF_FE_INTERFACE_DISCONNECT:
  10.151 - *  If successful, the domain controller will acknowledge with a
  10.152 - *  STATUS_DISCONNECTED message.
  10.153 - */
  10.154 -typedef struct blkif_fe_interface_disconnect {
  10.155 -    u32 handle;
  10.156 -} blkif_fe_interface_disconnect_t;
  10.157 -
  10.158 -/*
  10.159 - * CMSG_BLKIF_FE_INTERFACE_QUERY:
  10.160 - */
  10.161 -typedef struct blkif_fe_interface_query {
  10.162 -    /* IN */
  10.163 -    u32 handle;
  10.164 -    /* OUT */
  10.165 -    u32 status;
  10.166 -    u16 evtchn;    /* (only if status == BLKIF_INTERFACE_STATUS_CONNECTED). */
  10.167 -    domid_t domid; /* status != BLKIF_INTERFACE_STATUS_DESTROYED */
  10.168 -} blkif_fe_interface_query_t;
  10.169 -
  10.170 -
  10.171 -/******************************************************************************
  10.172 - * BLOCK-INTERFACE BACKEND DEFINITIONS
  10.173 - */
  10.174 -
  10.175 -/* Messages from domain controller. */
  10.176 -#define CMSG_BLKIF_BE_CREATE      0  /* Create a new block-device interface. */
  10.177 -#define CMSG_BLKIF_BE_DESTROY     1  /* Destroy a block-device interface.    */
  10.178 -#define CMSG_BLKIF_BE_CONNECT     2  /* Connect i/f to remote driver.        */
  10.179 -#define CMSG_BLKIF_BE_DISCONNECT  3  /* Disconnect i/f from remote driver.   */
  10.180 -#define CMSG_BLKIF_BE_VBD_CREATE  4  /* Create a new VBD for an interface.   */
  10.181 -#define CMSG_BLKIF_BE_VBD_DESTROY 5  /* Delete a VBD from an interface.      */
  10.182 -
  10.183 -/* Messages to domain controller. */
  10.184 -#define CMSG_BLKIF_BE_DRIVER_STATUS 32
  10.185 -
  10.186 -/*
  10.187 - * Message request/response definitions for block-device messages.
  10.188 - */
  10.189 -
  10.190 -/* Non-specific 'okay' return. */
  10.191 -#define BLKIF_BE_STATUS_OKAY                0
  10.192 -/* Non-specific 'error' return. */
  10.193 -#define BLKIF_BE_STATUS_ERROR               1
  10.194 -/* The following are specific error returns. */
  10.195 -#define BLKIF_BE_STATUS_INTERFACE_EXISTS    2
  10.196 -#define BLKIF_BE_STATUS_INTERFACE_NOT_FOUND 3
  10.197 -#define BLKIF_BE_STATUS_INTERFACE_CONNECTED 4
  10.198 -#define BLKIF_BE_STATUS_VBD_EXISTS          5
  10.199 -#define BLKIF_BE_STATUS_VBD_NOT_FOUND       6
  10.200 -#define BLKIF_BE_STATUS_OUT_OF_MEMORY       7
  10.201 -#define BLKIF_BE_STATUS_PHYSDEV_NOT_FOUND   8
  10.202 -#define BLKIF_BE_STATUS_MAPPING_ERROR       9
  10.203 -
  10.204 -/* This macro can be used to create an array of descriptive error strings. */
  10.205 -#define BLKIF_BE_STATUS_ERRORS {    \
  10.206 -    "Okay",                         \
  10.207 -    "Non-specific error",           \
  10.208 -    "Interface already exists",     \
  10.209 -    "Interface not found",          \
  10.210 -    "Interface is still connected", \
  10.211 -    "VBD already exists",           \
  10.212 -    "VBD not found",                \
  10.213 -    "Out of memory",                \
  10.214 -    "Extent not found for VBD",     \
  10.215 -    "Could not map domain memory" }
  10.216 -
  10.217 -/*
  10.218 - * CMSG_BLKIF_BE_CREATE:
  10.219 - *  When the driver sends a successful response then the interface is fully
  10.220 - *  created. The controller will send a DOWN notification to the front-end
  10.221 - *  driver.
  10.222 - */
  10.223 -typedef struct blkif_be_create { 
  10.224 -    /* IN */
  10.225 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.226 -    u32        blkif_handle;  /* Domain-specific interface handle.   */
  10.227 -    /* OUT */
  10.228 -    u32        status;
  10.229 -} blkif_be_create_t;
  10.230 -
  10.231 -/*
  10.232 - * CMSG_BLKIF_BE_DESTROY:
  10.233 - *  When the driver sends a successful response then the interface is fully
  10.234 - *  torn down. The controller will send a DESTROYED notification to the
  10.235 - *  front-end driver.
  10.236 - */
  10.237 -typedef struct blkif_be_destroy { 
  10.238 -    /* IN */
  10.239 -    domid_t    domid;         /* Identify interface to be destroyed. */
  10.240 -    u32        blkif_handle;  /* ...ditto...                         */
  10.241 -    /* OUT */
  10.242 -    u32        status;
  10.243 -} blkif_be_destroy_t;
  10.244 -
  10.245 -/*
  10.246 - * CMSG_BLKIF_BE_CONNECT:
  10.247 - *  When the driver sends a successful response then the interface is fully
  10.248 - *  connected. The controller will send a CONNECTED notification to the
  10.249 - *  front-end driver.
  10.250 - */
  10.251 -typedef struct blkif_be_connect {
  10.252 -    /* IN */
  10.253 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.254 -    u32        blkif_handle;  /* Domain-specific interface handle.   */
  10.255 -    unsigned long shmem_frame;/* Page cont. shared comms window.     */
  10.256 -    int        shmem_ref;     /* Grant table reference.              */
  10.257 -    u32        evtchn;        /* Event channel for notifications.    */
  10.258 -    /* OUT */
  10.259 -    u32        status;
  10.260 -} blkif_be_connect_t;
  10.261 -
  10.262 -/*
  10.263 - * CMSG_BLKIF_BE_DISCONNECT:
  10.264 - *  When the driver sends a successful response then the interface is fully
  10.265 - *  disconnected. The controller will send a DOWN notification to the front-end
  10.266 - *  driver.
  10.267 - */
  10.268 -typedef struct blkif_be_disconnect { 
  10.269 -    /* IN */
  10.270 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.271 -    u32        blkif_handle;  /* Domain-specific interface handle.   */
  10.272 -    /* OUT */
  10.273 -    u32        status;
  10.274 -} blkif_be_disconnect_t;
  10.275 -
  10.276 -/* CMSG_BLKIF_BE_VBD_CREATE */
  10.277 -typedef struct blkif_be_vbd_create {
  10.278 -    /* IN */
  10.279 -    domid_t    domid;         /* Identify blkdev interface.          */
  10.280 -    u32        blkif_handle;  /* ...ditto...                         */
  10.281 -    blkif_pdev_t pdevice;
  10.282 -    u32        dev_handle;    /* Extended device id field.           */
  10.283 -    blkif_vdev_t vdevice;     /* Interface-specific id for this VBD. */
  10.284 -    u16        readonly;      /* Non-zero -> VBD isn't writable.     */
  10.285 -    /* OUT */
  10.286 -    u32        status;
  10.287 -} blkif_be_vbd_create_t;
  10.288 -
  10.289 -/* CMSG_BLKIF_BE_VBD_DESTROY */
  10.290 -typedef struct blkif_be_vbd_destroy {
  10.291 -    /* IN */
  10.292 -    domid_t    domid;         /* Identify blkdev interface.          */
  10.293 -    u32        blkif_handle;  /* ...ditto...                         */
  10.294 -    blkif_vdev_t vdevice;     /* Interface-specific id of the VBD.   */
  10.295 -    /* OUT */
  10.296 -    u32        status;
  10.297 -} blkif_be_vbd_destroy_t;
  10.298 -
  10.299 -/*
  10.300 - * CMSG_BLKIF_BE_DRIVER_STATUS:
  10.301 - *  Notify the domain controller that the back-end driver is DOWN or UP.
  10.302 - *  If the driver goes DOWN while interfaces are still UP, the controller
  10.303 - *  will automatically send DOWN notifications.
  10.304 - */
  10.305 -typedef struct blkif_be_driver_status {
  10.306 -    u32        status;        /* BLKIF_DRIVER_STATUS_??? */
  10.307 -} blkif_be_driver_status_t;
  10.308 -
  10.309 -
  10.310 -/******************************************************************************
  10.311 - * NETWORK-INTERFACE FRONTEND DEFINITIONS
  10.312 - */
  10.313 -
  10.314 -/* Messages from domain controller to guest. */
  10.315 -#define CMSG_NETIF_FE_INTERFACE_STATUS   0
  10.316 -
  10.317 -/* Messages from guest to domain controller. */
  10.318 -#define CMSG_NETIF_FE_DRIVER_STATUS             32
  10.319 -#define CMSG_NETIF_FE_INTERFACE_CONNECT         33
  10.320 -#define CMSG_NETIF_FE_INTERFACE_DISCONNECT      34
  10.321 -#define CMSG_NETIF_FE_INTERFACE_QUERY           35
  10.322 -
  10.323 -/*
  10.324 - * CMSG_NETIF_FE_INTERFACE_STATUS:
  10.325 - *  Notify a guest about a status change on one of its network interfaces.
  10.326 - *  If the interface is CLOSED or DOWN then the interface is disconnected:
  10.327 - *   1. The shared-memory frame is available for reuse.
  10.328 - *   2. Any unacknowledged messgaes pending on the interface were dropped.
  10.329 - */
  10.330 -#define NETIF_INTERFACE_STATUS_CLOSED       0 /* Interface doesn't exist.    */
  10.331 -#define NETIF_INTERFACE_STATUS_DISCONNECTED 1 /* Exists but is disconnected. */
  10.332 -#define NETIF_INTERFACE_STATUS_CONNECTED    2 /* Exists and is connected.    */
  10.333 -#define NETIF_INTERFACE_STATUS_CHANGED      3 /* A device has been added or removed. */
  10.334 -typedef struct netif_fe_interface_status {
  10.335 -    u32        handle;
  10.336 -    u32        status;
  10.337 -    u16        evtchn; /* status == NETIF_INTERFACE_STATUS_CONNECTED */
  10.338 -    u8         mac[6]; /* status == NETIF_INTERFACE_STATUS_CONNECTED */
  10.339 -    domid_t    domid;  /* status != NETIF_INTERFACE_STATUS_DESTROYED */
  10.340 -} netif_fe_interface_status_t;
  10.341 -
  10.342 -/*
  10.343 - * CMSG_NETIF_FE_DRIVER_STATUS:
  10.344 - *  Notify the domain controller that the front-end driver is DOWN or UP.
  10.345 - *  When the driver goes DOWN then the controller will send no more
  10.346 - *  status-change notifications.
  10.347 - *  If the driver goes DOWN while interfaces are still UP, the domain
  10.348 - *  will automatically take the interfaces DOWN.
  10.349 - * 
  10.350 - *  NB. The controller should not send an INTERFACE_STATUS message
  10.351 - *  for interfaces that are active when it receives an UP notification. We
  10.352 - *  expect that the frontend driver will query those interfaces itself.
  10.353 - */
  10.354 -#define NETIF_DRIVER_STATUS_DOWN   0
  10.355 -#define NETIF_DRIVER_STATUS_UP     1
  10.356 -typedef struct netif_fe_driver_status {
  10.357 -    /* IN */
  10.358 -    u32        status;        /* NETIF_DRIVER_STATUS_??? */
  10.359 -    /* OUT */
  10.360 -    /* Driver should query interfaces [0..max_handle]. */
  10.361 -    u32        max_handle;
  10.362 -} netif_fe_driver_status_t;
  10.363 -
  10.364 -/*
  10.365 - * CMSG_NETIF_FE_INTERFACE_CONNECT:
  10.366 - *  If successful, the domain controller will acknowledge with a
  10.367 - *  STATUS_CONNECTED message.
  10.368 - */
  10.369 -typedef struct netif_fe_interface_connect {
  10.370 -    u32           handle;
  10.371 -    unsigned long tx_shmem_frame; 
  10.372 -    int           tx_shmem_ref;
  10.373 -    unsigned long rx_shmem_frame;
  10.374 -    int           rx_shmem_ref;
  10.375 -} netif_fe_interface_connect_t;
  10.376 -
  10.377 -/*
  10.378 - * CMSG_NETIF_FE_INTERFACE_DISCONNECT:
  10.379 - *  If successful, the domain controller will acknowledge with a
  10.380 - *  STATUS_DISCONNECTED message.
  10.381 - */
  10.382 -typedef struct netif_fe_interface_disconnect {
  10.383 -    u32        handle;
  10.384 -} netif_fe_interface_disconnect_t;
  10.385 -
  10.386 -/*
  10.387 - * CMSG_NETIF_FE_INTERFACE_QUERY:
  10.388 - */
  10.389 -typedef struct netif_fe_interface_query {
  10.390 -    /* IN */
  10.391 -    u32        handle;
  10.392 -    /* OUT */
  10.393 -    u32        status;
  10.394 -    u16        evtchn; /* status == NETIF_INTERFACE_STATUS_CONNECTED */
  10.395 -    u8         mac[6]; /* status == NETIF_INTERFACE_STATUS_CONNECTED */
  10.396 -    domid_t    domid;  /* status != NETIF_INTERFACE_STATUS_DESTROYED */
  10.397 -} netif_fe_interface_query_t;
  10.398 -
  10.399 -
  10.400 -/******************************************************************************
  10.401 - * NETWORK-INTERFACE BACKEND DEFINITIONS
  10.402 - */
  10.403 -
  10.404 -/* Messages from domain controller. */
  10.405 -#define CMSG_NETIF_BE_CREATE      0  /* Create a new net-device interface. */
  10.406 -#define CMSG_NETIF_BE_DESTROY     1  /* Destroy a net-device interface.    */
  10.407 -#define CMSG_NETIF_BE_CONNECT     2  /* Connect i/f to remote driver.        */
  10.408 -#define CMSG_NETIF_BE_DISCONNECT  3  /* Disconnect i/f from remote driver.   */
  10.409 -#define CMSG_NETIF_BE_CREDITLIMIT 4  /* Limit i/f to a given credit limit. */
  10.410 -
  10.411 -/* Messages to domain controller. */
  10.412 -#define CMSG_NETIF_BE_DRIVER_STATUS 32
  10.413 -
  10.414 -/*
  10.415 - * Message request/response definitions for net-device messages.
  10.416 - */
  10.417 -
  10.418 -/* Non-specific 'okay' return. */
  10.419 -#define NETIF_BE_STATUS_OKAY                0
  10.420 -/* Non-specific 'error' return. */
  10.421 -#define NETIF_BE_STATUS_ERROR               1
  10.422 -/* The following are specific error returns. */
  10.423 -#define NETIF_BE_STATUS_INTERFACE_EXISTS    2
  10.424 -#define NETIF_BE_STATUS_INTERFACE_NOT_FOUND 3
  10.425 -#define NETIF_BE_STATUS_INTERFACE_CONNECTED 4
  10.426 -#define NETIF_BE_STATUS_OUT_OF_MEMORY       5
  10.427 -#define NETIF_BE_STATUS_MAPPING_ERROR       6
  10.428 -
  10.429 -/* This macro can be used to create an array of descriptive error strings. */
  10.430 -#define NETIF_BE_STATUS_ERRORS {    \
  10.431 -    "Okay",                         \
  10.432 -    "Non-specific error",           \
  10.433 -    "Interface already exists",     \
  10.434 -    "Interface not found",          \
  10.435 -    "Interface is still connected", \
  10.436 -    "Out of memory",                \
  10.437 -    "Could not map domain memory" }
  10.438 -
  10.439 -/*
  10.440 - * CMSG_NETIF_BE_CREATE:
  10.441 - *  When the driver sends a successful response then the interface is fully
  10.442 - *  created. The controller will send a DOWN notification to the front-end
  10.443 - *  driver.
  10.444 - */
  10.445 -typedef struct netif_be_create { 
  10.446 -    /* IN */
  10.447 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.448 -    u32        netif_handle;  /* Domain-specific interface handle.   */
  10.449 -    u8         mac[6];
  10.450 -    u8         be_mac[6];
  10.451 -    /* OUT */
  10.452 -    u32        status;
  10.453 -} netif_be_create_t;
  10.454 -
  10.455 -/*
  10.456 - * CMSG_NETIF_BE_DESTROY:
  10.457 - *  When the driver sends a successful response then the interface is fully
  10.458 - *  torn down. The controller will send a DESTROYED notification to the
  10.459 - *  front-end driver.
  10.460 - */
  10.461 -typedef struct netif_be_destroy { 
  10.462 -    /* IN */
  10.463 -    domid_t    domid;         /* Identify interface to be destroyed. */
  10.464 -    u32        netif_handle;  /* ...ditto...                         */
  10.465 -    /* OUT */
  10.466 -    u32   status;
  10.467 -} netif_be_destroy_t;
  10.468 -
  10.469 -/*
  10.470 - * CMSG_NETIF_BE_CREDITLIMIT:
  10.471 - *  Limit a virtual interface to "credit_bytes" bytes per "period_usec" 
  10.472 - *  microseconds.  
  10.473 - */
  10.474 -typedef struct netif_be_creditlimit { 
  10.475 -    /* IN */
  10.476 -    domid_t    domid;          /* Domain attached to new interface.   */
  10.477 -    u32        netif_handle;   /* Domain-specific interface handle.   */
  10.478 -    u32        credit_bytes;   /* Vifs credit of bytes per period.    */
  10.479 -    u32        period_usec;    /* Credit replenishment period.        */
  10.480 -    /* OUT */
  10.481 -    u32        status;
  10.482 -} netif_be_creditlimit_t;
  10.483 -
  10.484 -/*
  10.485 - * CMSG_NETIF_BE_CONNECT:
  10.486 - *  When the driver sends a successful response then the interface is fully
  10.487 - *  connected. The controller will send a CONNECTED notification to the
  10.488 - *  front-end driver.
  10.489 - */
  10.490 -typedef struct netif_be_connect { 
  10.491 -    /* IN */
  10.492 -    domid_t    domid;            /* Domain attached to new interface.   */
  10.493 -    u32        netif_handle;     /* Domain-specific interface handle.   */
  10.494 -    unsigned long tx_shmem_frame;/* Page cont. tx shared comms window.  */
  10.495 -    int        tx_shmem_ref;     /* Grant reference for above           */
  10.496 -    unsigned long rx_shmem_frame;/* Page cont. rx shared comms window.  */
  10.497 -    int        rx_shmem_ref;     /* Grant reference for above           */
  10.498 -    u16        evtchn;           /* Event channel for notifications.    */
  10.499 -    /* OUT */
  10.500 -    u32        status;
  10.501 -} netif_be_connect_t;
  10.502 -
  10.503 -/*
  10.504 - * CMSG_NETIF_BE_DISCONNECT:
  10.505 - *  When the driver sends a successful response then the interface is fully
  10.506 - *  disconnected. The controller will send a DOWN notification to the front-end
  10.507 - *  driver.
  10.508 - */
  10.509 -typedef struct netif_be_disconnect { 
  10.510 -    /* IN */
  10.511 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.512 -    u32        netif_handle;  /* Domain-specific interface handle.   */
  10.513 -    /* OUT */
  10.514 -    u32        status;
  10.515 -} netif_be_disconnect_t;
  10.516 -
  10.517 -/*
  10.518 - * CMSG_NETIF_BE_DRIVER_STATUS:
  10.519 - *  Notify the domain controller that the back-end driver is DOWN or UP.
  10.520 - *  If the driver goes DOWN while interfaces are still UP, the domain
  10.521 - *  will automatically send DOWN notifications.
  10.522 - */
  10.523 -typedef struct netif_be_driver_status {
  10.524 -    u32        status;        /* NETIF_DRIVER_STATUS_??? */
  10.525 -} netif_be_driver_status_t;
  10.526 -
  10.527 -
  10.528 -
  10.529 -/******************************************************************************
  10.530 - * USB-INTERFACE FRONTEND DEFINITIONS
  10.531 - */
  10.532 -
  10.533 -/* Messages from domain controller to guest. */
  10.534 -#define CMSG_USBIF_FE_INTERFACE_STATUS_CHANGED   0
  10.535 -
  10.536 -/* Messages from guest to domain controller. */
  10.537 -#define CMSG_USBIF_FE_DRIVER_STATUS_CHANGED     32
  10.538 -#define CMSG_USBIF_FE_INTERFACE_CONNECT         33
  10.539 -#define CMSG_USBIF_FE_INTERFACE_DISCONNECT      34
  10.540 -/*
  10.541 - * CMSG_USBIF_FE_INTERFACE_STATUS_CHANGED:
  10.542 - *  Notify a guest about a status change on one of its block interfaces.
  10.543 - *  If the interface is DESTROYED or DOWN then the interface is disconnected:
  10.544 - *   1. The shared-memory frame is available for reuse.
  10.545 - *   2. Any unacknowledged messages pending on the interface were dropped.
  10.546 - */
  10.547 -#define USBIF_INTERFACE_STATUS_DESTROYED    0 /* Interface doesn't exist.    */
  10.548 -#define USBIF_INTERFACE_STATUS_DISCONNECTED 1 /* Exists but is disconnected. */
  10.549 -#define USBIF_INTERFACE_STATUS_CONNECTED    2 /* Exists and is connected.    */
  10.550 -typedef struct usbif_fe_interface_status_changed {
  10.551 -    u32 status;
  10.552 -    u16 evtchn;    /* (only if status == BLKIF_INTERFACE_STATUS_CONNECTED). */
  10.553 -    domid_t domid; /* status != BLKIF_INTERFACE_STATUS_DESTROYED */
  10.554 -    u32 bandwidth;
  10.555 -    u32 num_ports;
  10.556 -} usbif_fe_interface_status_changed_t;
  10.557 -
  10.558 -/*
  10.559 - * CMSG_USBIF_FE_DRIVER_STATUS_CHANGED:
  10.560 - *  Notify the domain controller that the front-end driver is DOWN or UP.
  10.561 - *  When the driver goes DOWN then the controller will send no more
  10.562 - *  status-change notifications.
  10.563 - *  If the driver goes DOWN while interfaces are still UP, the domain
  10.564 - *  will automatically take the interfaces DOWN.
  10.565 - * 
  10.566 - *  NB. The controller should not send an INTERFACE_STATUS_CHANGED message
  10.567 - *  for interfaces that are active when it receives an UP notification. We
  10.568 - *  expect that the frontend driver will query those interfaces itself.
  10.569 - */
  10.570 -#define USBIF_DRIVER_STATUS_DOWN   0
  10.571 -#define USBIF_DRIVER_STATUS_UP     1
  10.572 -typedef struct usbif_fe_driver_status_changed {
  10.573 -    /* IN */
  10.574 -    u32 status;        /* USBIF_DRIVER_STATUS_??? */
  10.575 -} usbif_fe_driver_status_changed_t;
  10.576 -
  10.577 -/*
  10.578 - * CMSG_USBIF_FE_INTERFACE_CONNECT:
  10.579 - *  If successful, the domain controller will acknowledge with a
  10.580 - *  STATUS_CONNECTED message.
  10.581 - */
  10.582 -typedef struct usbif_fe_interface_connect {
  10.583 -    unsigned long shmem_frame;
  10.584 -} usbif_fe_interface_connect_t;
  10.585 -
  10.586 -/*
  10.587 - * CMSG_USBIF_FE_INTERFACE_DISCONNECT:
  10.588 - *  If successful, the domain controller will acknowledge with a
  10.589 - *  STATUS_DISCONNECTED message.
  10.590 - */
  10.591 -typedef struct usbif_fe_interface_disconnect {
  10.592 -    int dummy; /* make struct non-empty */
  10.593 -} usbif_fe_interface_disconnect_t;
  10.594 -
  10.595 -
  10.596 -/******************************************************************************
  10.597 - * USB-INTERFACE BACKEND DEFINITIONS
  10.598 - */
  10.599 -
  10.600 -/* Messages from domain controller. */
  10.601 -#define CMSG_USBIF_BE_CREATE       0  /* Create a new block-device interface. */
  10.602 -#define CMSG_USBIF_BE_DESTROY      1  /* Destroy a block-device interface.    */
  10.603 -#define CMSG_USBIF_BE_CONNECT      2  /* Connect i/f to remote driver.        */
  10.604 -#define CMSG_USBIF_BE_DISCONNECT   3  /* Disconnect i/f from remote driver.   */
  10.605 -#define CMSG_USBIF_BE_CLAIM_PORT   4  /* Claim host port for a domain.        */
  10.606 -#define CMSG_USBIF_BE_RELEASE_PORT 5  /* Release host port.                   */
  10.607 -/* Messages to domain controller. */
  10.608 -#define CMSG_USBIF_BE_DRIVER_STATUS_CHANGED 32
  10.609 -
  10.610 -/* Non-specific 'okay' return. */
  10.611 -#define USBIF_BE_STATUS_OKAY                0
  10.612 -/* Non-specific 'error' return. */
  10.613 -#define USBIF_BE_STATUS_ERROR               1
  10.614 -/* The following are specific error returns. */
  10.615 -#define USBIF_BE_STATUS_INTERFACE_EXISTS    2
  10.616 -#define USBIF_BE_STATUS_INTERFACE_NOT_FOUND 3
  10.617 -#define USBIF_BE_STATUS_INTERFACE_CONNECTED 4
  10.618 -#define USBIF_BE_STATUS_OUT_OF_MEMORY       7
  10.619 -#define USBIF_BE_STATUS_MAPPING_ERROR       9
  10.620 -
  10.621 -/* This macro can be used to create an array of descriptive error strings. */
  10.622 -#define USBIF_BE_STATUS_ERRORS {    \
  10.623 -    "Okay",                         \
  10.624 -    "Non-specific error",           \
  10.625 -    "Interface already exists",     \
  10.626 -    "Interface not found",          \
  10.627 -    "Interface is still connected", \
  10.628 -    "Out of memory",                \
  10.629 -    "Could not map domain memory" }
  10.630 -
  10.631 -/*
  10.632 - * CMSG_USBIF_BE_CREATE:
  10.633 - *  When the driver sends a successful response then the interface is fully
  10.634 - *  created. The controller will send a DOWN notification to the front-end
  10.635 - *  driver.
  10.636 - */
  10.637 -typedef struct usbif_be_create { 
  10.638 -    /* IN */
  10.639 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.640 -    /* OUT */
  10.641 -    u32        status;
  10.642 -} usbif_be_create_t;
  10.643 -
  10.644 -/*
  10.645 - * CMSG_USBIF_BE_DESTROY:
  10.646 - *  When the driver sends a successful response then the interface is fully
  10.647 - *  torn down. The controller will send a DESTROYED notification to the
  10.648 - *  front-end driver.
  10.649 - */
  10.650 -typedef struct usbif_be_destroy { 
  10.651 -    /* IN */
  10.652 -    domid_t    domid;         /* Identify interface to be destroyed. */
  10.653 -    /* OUT */
  10.654 -    u32        status;
  10.655 -} usbif_be_destroy_t;
  10.656 -
  10.657 -/*
  10.658 - * CMSG_USBIF_BE_CONNECT:
  10.659 - *  When the driver sends a successful response then the interface is fully
  10.660 - *  connected. The controller will send a CONNECTED notification to the
  10.661 - *  front-end driver.
  10.662 - */
  10.663 -typedef struct usbif_be_connect { 
  10.664 -    /* IN */
  10.665 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.666 -    unsigned long shmem_frame;/* Page cont. shared comms window.     */
  10.667 -    u32        evtchn;        /* Event channel for notifications.    */
  10.668 -    u32        bandwidth;     /* Bandwidth allocated for isoch / int - us
  10.669 -                               * per 1ms frame (ie between 0 and 900 or 800
  10.670 -                               * depending on USB version). */
  10.671 -    /* OUT */
  10.672 -    u32        status;
  10.673 -} usbif_be_connect_t;
  10.674 -
  10.675 -/*
  10.676 - * CMSG_USBIF_BE_DISCONNECT:
  10.677 - *  When the driver sends a successful response then the interface is fully
  10.678 - *  disconnected. The controller will send a DOWN notification to the front-end
  10.679 - *  driver.
  10.680 - */
  10.681 -typedef struct usbif_be_disconnect { 
  10.682 -    /* IN */
  10.683 -    domid_t    domid;         /* Domain attached to new interface.   */
  10.684 -    /* OUT */
  10.685 -    u32        status;
  10.686 -} usbif_be_disconnect_t;
  10.687 -
  10.688 -/*
  10.689 - * CMSG_USBIF_BE_DRIVER_STATUS_CHANGED:
  10.690 - *  Notify the domain controller that the back-end driver is DOWN or UP.
  10.691 - *  If the driver goes DOWN while interfaces are still UP, the controller
  10.692 - *  will automatically send DOWN notifications.
  10.693 - */
  10.694 -typedef struct usbif_be_driver_status_changed {
  10.695 -    u32        status;        /* USBIF_DRIVER_STATUS_??? */
  10.696 -} usbif_be_driver_status_changed_t;
  10.697 -
  10.698 -#define USB_PATH_LEN 16
  10.699 -
  10.700 -/*
  10.701 - * CMSG_USBIF_BE_CLAIM_PORT:
  10.702 - * Instruct the backend driver to claim any device plugged into the specified
  10.703 - * host port and to allow the specified domain to control that port.
  10.704 - */
  10.705 -typedef struct usbif_be_claim_port {
  10.706 -    /* IN */
  10.707 -    domid_t  domid;        /* which domain                 */
  10.708 -    u32      usbif_port;   /* port on the virtual root hub */
  10.709 -    u32      status;       /* status of operation          */
  10.710 -    char path[USB_PATH_LEN]; /* Currently specified in the Linux style - may need to be
  10.711 -                    * converted to some OS-independent format at some stage. */
  10.712 -} usbif_be_claim_port_t;
  10.713 -
  10.714 -/*
  10.715 - * CMSG_USBIF_BE_RELEASE_PORT: 
  10.716 - * Instruct the backend driver to release any device plugged into the specified
  10.717 - * host port.
  10.718 - */
  10.719 -typedef struct usbif_be_release_port {
  10.720 -    char     path[USB_PATH_LEN];
  10.721 -} usbif_be_release_port_t;
  10.722 -
  10.723 -/******************************************************************************
  10.724 - * SHUTDOWN DEFINITIONS
  10.725 - */
  10.726 -
  10.727 -/*
  10.728 - * Subtypes for shutdown messages.
  10.729 - */
  10.730 -#define CMSG_SHUTDOWN_POWEROFF  0   /* Clean shutdown (SHUTDOWN_poweroff).   */
  10.731 -#define CMSG_SHUTDOWN_REBOOT    1   /* Clean shutdown (SHUTDOWN_reboot).     */
  10.732 -#define CMSG_SHUTDOWN_SUSPEND   2   /* Create suspend info, then             */
  10.733 -                                    /* SHUTDOWN_suspend.                     */
  10.734 -#define CMSG_SHUTDOWN_SYSRQ     3
  10.735 -
  10.736 -typedef struct shutdown_sysrq {
  10.737 -    char key;      /* sysrq key */
  10.738 -} shutdown_sysrq_t;
  10.739 -
  10.740 -/******************************************************************************
  10.741 - * VCPU HOTPLUG CONTROLS
  10.742 - */
  10.743 -
  10.744 -/*
  10.745 - * Subtypes for shutdown messages.
  10.746 - */
  10.747 -#define CMSG_VCPU_HOTPLUG_OFF   0   /* turn vcpu off */
  10.748 -#define CMSG_VCPU_HOTPLUG_ON    1   /* turn vcpu on  */
  10.749 -
  10.750 -/*
  10.751 - * CMSG_VCPU_HOTPLUG:
  10.752 - *  Indicate which vcpu's state should change
  10.753 - */
  10.754 -typedef struct vcpu_hotplug {
  10.755 -    u32 vcpu;         /* VCPU's whose state will change */
  10.756 -    u32 status;       /* Return code indicates success or failure. */
  10.757 -} vcpu_hotplug_t;
  10.758 -
  10.759 -/******************************************************************************
  10.760 - * MEMORY CONTROLS
  10.761 - */
  10.762 -
  10.763 -#define CMSG_MEM_REQUEST_SET 0 /* Request a domain to set its mem footprint. */
  10.764 -
  10.765 -/*
  10.766 - * CMSG_MEM_REQUEST:
  10.767 - *  Request that the domain change its memory reservation.
  10.768 - */
  10.769 -typedef struct mem_request {
  10.770 -    /* OUT */
  10.771 -    u32 target;       /* Target memory reservation in pages.       */
  10.772 -    /* IN  */
  10.773 -    u32 status;       /* Return code indicates success or failure. */
  10.774 -} mem_request_t;
  10.775 -
  10.776 -
  10.777 -/******************************************************************************
  10.778 - * PDB INTERFACE DEFINITIONS
  10.779 - */
  10.780 -
  10.781 -#define CMSG_DEBUG_CONNECTION_STATUS 0
  10.782 -typedef struct pdb_Connection {
  10.783 -#define PDB_CONNECTION_STATUS_UP   1
  10.784 -#define PDB_CONNECTION_STATUS_DOWN 2
  10.785 -    u32      status;
  10.786 -    unsigned long ring;  /* status: UP */
  10.787 -    u32      evtchn;     /* status: UP */
  10.788 -} pdb_connection_t, *pdb_connection_p;
  10.789 -
  10.790 -#endif /* __XEN_PUBLIC_IO_DOMAIN_CONTROLLER_H__ */