ia64/linux-2.6.18-xen.hg

changeset 505:06ffa3eb5e3f

Sync Xen public headers with xen-unstable tip.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Mar 31 18:07:41 2008 +0100 (2008-03-31)
parents 4018c0da3360
children ad7ad9af265e
files include/xen/interface/arch-ia64.h include/xen/interface/arch-ia64/sioemu.h include/xen/interface/arch-powerpc.h include/xen/interface/arch-x86/hvm/save.h include/xen/interface/arch-x86/xen-x86_64.h include/xen/interface/arch-x86/xen.h include/xen/interface/domctl.h include/xen/interface/hvm/ioreq.h include/xen/interface/hvm/params.h include/xen/interface/hvm/save.h include/xen/interface/io/ring.h include/xen/interface/io/xs_wire.h include/xen/interface/kexec.h include/xen/interface/physdev.h include/xen/interface/trace.h include/xen/interface/xen-compat.h include/xen/interface/xen.h
line diff
     1.1 --- a/include/xen/interface/arch-ia64.h	Mon Mar 31 11:03:07 2008 +0100
     1.2 +++ b/include/xen/interface/arch-ia64.h	Mon Mar 31 18:07:41 2008 +0100
     1.3 @@ -23,9 +23,15 @@
     1.4   *
     1.5   */
     1.6  
     1.7 +#include "xen.h"
     1.8 +
     1.9  #ifndef __HYPERVISOR_IF_IA64_H__
    1.10  #define __HYPERVISOR_IF_IA64_H__
    1.11  
    1.12 +#if !defined(__GNUC__) || defined(__STRICT_ANSI__)
    1.13 +#error "Anonymous structs/unions are a GNU extension."
    1.14 +#endif
    1.15 +
    1.16  /* Structural guest handles introduced in 0x00030201. */
    1.17  #if __XEN_INTERFACE_VERSION__ >= 0x00030201
    1.18  #define ___DEFINE_XEN_GUEST_HANDLE(name, type) \
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/include/xen/interface/arch-ia64/sioemu.h	Mon Mar 31 18:07:41 2008 +0100
     2.3 @@ -0,0 +1,42 @@
     2.4 +/******************************************************************************
     2.5 + * sioemu.h
     2.6 + *
     2.7 + * Copyright (c) 2008 Tristan Gingold <tgingold@free.fr>
     2.8 + *
     2.9 + * This program is free software; you can redistribute it and/or modify
    2.10 + * it under the terms of the GNU General Public License as published by
    2.11 + * the Free Software Foundation; either version 2 of the License, or
    2.12 + * (at your option) any later version.
    2.13 + *
    2.14 + * This program is distributed in the hope that it will be useful,
    2.15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    2.16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    2.17 + * GNU General Public License for more details.
    2.18 + *
    2.19 + * You should have received a copy of the GNU General Public License
    2.20 + * along with this program; if not, write to the Free Software
    2.21 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    2.22 + *
    2.23 + */
    2.24 +
    2.25 +#ifndef __XEN_PUBLIC_IA64_SIOEMU_H__
    2.26 +#define __XEN_PUBLIC_IA64_SIOEMU_H__
    2.27 +
    2.28 +/* Defines the callback entry point.  r8=ip, r9=data.
    2.29 +   Must be called per-vcpu.  */
    2.30 +#define SIOEMU_HYPERCALL_SET_CALLBACK 0x01
    2.31 +
    2.32 +/* Finish sioemu fw initialization and start firmware.  r8=ip.  */
    2.33 +#define SIOEMU_HYPERCALL_START_FW 0x02
    2.34 +
    2.35 +/* Add IO pages in physmap.  */
    2.36 +#define SIOEMU_HYPERCALL_ADD_IO_PHYSMAP 0x03
    2.37 +
    2.38 +/* Get wallclock time.  */
    2.39 +#define SIOEMU_HYPERCALL_GET_TIME 0x04
    2.40 +
    2.41 +/* Return from callback.  r16=0.
    2.42 +   Unmask vcpu events.  */
    2.43 +#define SIOEMU_HYPERPRIVOP_CALLBACK_RETURN 0x01
    2.44 +
    2.45 +#endif /* __XEN_PUBLIC_IA64_SIOEMU_H__ */
     3.1 --- a/include/xen/interface/arch-powerpc.h	Mon Mar 31 11:03:07 2008 +0100
     3.2 +++ b/include/xen/interface/arch-powerpc.h	Mon Mar 31 18:07:41 2008 +0100
     3.3 @@ -22,6 +22,8 @@
     3.4   * Authors: Hollis Blanchard <hollisb@us.ibm.com>
     3.5   */
     3.6  
     3.7 +#include "xen.h"
     3.8 +
     3.9  #ifndef __XEN_PUBLIC_ARCH_PPC_64_H__
    3.10  #define __XEN_PUBLIC_ARCH_PPC_64_H__
    3.11  
     4.1 --- a/include/xen/interface/arch-x86/hvm/save.h	Mon Mar 31 11:03:07 2008 +0100
     4.2 +++ b/include/xen/interface/arch-x86/hvm/save.h	Mon Mar 31 18:07:41 2008 +0100
     4.3 @@ -271,8 +271,7 @@ struct hvm_hw_lapic {
     4.4  DECLARE_HVM_SAVE_TYPE(LAPIC, 5, struct hvm_hw_lapic);
     4.5  
     4.6  struct hvm_hw_lapic_regs {
     4.7 -    /* A 4k page of register state */
     4.8 -    uint8_t  data[0x400];
     4.9 +    uint8_t data[1024];
    4.10  };
    4.11  
    4.12  DECLARE_HVM_SAVE_TYPE(LAPIC_REGS, 6, struct hvm_hw_lapic_regs);
     5.1 --- a/include/xen/interface/arch-x86/xen-x86_64.h	Mon Mar 31 11:03:07 2008 +0100
     5.2 +++ b/include/xen/interface/arch-x86/xen-x86_64.h	Mon Mar 31 18:07:41 2008 +0100
     5.3 @@ -140,7 +140,7 @@ struct iret_context {
     5.4      /* Bottom of iret stack frame. */
     5.5  };
     5.6  
     5.7 -#ifdef __GNUC__
     5.8 +#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
     5.9  /* Anonymous union includes both 32- and 64-bit names (e.g., eax/rax). */
    5.10  #define __DECL_REG(name) union { \
    5.11      uint64_t r ## name, e ## name; \
     6.1 --- a/include/xen/interface/arch-x86/xen.h	Mon Mar 31 11:03:07 2008 +0100
     6.2 +++ b/include/xen/interface/arch-x86/xen.h	Mon Mar 31 18:07:41 2008 +0100
     6.3 @@ -24,6 +24,8 @@
     6.4   * Copyright (c) 2004-2006, K A Fraser
     6.5   */
     6.6  
     6.7 +#include "../xen.h"
     6.8 +
     6.9  #ifndef __XEN_PUBLIC_ARCH_X86_XEN_H__
    6.10  #define __XEN_PUBLIC_ARCH_X86_XEN_H__
    6.11  
     7.1 --- a/include/xen/interface/domctl.h	Mon Mar 31 11:03:07 2008 +0100
     7.2 +++ b/include/xen/interface/domctl.h	Mon Mar 31 18:07:41 2008 +0100
     7.3 @@ -53,6 +53,9 @@ struct xen_domctl_createdomain {
     7.4   /* Is this an HVM guest (as opposed to a PV guest)? */
     7.5  #define _XEN_DOMCTL_CDF_hvm_guest 0
     7.6  #define XEN_DOMCTL_CDF_hvm_guest  (1U<<_XEN_DOMCTL_CDF_hvm_guest)
     7.7 + /* Use hardware-assisted paging if available? */
     7.8 +#define _XEN_DOMCTL_CDF_hap       1
     7.9 +#define XEN_DOMCTL_CDF_hap        (1U<<_XEN_DOMCTL_CDF_hap)
    7.10      uint32_t flags;
    7.11  };
    7.12  typedef struct xen_domctl_createdomain xen_domctl_createdomain_t;
    7.13 @@ -373,6 +376,8 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_hyper
    7.14  #define XEN_DOMAINSETUP_hvm_guest  (1UL<<_XEN_DOMAINSETUP_hvm_guest)
    7.15  #define _XEN_DOMAINSETUP_query 1 /* Get parameters (for save)  */
    7.16  #define XEN_DOMAINSETUP_query  (1UL<<_XEN_DOMAINSETUP_query)
    7.17 +#define _XEN_DOMAINSETUP_sioemu_guest 2
    7.18 +#define XEN_DOMAINSETUP_sioemu_guest  (1UL<<_XEN_DOMAINSETUP_sioemu_guest)
    7.19  typedef struct xen_domctl_arch_setup {
    7.20      uint64_aligned_t flags;  /* XEN_DOMAINSETUP_* */
    7.21  #ifdef __ia64__
    7.22 @@ -436,6 +441,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_sendt
    7.23  /* Assign PCI device to HVM guest. Sets up IOMMU structures. */
    7.24  #define XEN_DOMCTL_assign_device      37
    7.25  #define XEN_DOMCTL_test_assign_device 45
    7.26 +#define XEN_DOMCTL_deassign_device 47
    7.27  struct xen_domctl_assign_device {
    7.28      uint32_t  machine_bdf;   /* machine PCI ID of assigned device */
    7.29  };
    7.30 @@ -445,6 +451,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_assig
    7.31  
    7.32  /* Pass-through interrupts: bind real irq -> hvm devfn. */
    7.33  #define XEN_DOMCTL_bind_pt_irq       38
    7.34 +#define XEN_DOMCTL_unbind_pt_irq     48
    7.35  typedef enum pt_irq_type_e {
    7.36      PT_IRQ_TYPE_PCI,
    7.37      PT_IRQ_TYPE_ISA
    7.38 @@ -554,6 +561,17 @@ struct xen_domctl_set_opt_feature {
    7.39  typedef struct xen_domctl_set_opt_feature xen_domctl_set_opt_feature_t;
    7.40  DEFINE_XEN_GUEST_HANDLE(xen_domctl_set_opt_feature_t);
    7.41  
    7.42 +/*
    7.43 + * Set the target domain for a domain
    7.44 + */
    7.45 +#define XEN_DOMCTL_set_target    46
    7.46 +struct xen_domctl_set_target {
    7.47 +    domid_t target;
    7.48 +};
    7.49 +typedef struct xen_domctl_set_target xen_domctl_set_target_t;
    7.50 +DEFINE_XEN_GUEST_HANDLE(xen_domctl_set_target_t);
    7.51 +
    7.52 +
    7.53  struct xen_domctl {
    7.54      uint32_t cmd;
    7.55      uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
    7.56 @@ -590,6 +608,7 @@ struct xen_domctl {
    7.57          struct xen_domctl_pin_mem_cacheattr pin_mem_cacheattr;
    7.58          struct xen_domctl_ext_vcpucontext   ext_vcpucontext;
    7.59          struct xen_domctl_set_opt_feature   set_opt_feature;
    7.60 +        struct xen_domctl_set_target        set_target;
    7.61          uint8_t                             pad[128];
    7.62      } u;
    7.63  };
     8.1 --- a/include/xen/interface/hvm/ioreq.h	Mon Mar 31 11:03:07 2008 +0100
     8.2 +++ b/include/xen/interface/hvm/ioreq.h	Mon Mar 31 18:07:41 2008 +0100
     8.3 @@ -34,14 +34,8 @@
     8.4  
     8.5  #define IOREQ_TYPE_PIO          0 /* pio */
     8.6  #define IOREQ_TYPE_COPY         1 /* mmio ops */
     8.7 -#define IOREQ_TYPE_AND          2
     8.8 -#define IOREQ_TYPE_OR           3
     8.9 -#define IOREQ_TYPE_XOR          4
    8.10 -#define IOREQ_TYPE_XCHG         5
    8.11 -#define IOREQ_TYPE_ADD          6
    8.12  #define IOREQ_TYPE_TIMEOFFSET   7
    8.13  #define IOREQ_TYPE_INVALIDATE   8 /* mapcache */
    8.14 -#define IOREQ_TYPE_SUB          9
    8.15  
    8.16  /*
    8.17   * VMExit dispatcher should cooperate with instruction decoder to
    8.18 @@ -114,11 +108,11 @@ struct buffered_piopage {
    8.19  };
    8.20  #endif /* defined(__ia64__) */
    8.21  
    8.22 -#if defined(__i386__) || defined(__x86_64__)
    8.23  #define ACPI_PM1A_EVT_BLK_ADDRESS           0x0000000000001f40
    8.24  #define ACPI_PM1A_CNT_BLK_ADDRESS           (ACPI_PM1A_EVT_BLK_ADDRESS + 0x04)
    8.25  #define ACPI_PM_TMR_BLK_ADDRESS             (ACPI_PM1A_EVT_BLK_ADDRESS + 0x08)
    8.26 -#endif /* defined(__i386__) || defined(__x86_64__) */
    8.27 +#define ACPI_GPE0_BLK_ADDRESS               (ACPI_PM_TMR_BLK_ADDRESS + 0x20)
    8.28 +#define ACPI_GPE0_BLK_LEN                   0x08
    8.29  
    8.30  #endif /* _IOREQ_H_ */
    8.31  
     9.1 --- a/include/xen/interface/hvm/params.h	Mon Mar 31 11:03:07 2008 +0100
     9.2 +++ b/include/xen/interface/hvm/params.h	Mon Mar 31 18:07:41 2008 +0100
     9.3 @@ -81,6 +81,9 @@
     9.4  #define HVMPTM_no_missed_ticks_pending   2
     9.5  #define HVMPTM_one_missed_tick_pending   3
     9.6  
     9.7 -#define HVM_NR_PARAMS          11
     9.8 +/* Boolean: Enable virtual HPET (high-precision event timer)? (x86-only) */
     9.9 +#define HVM_PARAM_HPET_ENABLED 11
    9.10 +
    9.11 +#define HVM_NR_PARAMS          12
    9.12  
    9.13  #endif /* __XEN_PUBLIC_HVM_PARAMS_H__ */
    10.1 --- a/include/xen/interface/hvm/save.h	Mon Mar 31 11:03:07 2008 +0100
    10.2 +++ b/include/xen/interface/hvm/save.h	Mon Mar 31 18:07:41 2008 +0100
    10.3 @@ -39,6 +39,10 @@
    10.4   * Internal mechanisms should be kept in Xen-private headers.
    10.5   */
    10.6  
    10.7 +#if !defined(__GNUC__) || defined(__STRICT_ANSI__)
    10.8 +#error "Anonymous structs/unions are a GNU extension."
    10.9 +#endif
   10.10 +
   10.11  /* 
   10.12   * Each entry is preceded by a descriptor giving its type and length
   10.13   */
    11.1 --- a/include/xen/interface/io/ring.h	Mon Mar 31 11:03:07 2008 +0100
    11.2 +++ b/include/xen/interface/io/ring.h	Mon Mar 31 18:07:41 2008 +0100
    11.3 @@ -27,6 +27,14 @@
    11.4  #ifndef __XEN_PUBLIC_IO_RING_H__
    11.5  #define __XEN_PUBLIC_IO_RING_H__
    11.6  
    11.7 +#include "../xen-compat.h"
    11.8 +
    11.9 +#if __XEN_INTERFACE_VERSION__ < 0x00030208
   11.10 +#define xen_mb()  mb()
   11.11 +#define xen_rmb() rmb()
   11.12 +#define xen_wmb() wmb()
   11.13 +#endif
   11.14 +
   11.15  typedef unsigned int RING_IDX;
   11.16  
   11.17  /* Round a 32-bit unsigned constant down to the nearest power of two. */
   11.18 @@ -211,12 +219,12 @@ typedef struct __name##_back_ring __name
   11.19      (((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r))
   11.20  
   11.21  #define RING_PUSH_REQUESTS(_r) do {                                     \
   11.22 -    wmb(); /* back sees requests /before/ updated producer index */     \
   11.23 +    xen_wmb(); /* back sees requests /before/ updated producer index */ \
   11.24      (_r)->sring->req_prod = (_r)->req_prod_pvt;                         \
   11.25  } while (0)
   11.26  
   11.27  #define RING_PUSH_RESPONSES(_r) do {                                    \
   11.28 -    wmb(); /* front sees responses /before/ updated producer index */   \
   11.29 +    xen_wmb(); /* front sees resps /before/ updated producer index */   \
   11.30      (_r)->sring->rsp_prod = (_r)->rsp_prod_pvt;                         \
   11.31  } while (0)
   11.32  
   11.33 @@ -253,9 +261,9 @@ typedef struct __name##_back_ring __name
   11.34  #define RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(_r, _notify) do {           \
   11.35      RING_IDX __old = (_r)->sring->req_prod;                             \
   11.36      RING_IDX __new = (_r)->req_prod_pvt;                                \
   11.37 -    wmb(); /* back sees requests /before/ updated producer index */     \
   11.38 +    xen_wmb(); /* back sees requests /before/ updated producer index */ \
   11.39      (_r)->sring->req_prod = __new;                                      \
   11.40 -    mb(); /* back sees new requests /before/ we check req_event */      \
   11.41 +    xen_mb(); /* back sees new requests /before/ we check req_event */  \
   11.42      (_notify) = ((RING_IDX)(__new - (_r)->sring->req_event) <           \
   11.43                   (RING_IDX)(__new - __old));                            \
   11.44  } while (0)
   11.45 @@ -263,9 +271,9 @@ typedef struct __name##_back_ring __name
   11.46  #define RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(_r, _notify) do {          \
   11.47      RING_IDX __old = (_r)->sring->rsp_prod;                             \
   11.48      RING_IDX __new = (_r)->rsp_prod_pvt;                                \
   11.49 -    wmb(); /* front sees responses /before/ updated producer index */   \
   11.50 +    xen_wmb(); /* front sees resps /before/ updated producer index */   \
   11.51      (_r)->sring->rsp_prod = __new;                                      \
   11.52 -    mb(); /* front sees new responses /before/ we check rsp_event */    \
   11.53 +    xen_mb(); /* front sees new resps /before/ we check rsp_event */    \
   11.54      (_notify) = ((RING_IDX)(__new - (_r)->sring->rsp_event) <           \
   11.55                   (RING_IDX)(__new - __old));                            \
   11.56  } while (0)
   11.57 @@ -274,7 +282,7 @@ typedef struct __name##_back_ring __name
   11.58      (_work_to_do) = RING_HAS_UNCONSUMED_REQUESTS(_r);                   \
   11.59      if (_work_to_do) break;                                             \
   11.60      (_r)->sring->req_event = (_r)->req_cons + 1;                        \
   11.61 -    mb();                                                               \
   11.62 +    xen_mb();                                                           \
   11.63      (_work_to_do) = RING_HAS_UNCONSUMED_REQUESTS(_r);                   \
   11.64  } while (0)
   11.65  
   11.66 @@ -282,7 +290,7 @@ typedef struct __name##_back_ring __name
   11.67      (_work_to_do) = RING_HAS_UNCONSUMED_RESPONSES(_r);                  \
   11.68      if (_work_to_do) break;                                             \
   11.69      (_r)->sring->rsp_event = (_r)->rsp_cons + 1;                        \
   11.70 -    mb();                                                               \
   11.71 +    xen_mb();                                                           \
   11.72      (_work_to_do) = RING_HAS_UNCONSUMED_RESPONSES(_r);                  \
   11.73  } while (0)
   11.74  
    12.1 --- a/include/xen/interface/io/xs_wire.h	Mon Mar 31 11:03:07 2008 +0100
    12.2 +++ b/include/xen/interface/io/xs_wire.h	Mon Mar 31 18:07:41 2008 +0100
    12.3 @@ -46,7 +46,8 @@ enum xsd_sockmsg_type
    12.4      XS_WATCH_EVENT,
    12.5      XS_ERROR,
    12.6      XS_IS_DOMAIN_INTRODUCED,
    12.7 -    XS_RESUME
    12.8 +    XS_RESUME,
    12.9 +    XS_SET_TARGET
   12.10  };
   12.11  
   12.12  #define XS_WRITE_NONE "NONE"
    13.1 --- a/include/xen/interface/kexec.h	Mon Mar 31 11:03:07 2008 +0100
    13.2 +++ b/include/xen/interface/kexec.h	Mon Mar 31 18:07:41 2008 +0100
    13.3 @@ -130,10 +130,10 @@ typedef struct xen_kexec_load {
    13.4  #define KEXEC_RANGE_MA_XEN        1 /* machine address and size of Xen itself */
    13.5  #define KEXEC_RANGE_MA_CPU        2 /* machine address and size of a CPU note */
    13.6  #define KEXEC_RANGE_MA_XENHEAP    3 /* machine address and size of xenheap
    13.7 -				     * Note that although this is adjacent
    13.8 -				     * to Xen it exists in a separate EFI
    13.9 -				     * region on ia64, and thus needs to be
   13.10 -				     * inserted into iomem_machine separately */
   13.11 +                                     * Note that although this is adjacent
   13.12 +                                     * to Xen it exists in a separate EFI
   13.13 +                                     * region on ia64, and thus needs to be
   13.14 +                                     * inserted into iomem_machine separately */
   13.15  #define KEXEC_RANGE_MA_BOOT_PARAM 4 /* machine address and size of
   13.16                                       * the ia64_boot_param */
   13.17  #define KEXEC_RANGE_MA_EFI_MEMMAP 5 /* machine address and size of
    14.1 --- a/include/xen/interface/physdev.h	Mon Mar 31 11:03:07 2008 +0100
    14.2 +++ b/include/xen/interface/physdev.h	Mon Mar 31 18:07:41 2008 +0100
    14.3 @@ -81,7 +81,11 @@ DEFINE_XEN_GUEST_HANDLE(physdev_set_iopl
    14.4  #define PHYSDEVOP_set_iobitmap           7
    14.5  struct physdev_set_iobitmap {
    14.6      /* IN */
    14.7 -    XEN_GUEST_HANDLE_00030205(uint8) bitmap;
    14.8 +#if __XEN_INTERFACE_VERSION__ >= 0x00030205
    14.9 +    XEN_GUEST_HANDLE(uint8) bitmap;
   14.10 +#else
   14.11 +    uint8_t *bitmap;
   14.12 +#endif
   14.13      uint32_t nr_ports;
   14.14  };
   14.15  typedef struct physdev_set_iobitmap physdev_set_iobitmap_t;
    15.1 --- a/include/xen/interface/trace.h	Mon Mar 31 11:03:07 2008 +0100
    15.2 +++ b/include/xen/interface/trace.h	Mon Mar 31 18:07:41 2008 +0100
    15.3 @@ -141,6 +141,14 @@ struct t_rec {
    15.4   * field, indexes into an array of struct t_rec's.
    15.5   */
    15.6  struct t_buf {
    15.7 +    /* Assume the data buffer size is X.  X is generally not a power of 2.
    15.8 +     * CONS and PROD are incremented modulo (2*X):
    15.9 +     *     0 <= cons < 2*X
   15.10 +     *     0 <= prod < 2*X
   15.11 +     * This is done because addition modulo X breaks at 2^32 when X is not a
   15.12 +     * power of 2:
   15.13 +     *     (((2^32 - 1) % X) + 1) % X != (2^32) % X
   15.14 +     */
   15.15      uint32_t cons;   /* Offset of next item to be consumed by control tools. */
   15.16      uint32_t prod;   /* Offset of next item to be produced by Xen.           */
   15.17      /*  Records follow immediately after the meta-data header.    */
    16.1 --- a/include/xen/interface/xen-compat.h	Mon Mar 31 11:03:07 2008 +0100
    16.2 +++ b/include/xen/interface/xen-compat.h	Mon Mar 31 18:07:41 2008 +0100
    16.3 @@ -27,7 +27,7 @@
    16.4  #ifndef __XEN_PUBLIC_XEN_COMPAT_H__
    16.5  #define __XEN_PUBLIC_XEN_COMPAT_H__
    16.6  
    16.7 -#define __XEN_LATEST_INTERFACE_VERSION__ 0x00030207
    16.8 +#define __XEN_LATEST_INTERFACE_VERSION__ 0x00030208
    16.9  
   16.10  #if defined(__XEN__) || defined(__XEN_TOOLS__)
   16.11  /* Xen is built with matching headers and implements the latest interface. */
   16.12 @@ -41,11 +41,4 @@
   16.13  #error "These header files do not support the requested interface version."
   16.14  #endif
   16.15  
   16.16 -/* Fields defined as a Xen guest handle since 0x00030205. */
   16.17 -#if __XEN_INTERFACE_VERSION__ >= 0x00030205
   16.18 -#define XEN_GUEST_HANDLE_00030205(type) XEN_GUEST_HANDLE(type)
   16.19 -#else
   16.20 -#define XEN_GUEST_HANDLE_00030205(type) type *
   16.21 -#endif
   16.22 -
   16.23  #endif /* __XEN_PUBLIC_XEN_COMPAT_H__ */
    17.1 --- a/include/xen/interface/xen.h	Mon Mar 31 11:03:07 2008 +0100
    17.2 +++ b/include/xen/interface/xen.h	Mon Mar 31 18:07:41 2008 +0100
    17.3 @@ -263,7 +263,11 @@ struct mmuext_op {
    17.4          /* SET_LDT */
    17.5          unsigned int nr_ents;
    17.6          /* TLB_FLUSH_MULTI, INVLPG_MULTI */
    17.7 -        XEN_GUEST_HANDLE_00030205(void) vcpumask;
    17.8 +#if __XEN_INTERFACE_VERSION__ >= 0x00030205
    17.9 +        XEN_GUEST_HANDLE(void) vcpumask;
   17.10 +#else
   17.11 +        void *vcpumask;
   17.12 +#endif
   17.13      } arg2;
   17.14  };
   17.15  typedef struct mmuext_op mmuext_op_t;