# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1245219960 -3600
# Node ID db9d21711a035e3a03aa446ef989bc6ab6a414d6
# Parent e4790de3234a732e678b4df0cdb1798f2508a82e
Sync Xen public interface headers with 19775:bda5ab0cb387
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
include/xen/interface/arch-x86/hvm/save.h | 4 -
include/xen/interface/event_channel.h | 2
include/xen/interface/grant_table.h | 1
include/xen/interface/hvm/hvm_op.h | 2
include/xen/interface/io/blkif.h | 7 +
include/xen/interface/io/fsif.h | 2
include/xen/interface/io/xs_wire.h | 2
include/xen/interface/memory.h | 2
include/xen/interface/nmi.h | 2
include/xen/interface/physdev.h | 2
include/xen/interface/platform.h | 2
include/xen/interface/tmem.h | 111 ++++++++++++++++++++++++++++++
include/xen/interface/trace.h | 1
include/xen/interface/vcpu.h | 2
include/xen/interface/xen.h | 1
15 files changed, 138 insertions(+), 5 deletions(-)
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/arch-x86/hvm/save.h
--- a/include/xen/interface/arch-x86/hvm/save.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/arch-x86/hvm/save.h Wed Jun 17 07:26:00 2009 +0100
@@ -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;
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/event_channel.h
--- a/include/xen/interface/event_channel.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/event_channel.h Wed Jun 17 07:26:00 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_EVENT_CHANNEL_H__
#define __XEN_PUBLIC_EVENT_CHANNEL_H__
+
+#include "xen.h"
/*
* Prototype for this hypercall is:
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/grant_table.h
--- a/include/xen/interface/grant_table.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/grant_table.h Wed Jun 17 07:26:00 2009 +0100
@@ -28,6 +28,7 @@
#ifndef __XEN_PUBLIC_GRANT_TABLE_H__
#define __XEN_PUBLIC_GRANT_TABLE_H__
+#include "xen.h"
/***********************************
* GRANT TABLE REPRESENTATION
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/hvm/hvm_op.h
--- a/include/xen/interface/hvm/hvm_op.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/hvm/hvm_op.h Wed Jun 17 07:26:00 2009 +0100
@@ -20,6 +20,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
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/io/blkif.h
--- a/include/xen/interface/io/blkif.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/io/blkif.h Wed Jun 17 07:26:00 2009 +0100
@@ -84,6 +84,13 @@
*/
#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). */
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/io/fsif.h
--- a/include/xen/interface/io/fsif.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/io/fsif.h Wed Jun 17 07:26:00 2009 +0100
@@ -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;
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/io/xs_wire.h
--- a/include/xen/interface/io/xs_wire.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/io/xs_wire.h Wed Jun 17 07:26:00 2009 +0100
@@ -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
{
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/memory.h
--- a/include/xen/interface/memory.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/memory.h Wed Jun 17 07:26:00 2009 +0100
@@ -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.
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/nmi.h
--- a/include/xen/interface/nmi.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/nmi.h Wed Jun 17 07:26:00 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_NMI_H__
#define __XEN_PUBLIC_NMI_H__
+
+#include "xen.h"
/*
* NMI reason codes:
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/physdev.h
--- a/include/xen/interface/physdev.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/physdev.h Wed Jun 17 07:26:00 2009 +0100
@@ -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)
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/platform.h
--- a/include/xen/interface/platform.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/platform.h Wed Jun 17 07:26:00 2009 +0100
@@ -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 -r e4790de3234a -r db9d21711a03 include/xen/interface/tmem.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/include/xen/interface/tmem.h Wed Jun 17 07:26:00 2009 +0100
@@ -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:
+ */
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/trace.h
--- a/include/xen/interface/trace.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/trace.h Wed Jun 17 07:26:00 2009 +0100
@@ -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)
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/vcpu.h
--- a/include/xen/interface/vcpu.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/vcpu.h Wed Jun 17 07:26:00 2009 +0100
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_VCPU_H__
#define __XEN_PUBLIC_VCPU_H__
+
+#include "xen.h"
/*
* Prototype for this hypercall is:
diff -r e4790de3234a -r db9d21711a03 include/xen/interface/xen.h
--- a/include/xen/interface/xen.h Tue Jun 16 12:00:56 2009 +0100
+++ b/include/xen/interface/xen.h Wed Jun 17 07:26:00 2009 +0100
@@ -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
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|