[Pkg-xen-changes] r318 - trunk/xen-unstable/debian/patches

Bastian Blank waldi at costa.debian.org
Sun Sep 17 16:10:34 UTC 2006


Author: waldi
Date: Sun Sep 17 16:10:34 2006
New Revision: 318

Added:
   trunk/xen-unstable/debian/patches/abi-revert-1.dpatch   (contents, props changed)
Modified:
   trunk/xen-unstable/debian/patches/00list

Log:
Revert domctl and sysctl abi to 1.

* debian/patches/00list: Add abi-revert-1.
* debian/patches/abi-revert-1.dpatch: Add.


Modified: trunk/xen-unstable/debian/patches/00list
==============================================================================
--- trunk/xen-unstable/debian/patches/00list	(original)
+++ trunk/xen-unstable/debian/patches/00list	Sun Sep 17 16:10:34 2006
@@ -6,3 +6,4 @@
 libs
 qemu-arch
 blktap-disable
+abi-revert-1

Added: trunk/xen-unstable/debian/patches/abi-revert-1.dpatch
==============================================================================
--- (empty file)
+++ trunk/xen-unstable/debian/patches/abi-revert-1.dpatch	Sun Sep 17 16:10:34 2006
@@ -0,0 +1,225 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## abi-revert-1.dpatch by Bastian Blank <waldi at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/arch-ia64.h
+--- a/xen/include/public/arch-ia64.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/arch-ia64.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -18,12 +18,15 @@
+ 
+ #define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
+ #define XEN_GUEST_HANDLE(name)          __guest_handle_ ## name
++#define XEN_GUEST_HANDLE_64(name)       __guest_handle_ ## name
+ #define set_xen_guest_handle(hnd, val)  do { (hnd).p = val; } while (0)
+ #ifdef __XEN_TOOLS__
+ #define get_xen_guest_handle(val, hnd)  do { val = (hnd).p; } while (0)
+ #endif
+ 
+ #ifndef __ASSEMBLY__
++typedef uint64_t uint64_aligned_t;
++
+ /* Guest handles for primitive C types. */
+ __DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
+ __DEFINE_XEN_GUEST_HANDLE(uint,  unsigned int);
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/arch-powerpc.h
+--- a/xen/include/public/arch-powerpc.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/arch-powerpc.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -29,6 +29,7 @@
+ 
+ #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name)
+ #define XEN_GUEST_HANDLE(name)        __guest_handle_ ## name
++#define XEN_GUEST_HANDLE_64(name)     __guest_handle_ ## name
+ #define set_xen_guest_handle(hnd, val) \
+     do { \
+         if (sizeof ((hnd).__pad)) \
+@@ -41,6 +42,8 @@
+ #endif
+ 
+ #ifndef __ASSEMBLY__
++typedef uint64_t uint64_aligned_t;
++
+ /* Guest handles for primitive C types. */
+ __DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
+ __DEFINE_XEN_GUEST_HANDLE(uint,  unsigned int);
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/arch-x86_32.h
+--- a/xen/include/public/arch-x86_32.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/arch-x86_32.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -28,7 +28,14 @@
+ #endif
+ 
+ /* Structural guest handles introduced in 0x00030201. */
+-#if __XEN_INTERFACE_VERSION__ >= 0x00030201
++#if (defined(__XEN__) || defined(__XEN_TOOLS__)) && !defined(__ASSEMBLY__)
++typedef uint64_t __attribute__((aligned(8))) uint64_aligned_t;
++#define __DEFINE_XEN_GUEST_HANDLE(name, type)                   \
++    typedef struct { type *p; }                                 \
++        __guest_handle_ ## name;                                \
++    typedef struct { union { type *p; uint64_aligned_t q; }; }  \
++        __guest_handle_64_ ## name
++#elif __XEN_INTERFACE_VERSION__ >= 0x00030201
+ #define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+     typedef struct { type *p; } __guest_handle_ ## name
+ #else
+@@ -38,9 +45,15 @@
+ 
+ #define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
+ #define XEN_GUEST_HANDLE(name)          __guest_handle_ ## name
+-#define set_xen_guest_handle(hnd, val)  do { (hnd).p = val; } while (0)
++#define XEN_GUEST_HANDLE_64(name)       __guest_handle_64_ ## name
+ #ifdef __XEN_TOOLS__
+ #define get_xen_guest_handle(val, hnd)  do { val = (hnd).p; } while (0)
++#define set_xen_guest_handle(hnd, val)                      \
++    do { if ( sizeof(hnd) == 8 ) *(uint64_t *)&(hnd) = 0;   \
++         (hnd).p = val;                                     \
++    } while ( 0 )
++#else
++#define set_xen_guest_handle(hnd, val)  do { (hnd).p = val; } while (0)
+ #endif
+ 
+ #ifndef __ASSEMBLY__
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/arch-x86_64.h
+--- a/xen/include/public/arch-x86_64.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/arch-x86_64.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -39,12 +39,15 @@
+ 
+ #define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
+ #define XEN_GUEST_HANDLE(name)          __guest_handle_ ## name
++#define XEN_GUEST_HANDLE_64(name)       __guest_handle_ ## name
+ #define set_xen_guest_handle(hnd, val)  do { (hnd).p = val; } while (0)
+ #ifdef __XEN_TOOLS__
+ #define get_xen_guest_handle(val, hnd)  do { val = (hnd).p; } while (0)
+ #endif
+ 
+ #ifndef __ASSEMBLY__
++typedef uint64_t uint64_aligned_t;
++
+ /* Guest handles for primitive C types. */
+ __DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
+ __DEFINE_XEN_GUEST_HANDLE(uint,  unsigned int);
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/domctl.h
+--- a/xen/include/public/domctl.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/domctl.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -16,10 +16,12 @@
+ 
+ #include "xen.h"
+ 
+-#define XEN_DOMCTL_INTERFACE_VERSION 0x00000003
++#define XEN_DOMCTL_INTERFACE_VERSION 0x00000001
++
++#define uint64_t uint64_aligned_t
+ 
+ struct xenctl_cpumap {
+-    XEN_GUEST_HANDLE(uint8_t) bitmap;
++    XEN_GUEST_HANDLE_64(uint8_t) bitmap;
+     uint32_t nr_cpus;
+ };
+ 
+@@ -70,11 +72,8 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getdo
+ #define XEN_DOMCTL_getmemlist         6
+ struct xen_domctl_getmemlist {
+     /* IN variables. */
+-    /* Max entries to write to output buffer. */
+     uint64_t max_pfns;
+-    /* Start index in guest's page list. */
+-    uint64_t start_pfn;
+-    XEN_GUEST_HANDLE(xen_pfn_t) buffer;
++    XEN_GUEST_HANDLE_64(ulong) buffer;
+     /* OUT variables. */
+     uint64_t num_pfns;
+ };
+@@ -111,7 +110,7 @@ struct xen_domctl_getpageframeinfo2 {
+     /* IN variables. */
+     uint64_t num;
+     /* IN/OUT variables. */
+-    XEN_GUEST_HANDLE(ulong) array;
++    XEN_GUEST_HANDLE_64(ulong) array;
+ };
+ typedef struct xen_domctl_getpageframeinfo2 xen_domctl_getpageframeinfo2_t;
+ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getpageframeinfo2_t);
+@@ -185,7 +184,7 @@ struct xen_domctl_shadow_op {
+     uint32_t       mb;       /* Shadow memory allocation in MB */
+ 
+     /* OP_PEEK / OP_CLEAN */
+-    XEN_GUEST_HANDLE(ulong) dirty_bitmap;
++    XEN_GUEST_HANDLE_64(ulong) dirty_bitmap;
+     uint64_t       pages;    /* Size of buffer. Updated with actual size. */
+     struct xen_domctl_shadow_op_stats stats;
+ };
+@@ -205,8 +204,8 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_m
+ #define XEN_DOMCTL_setvcpucontext    12
+ #define XEN_DOMCTL_getvcpucontext    13
+ struct xen_domctl_vcpucontext {
+-    uint32_t              vcpu;                  /* IN */
+-    XEN_GUEST_HANDLE(vcpu_guest_context_t) ctxt; /* IN/OUT */
++    uint32_t              vcpu;                     /* IN */
++    XEN_GUEST_HANDLE_64(vcpu_guest_context_t) ctxt; /* IN/OUT */
+ };
+ typedef struct xen_domctl_vcpucontext xen_domctl_vcpucontext_t;
+ DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpucontext_t);
+@@ -379,6 +378,8 @@ typedef struct xen_domctl xen_domctl_t;
+ typedef struct xen_domctl xen_domctl_t;
+ DEFINE_XEN_GUEST_HANDLE(xen_domctl_t);
+ 
++#undef uint64_t
++
+ #endif /* __XEN_PUBLIC_DOMCTL_H__ */
+ 
+ /*
+diff -r 383bc7c7b19e -r a39ad4c78850 xen/include/public/sysctl.h
+--- a/xen/include/public/sysctl.h	Tue Sep 05 18:36:23 2006 -0700
++++ b/xen/include/public/sysctl.h	Wed Aug 30 13:51:12 2006 +0100
+@@ -16,7 +16,9 @@
+ #include "xen.h"
+ #include "domctl.h"
+ 
+-#define XEN_SYSCTL_INTERFACE_VERSION 0x00000002
++#define XEN_SYSCTL_INTERFACE_VERSION 0x00000001
++
++#define uint64_t uint64_aligned_t
+ 
+ /*
+  * Read console content from Xen buffer ring.
+@@ -24,8 +26,8 @@
+ #define XEN_SYSCTL_readconsole       1
+ struct xen_sysctl_readconsole {
+     /* IN variables. */
+-    uint32_t clear;                /* Non-zero -> clear after reading. */
+-    XEN_GUEST_HANDLE(char) buffer; /* Buffer start */
++    uint32_t clear;                   /* Non-zero -> clear after reading. */
++    XEN_GUEST_HANDLE_64(char) buffer; /* Buffer start */
+     /* IN/OUT variables. */
+     uint32_t count;            /* In: Buffer size;  Out: Used buffer size  */
+ };
+@@ -103,9 +105,9 @@ struct xen_sysctl_perfc_op {
+     uint32_t       nr_counters;       /*  number of counters description  */
+     uint32_t       nr_vals;			  /*  number of values  */
+     /* counter information (or NULL) */
+-    XEN_GUEST_HANDLE(xen_sysctl_perfc_desc_t) desc;
++    XEN_GUEST_HANDLE_64(xen_sysctl_perfc_desc_t) desc;
+     /* counter values (or NULL) */
+-    XEN_GUEST_HANDLE(xen_sysctl_perfc_val_t) val;
++    XEN_GUEST_HANDLE_64(xen_sysctl_perfc_val_t) val;
+ };
+ typedef struct xen_sysctl_perfc_op xen_sysctl_perfc_op_t;
+ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_perfc_op_t);
+@@ -115,7 +117,7 @@ struct xen_sysctl_getdomaininfolist {
+     /* IN variables. */
+     domid_t               first_domain;
+     uint32_t              max_domains;
+-    XEN_GUEST_HANDLE(xen_domctl_getdomaininfo_t) buffer;
++    XEN_GUEST_HANDLE_64(xen_domctl_getdomaininfo_t) buffer;
+     /* OUT variables. */
+     uint32_t              num_domains;
+ };
+@@ -138,6 +140,8 @@ typedef struct xen_sysctl xen_sysctl_t;
+ typedef struct xen_sysctl xen_sysctl_t;
+ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_t);
+ 
++#undef uint64_t
++
+ #endif /* __XEN_PUBLIC_SYSCTL_H__ */
+ 
+ /*



More information about the Pkg-xen-changes mailing list