]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/commitdiff
Sync Xen public interface headers with 19775:bda5ab0cb387
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 17 Jun 2009 06:26:00 +0000 (07:26 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 17 Jun 2009 06:26:00 +0000 (07:26 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 files changed:
include/xen/interface/arch-x86/hvm/save.h
include/xen/interface/event_channel.h
include/xen/interface/grant_table.h
include/xen/interface/hvm/hvm_op.h
include/xen/interface/io/blkif.h
include/xen/interface/io/fsif.h
include/xen/interface/io/xs_wire.h
include/xen/interface/memory.h
include/xen/interface/nmi.h
include/xen/interface/physdev.h
include/xen/interface/platform.h
include/xen/interface/tmem.h [new file with mode: 0644]
include/xen/interface/trace.h
include/xen/interface/vcpu.h
include/xen/interface/xen.h

index bfdc7267c95ea29f488b01011bb446258ad1578a..d3692d6a86b769538fc7903f2830448e75795626 100644 (file)
@@ -123,9 +123,7 @@ struct hvm_hw_cpu {
     uint32_t tr_arbytes;
     uint32_t ldtr_arbytes;
 
-    uint32_t sysenter_cs;
-    uint32_t padding0;
-
+    uint64_t sysenter_cs;
     uint64_t sysenter_esp;
     uint64_t sysenter_eip;
 
index d35cce53e4d891375bd1ab97768e6af6a3adf247..03d4ce7a4dd868f04ac98812f7b23db08b36da8c 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __XEN_PUBLIC_EVENT_CHANNEL_H__
 #define __XEN_PUBLIC_EVENT_CHANNEL_H__
 
+#include "xen.h"
+
 /*
  * Prototype for this hypercall is:
  *  int event_channel_op(int cmd, void *args)
index ad116e71e18e0ff1dca14745a4b782ad05000cea..71f125a3034863e6d9810463ff21e5a8fce512ac 100644 (file)
@@ -28,6 +28,7 @@
 #ifndef __XEN_PUBLIC_GRANT_TABLE_H__
 #define __XEN_PUBLIC_GRANT_TABLE_H__
 
+#include "xen.h"
 
 /***********************************
  * GRANT TABLE REPRESENTATION
index f0ada2d758d9586eedac80544d9e381067091162..c5b25985764e020900e5df2cc81fb70f48a1e393 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
 #define __XEN_PUBLIC_HVM_HVM_OP_H__
 
+#include "../xen.h"
+
 /* Get/set subcommands: extra argument == pointer to xen_hvm_param struct. */
 #define HVMOP_set_param           0
 #define HVMOP_get_param           1
index 2380066b8cb53aa8b106fb8bbe2176c644d49a19..3e0c5abae3957dada775027ed288a86f9b709f9e 100644 (file)
  */
 #define BLKIF_MAX_SEGMENTS_PER_REQUEST 11
 
+/* 
+ * NB. first_sect and last_sect in blkif_request_segment, as well as
+ * sector_number in blkif_request, are always expressed in 512-byte units.
+ * However they must be properly aligned to the real sector size of the
+ * physical disk, which is reported in the "sector-size" node in the backend
+ * xenbus info. Also the xenbus "sectors" node is expressed in 512-byte units.
+ */
 struct blkif_request_segment {
     grant_ref_t gref;        /* reference to I/O buffer frame        */
     /* @first_sect: first sector in frame to transfer (inclusive).   */
index 260aac78597252f40073a14bdb4aa52fed2f9679..8fc21740ea5a5cefc9bc99c191559e9203ff1f71 100644 (file)
@@ -169,7 +169,7 @@ struct fsif_response {
     union {
         uint64_t ret_val;
         struct fsif_stat_response fstat;
-    };
+    } u;
 };
 
 typedef struct fsif_response fsif_response_t;
index f6a49ab6bf6546d40ba2643c115ed3bd6dfb044a..24b5619fd8ad29adc872e5fee9de63df6a6aa803 100644 (file)
@@ -60,6 +60,7 @@ struct xsd_errors
     int errnum;
     const char *errstring;
 };
+#ifdef EINVAL
 #define XSD_ERROR(x) { x, #x }
 /* LINTED: static unused */
 static struct xsd_errors xsd_errors[]
@@ -82,6 +83,7 @@ __attribute__((unused))
     XSD_ERROR(EAGAIN),
     XSD_ERROR(EISCONN)
 };
+#endif
 
 struct xsd_sockmsg
 {
index ba4051e95fe05d019bf34b6db8ed315f4a11b183..2af19de6f887a384a52cc4c93f5ef22f36f6162f 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __XEN_PUBLIC_MEMORY_H__
 #define __XEN_PUBLIC_MEMORY_H__
 
+#include "xen.h"
+
 /*
  * Increase or decrease the specified domain's memory reservation. Returns the
  * number of extents successfully allocated or freed.
index b2b84018a3f810c214710cb7bf53d7103d342f89..2fd21d2dad5059b90705412435883fbbec1111a0 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __XEN_PUBLIC_NMI_H__
 #define __XEN_PUBLIC_NMI_H__
 
+#include "xen.h"
+
 /*
  * NMI reason codes:
  * Currently these are x86-specific, stored in arch_shared_info.nmi_reason.
index cb7e4d469bc992c6b0d0f4191f88752e69956b43..29374024e158edbb9107f44fd07e5c365d5bf0e6 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef __XEN_PUBLIC_PHYSDEV_H__
 #define __XEN_PUBLIC_PHYSDEV_H__
 
+#include "xen.h"
+
 /*
  * Prototype for this hypercall is:
  *  int physdev_op(int cmd, void *args)
index eee047be41f63b44f495a4df4cf4bda3d10f8fa9..c69fdab8ad4a9ac3cbb5c502868c3aaa19b5d118 100644 (file)
@@ -307,7 +307,7 @@ struct xenpf_set_processor_pminfo {
     union {
         struct xen_processor_power          power;/* Cx: _CST/_CSD */
         struct xen_processor_performance    perf; /* Px: _PPC/_PCT/_PSS/_PSD */
-    };
+    } u;
 };
 typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_set_processor_pminfo_t);
diff --git a/include/xen/interface/tmem.h b/include/xen/interface/tmem.h
new file mode 100644 (file)
index 0000000..03e3a40
--- /dev/null
@@ -0,0 +1,111 @@
+/******************************************************************************
+ * tmem.h
+ * 
+ * Guest OS interface to Xen Transcendent Memory.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (c) 2004, K A Fraser
+ */
+
+#ifndef __XEN_PUBLIC_TMEM_H__
+#define __XEN_PUBLIC_TMEM_H__
+
+#include "xen.h"
+
+/* Commands to HYPERVISOR_tmem_op() */
+#define TMEM_CONTROL               0
+#define TMEM_NEW_POOL              1
+#define TMEM_DESTROY_POOL          2
+#define TMEM_NEW_PAGE              3
+#define TMEM_PUT_PAGE              4
+#define TMEM_GET_PAGE              5
+#define TMEM_FLUSH_PAGE            6
+#define TMEM_FLUSH_OBJECT          7
+#define TMEM_READ                  8
+#define TMEM_WRITE                 9
+#define TMEM_XCHG                 10
+
+/* Subops for HYPERVISOR_tmem_op(TMEM_CONTROL) */
+#define TMEMC_THAW                 0
+#define TMEMC_FREEZE               1
+#define TMEMC_FLUSH                2
+#define TMEMC_DESTROY              3
+#define TMEMC_LIST                 4
+#define TMEMC_SET_WEIGHT           5
+#define TMEMC_SET_CAP              6
+#define TMEMC_SET_COMPRESS         7
+
+/* Bits for HYPERVISOR_tmem_op(TMEM_NEW_POOL) */
+#define TMEM_POOL_PERSIST          1
+#define TMEM_POOL_SHARED           2
+#define TMEM_POOL_PAGESIZE_SHIFT   4
+#define TMEM_POOL_PAGESIZE_MASK  0xf
+#define TMEM_POOL_VERSION_SHIFT   24
+#define TMEM_POOL_VERSION_MASK  0xff
+
+/* Special errno values */
+#define EFROZEN                 1000
+#define EEMPTY                  1001
+
+
+#ifndef __ASSEMBLY__
+typedef xen_pfn_t tmem_cli_mfn_t;
+typedef XEN_GUEST_HANDLE(char) tmem_cli_va_t;
+struct tmem_op {
+    uint32_t cmd;
+    int32_t pool_id; /* private > 0; shared < 0; 0 is invalid */
+    union {
+        struct {  /* for cmd == TMEM_NEW_POOL */
+            uint64_t uuid[2];
+            uint32_t flags;
+        } new;
+        struct {  /* for cmd == TMEM_CONTROL */
+            uint32_t subop;
+            uint32_t cli_id;
+            uint32_t arg1;
+            uint32_t arg2;
+            tmem_cli_va_t buf;
+        } ctrl;
+        struct {
+            uint64_t object;
+            uint32_t index;
+            uint32_t tmem_offset;
+            uint32_t pfn_offset;
+            uint32_t len;
+            tmem_cli_mfn_t cmfn; /* client machine page frame */
+        } gen;
+    } u;
+};
+typedef struct tmem_op tmem_op_t;
+DEFINE_XEN_GUEST_HANDLE(tmem_op_t);
+
+#endif
+
+#endif /* __XEN_PUBLIC_TMEM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
index 76088e346d27d23bb891ac1b5095fb70203ab863..6eb125a510afd560010869c4320769eaaf437769 100644 (file)
@@ -59,6 +59,7 @@
 #define TRC_LOST_RECORDS        (TRC_GEN + 1)
 #define TRC_TRACE_WRAP_BUFFER  (TRC_GEN + 2)
 #define TRC_TRACE_CPU_CHANGE    (TRC_GEN + 3)
+#define TRC_TRACE_IRQ           (TRC_GEN + 4)
 
 #define TRC_SCHED_RUNSTATE_CHANGE   (TRC_SCHED_MIN + 1)
 #define TRC_SCHED_CONTINUE_RUNNING  (TRC_SCHED_MIN + 2)
index ab6549370ec18e10bf4db48c2efeeb77024bd280..f592036f230d3ce436259212c178f6de4d896e6a 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __XEN_PUBLIC_VCPU_H__
 #define __XEN_PUBLIC_VCPU_H__
 
+#include "xen.h"
+
 /*
  * Prototype for this hypercall is:
  *  int vcpu_op(int cmd, int vcpuid, void *extra_args)
index 524118b6d7adee33b466447c3beff004f3098327..72aa6674308e41e13b71dea0d56b2e8f73bc87e0 100644 (file)
@@ -91,6 +91,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #define __HYPERVISOR_sysctl               35
 #define __HYPERVISOR_domctl               36
 #define __HYPERVISOR_kexec_op             37
+#define __HYPERVISOR_tmem_op              38
 
 /* Architecture-specific hypercall definitions. */
 #define __HYPERVISOR_arch_0               48