WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] merge with xen-unstable.hg

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] merge with xen-unstable.hg
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 09 Feb 2007 09:40:35 -0800
Delivery-date: Fri, 09 Feb 2007 10:41:53 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1170028032 25200
# Node ID 7286802c961935926d06ac35b958780f3177b95e
# Parent  e5cfd902d7e426702adf446cf01d5a3c36a9c3e5
# Parent  f8ddcb7581173f1b3a756a1cb96491ec1ff65403
merge with xen-unstable.hg
---
 tools/firmware/hvmloader/32bitbios_support.c      |    7 +++-
 tools/firmware/rombios/32bit/Makefile             |    2 -
 tools/firmware/rombios/32bit/tcgbios/Makefile     |    2 -
 tools/python/xen/xend/XendDomain.py               |    3 +
 tools/python/xen/xend/server/ConsoleController.py |    2 +
 tools/python/xen/xm/main.py                       |   13 +++++++
 tools/xenstat/xentop/xentop.c                     |    6 ++-
 xen/arch/x86/hvm/hvm.c                            |   19 +++++++++++
 xen/common/libelf/libelf-private.h                |   36 ++++++++++++----------
 xen/common/libelf/libelf-tools.c                  |    4 +-
 xen/include/Makefile                              |    4 +-
 xen/include/public/domctl.h                       |    2 -
 xen/include/public/foreign/mkheader.py            |    4 +-
 xen/include/public/libelf.h                       |   33 ++++----------------
 xen/tools/compat-build-header.py                  |    2 -
 15 files changed, 84 insertions(+), 55 deletions(-)

diff -r e5cfd902d7e4 -r 7286802c9619 
tools/firmware/hvmloader/32bitbios_support.c
--- a/tools/firmware/hvmloader/32bitbios_support.c      Sun Jan 28 16:37:02 
2007 -0700
+++ b/tools/firmware/hvmloader/32bitbios_support.c      Sun Jan 28 16:47:12 
2007 -0700
@@ -17,7 +17,12 @@
  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
  * Place - Suite 330, Boston, MA 02111-1307 USA.
  */
+#include <inttypes.h>
 #include <elf.h>
+#ifdef __sun__
+#include <sys/machelf.h>
+#endif
+
 #include <xen/hvm/e820.h>
 #include "util.h"
 #include "config.h"
@@ -35,7 +40,7 @@ static int relocate_elf(unsigned char *e
     int i;
 
     if (ehdr->e_type != ET_REL) {
-        printf("Not a relocatabel BIOS object file. Has type %d, need %d\n",
+        printf("Not a relocatable BIOS object file. Has type %d, need %d\n",
                ehdr->e_type, ET_REL);
         return -1;
     }
diff -r e5cfd902d7e4 -r 7286802c9619 tools/firmware/rombios/32bit/Makefile
--- a/tools/firmware/rombios/32bit/Makefile     Sun Jan 28 16:37:02 2007 -0700
+++ b/tools/firmware/rombios/32bit/Makefile     Sun Jan 28 16:47:12 2007 -0700
@@ -30,7 +30,7 @@ clean:
        done;
 
 $(TARGET): subdirs 32bitbios.o util.o
-       ld $(LDFLAGS_DIRECT) -r 32bitbios.o $(MODULES) util.o -o 32bitbios_all.o
+       $(LD) $(LDFLAGS_DIRECT) -r 32bitbios.o $(MODULES) util.o -o 
32bitbios_all.o
        @nm 32bitbios_all.o |                                \
          grep -E -q '^ +U ' && {                            \
            echo "There are undefined symbols in the BIOS:"; \
diff -r e5cfd902d7e4 -r 7286802c9619 
tools/firmware/rombios/32bit/tcgbios/Makefile
--- a/tools/firmware/rombios/32bit/tcgbios/Makefile     Sun Jan 28 16:37:02 
2007 -0700
+++ b/tools/firmware/rombios/32bit/tcgbios/Makefile     Sun Jan 28 16:47:12 
2007 -0700
@@ -19,4 +19,4 @@ clean:
        rm -rf *.o $(TARGET)
 
 $(TARGET): $(OBJECTS)
-       ld $(LDFLAGS_DIRECT) -r $^ -o $@
+       $(LD) $(LDFLAGS_DIRECT) -r $^ -o $@
diff -r e5cfd902d7e4 -r 7286802c9619 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py       Sun Jan 28 16:37:02 2007 -0700
+++ b/tools/python/xen/xend/XendDomain.py       Sun Jan 28 16:47:12 2007 -0700
@@ -943,6 +943,9 @@ class XendDomain:
                                  POWER_STATE_NAMES[dominfo.state])
             
             dominfo.start(is_managed = True)
+            self.domain_sched_credit_set(dominfo.getDomid(),
+                                         dominfo.getWeight(),
+                                         dominfo.getCap())
         finally:
             self.domains_lock.release()
         dominfo.waitForDevices()
diff -r e5cfd902d7e4 -r 7286802c9619 
tools/python/xen/xend/server/ConsoleController.py
--- a/tools/python/xen/xend/server/ConsoleController.py Sun Jan 28 16:37:02 
2007 -0700
+++ b/tools/python/xen/xend/server/ConsoleController.py Sun Jan 28 16:47:12 
2007 -0700
@@ -27,3 +27,5 @@ class ConsoleController(DevController):
                        if val != None])
         return config
 
+    def migrate(self, deviceConfig, network, dst, step, domName):
+        return 0
diff -r e5cfd902d7e4 -r 7286802c9619 tools/python/xen/xm/main.py
--- a/tools/python/xen/xm/main.py       Sun Jan 28 16:37:02 2007 -0700
+++ b/tools/python/xen/xm/main.py       Sun Jan 28 16:47:12 2007 -0700
@@ -706,6 +706,15 @@ def parse_doms_info(info):
         'seclabel' : security.get_security_printlabel(info),
         }
 
+def check_sched_type(sched):
+    current = 'unknown'
+    for x in server.xend.node.info()[1:]:
+        if len(x) > 1 and x[0] == 'xen_scheduler':
+            current = x[1]
+            break
+    if sched != current:
+        err("Xen is running with the %s scheduler" % current)
+        sys.exit(1)
 
 def parse_sedf_info(info):
     def get_info(n, t, d):
@@ -1098,6 +1107,8 @@ def xm_sched_sedf(args):
         print( ("%(name)-32s %(domid)3d %(period)9.1f %(slice)9.1f" +
                 " %(latency)7.1f %(extratime)6d %(weight)6d") % info)
 
+    check_sched_type('sedf')
+
     # we want to just display current info if no parameters are passed
     if len(args) == 0:
         domid = None
@@ -1170,6 +1181,8 @@ def xm_sched_credit(args):
 def xm_sched_credit(args):
     """Get/Set options for Credit Scheduler."""
     
+    check_sched_type('credit')
+
     try:
         opts, params = getopt.getopt(args, "d:w:c:",
             ["domain=", "weight=", "cap="])
diff -r e5cfd902d7e4 -r 7286802c9619 tools/xenstat/xentop/xentop.c
--- a/tools/xenstat/xentop/xentop.c     Sun Jan 28 16:37:02 2007 -0700
+++ b/tools/xenstat/xentop/xentop.c     Sun Jan 28 16:47:12 2007 -0700
@@ -998,9 +998,11 @@ int main(int argc, char **argv)
 
        while ((opt = getopt_long(argc, argv, sopts, lopts, &optind)) != -1) {
                switch (opt) {
+               default:
+                       usage(argv[0]);
+                       exit(1);
+               case '?':
                case 'h':
-               case '?':
-               default:
                        usage(argv[0]);
                        exit(0);
                case 'V':
diff -r e5cfd902d7e4 -r 7286802c9619 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/arch/x86/hvm/hvm.c    Sun Jan 28 16:47:12 2007 -0700
@@ -189,9 +189,26 @@ void hvm_domain_destroy(struct domain *d
         unmap_domain_page_global((void *)d->arch.hvm_domain.buffered_io_va);
 }
 
+#define HVM_VCPU_CTXT_MAGIC 0x85963130
+void hvm_save_cpu_ctxt(hvm_domain_context_t *h, void *opaque)
+{
+    struct vcpu *v = opaque;
+
+    if ( test_bit(_VCPUF_down, &v->vcpu_flags) ) {
+        hvm_put_32u(h, 0x0);
+        return;
+    }
+
+    hvm_put_32u(h, HVM_VCPU_CTXT_MAGIC);
+    hvm_funcs.save_cpu_ctxt(h, opaque);
+}
+
 int hvm_load_cpu_ctxt(hvm_domain_context_t *h, void *opaque, int version)
 {
     struct vcpu *v = opaque;
+
+    if ( hvm_get_32u(h) != HVM_VCPU_CTXT_MAGIC )
+        return 0;
 
     if ( hvm_funcs.load_cpu_ctxt(h, opaque, version) < 0 )
         return -EINVAL;
@@ -208,7 +225,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
     int rc;
 
     hvm_register_savevm(v->domain, "xen_hvm_cpu", v->vcpu_id, 1,
-                        hvm_funcs.save_cpu_ctxt, hvm_load_cpu_ctxt, 
+                        hvm_save_cpu_ctxt, hvm_load_cpu_ctxt, 
                         (void *)v);
 
     if ( (rc = vlapic_init(v)) != 0 )
diff -r e5cfd902d7e4 -r 7286802c9619 xen/common/libelf/libelf-private.h
--- a/xen/common/libelf/libelf-private.h        Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/common/libelf/libelf-private.h        Sun Jan 28 16:47:12 2007 -0700
@@ -1,7 +1,13 @@
+#ifndef __LIBELF_PRIVATE_H__
+#define __LIBELF_PRIVATE_H_
+
 #ifdef __XEN__
 
+#include <xen/config.h>
+#include <xen/types.h>
 #include <xen/string.h>
 #include <xen/lib.h>
+#include <asm/byteorder.h>
 #include <public/elfnote.h>
 #include <public/libelf.h>
 
@@ -11,29 +17,25 @@
        printk(fmt, ## args )
 
 #define strtoull(str, end, base) simple_strtoull(str, end, base)
-#define bswap_16(x) \
-     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
-#define bswap_32(x) \
-     (  (((x) & 0xff000000) >> 24)  \
-      | (((x) & 0x00ff0000) >>  8)  \
-      | (((x) & 0x0000ff00) <<  8)  \
-      | (((x) & 0x000000ff) << 24))
-#define bswap_64(x) \
-     (  (((x) & 0xff00000000000000ull) >> 56)  \
-      | (((x) & 0x00ff000000000000ull) >> 40)  \
-      | (((x) & 0x0000ff0000000000ull) >> 24)  \
-      | (((x) & 0x000000ff00000000ull) >> 8)   \
-      | (((x) & 0x00000000ff000000ull) << 8)   \
-      | (((x) & 0x0000000000ff0000ull) << 24)  \
-      | (((x) & 0x000000000000ff00ull) << 40)  \
-      | (((x) & 0x00000000000000ffull) << 56))
+#define bswap_16(x) swab16(x)
+#define bswap_32(x) swab32(x)
+#define bswap_64(x) swab64(x)
 
 #else /* !__XEN__ */
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <stddef.h>
+#include <inttypes.h>
+#ifdef __sun__
+#include <sys/byteorder.h>
+#define bswap_16(x) BSWAP_16(x)
+#define bswap_32(x) BSWAP_32(x)
+#define bswap_64(x) BSWAP_64(x)
+#else
 #include <byteswap.h>
+#endif
 #include <xen/elfnote.h>
 #include <xen/libelf.h>
 
@@ -49,3 +51,5 @@
        } while (0)
 
 #endif
+
+#endif /* __LIBELF_PRIVATE_H_ */
diff -r e5cfd902d7e4 -r 7286802c9619 xen/common/libelf/libelf-tools.c
--- a/xen/common/libelf/libelf-tools.c  Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/common/libelf/libelf-tools.c  Sun Jan 28 16:47:12 2007 -0700
@@ -7,7 +7,7 @@
 /* ------------------------------------------------------------------------ */
 
 uint64_t elf_access_unsigned(struct elf_binary * elf, const void *ptr,
-                            off_t offset, size_t size)
+                            uint64_t offset, size_t size)
 {
     int need_swap = elf_swap(elf);
     const uint8_t *u8;
@@ -35,7 +35,7 @@ uint64_t elf_access_unsigned(struct elf_
 }
 
 int64_t elf_access_signed(struct elf_binary *elf, const void *ptr,
-                         off_t offset, size_t size)
+                         uint64_t offset, size_t size)
 {
     int need_swap = elf_swap(elf);
     const int8_t *s8;
diff -r e5cfd902d7e4 -r 7286802c9619 xen/include/Makefile
--- a/xen/include/Makefile      Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/include/Makefile      Sun Jan 28 16:47:12 2007 -0700
@@ -30,8 +30,8 @@ cppflags-$(CONFIG_X86)    += -m32
 cppflags-$(CONFIG_X86)    += -m32
 
 # 8-byte types are 4-byte aligned on x86_32 ...
-prefix-$(CONFIG_X86)      := \#pragma pack(push, 4)
-suffix-$(CONFIG_X86)      := \#pragma pack(pop)
+prefix-$(CONFIG_X86)      := \#pragma pack(4)
+suffix-$(CONFIG_X86)      := \#pragma pack()
 
 endif
 
diff -r e5cfd902d7e4 -r 7286802c9619 xen/include/public/domctl.h
--- a/xen/include/public/domctl.h       Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/include/public/domctl.h       Sun Jan 28 16:47:12 2007 -0700
@@ -386,7 +386,7 @@ typedef struct xen_domctl_settimeoffset 
 typedef struct xen_domctl_settimeoffset xen_domctl_settimeoffset_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_settimeoffset_t);
  
-#define HVM_CTXT_SIZE        6144
+#define HVM_CTXT_SIZE        8192
 typedef struct hvm_domain_context {
     uint32_t cur;
     uint32_t size;
diff -r e5cfd902d7e4 -r 7286802c9619 xen/include/public/foreign/mkheader.py
--- a/xen/include/public/foreign/mkheader.py    Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/include/public/foreign/mkheader.py    Sun Jan 28 16:47:12 2007 -0700
@@ -24,10 +24,10 @@ inttypes["x86_32"] = {
 };
 header["x86_32"] = """
 #define __i386___X86_32 1
-#pragma pack(push, 4)
+#pragma pack(4)
 """;
 footer["x86_32"] = """
-#pragma pack(pop)
+#pragma pack()
 """;
 
 # x86_64
diff -r e5cfd902d7e4 -r 7286802c9619 xen/include/public/libelf.h
--- a/xen/include/public/libelf.h       Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/include/public/libelf.h       Sun Jan 28 16:47:12 2007 -0700
@@ -1,25 +1,12 @@
 #ifndef __XC_LIBELF__
 #define __XC_LIBELF__ 1
 
-#ifdef __XEN__
-
-#include <xen/inttypes.h>
-#include <public/features.h>
-typedef uint64_t off_t;
-
-#define LITTLE_ENDIAN 1234
-#define BIG_ENDIAN    4321
 #if defined(__i386__) || defined(__x86_64) || defined(__ia64__)
-#define BYTE_ORDER LITTLE_ENDIAN
+#define XEN_ELF_LITTLE_ENDIAN
 #elif defined(__powerpc__)
-#define BYTE_ORDER BIG_ENDIAN
-#endif
-
-#else /* !__XEN__ */
-
-#include <stddef.h>
-#include <inttypes.h>
-
+#define XEN_ELF_BIG_ENDIAN
+#else
+#error define architectural endianness
 #endif
 
 #undef ELFSIZE
@@ -91,14 +78,10 @@ struct elf_binary {
 /* ------------------------------------------------------------------------ */
 /* accessing elf header fields                                              */
 
-#if !defined(BYTE_ORDER)
-# error BYTE_ORDER not defined
-#elif BYTE_ORDER == BIG_ENDIAN
+#ifdef XEN_ELF_BIG_ENDIAN
 # define NATIVE_ELFDATA ELFDATA2MSB
-#elif BYTE_ORDER == LITTLE_ENDIAN
+#else
 # define NATIVE_ELFDATA ELFDATA2LSB
-#else
-# error BYTE_ORDER unknown
 #endif
 
 #define elf_32bit(elf) (ELFCLASS32 == (elf)->class)
@@ -131,9 +114,9 @@ struct elf_binary {
        : sizeof((str)->e32))
 
 uint64_t elf_access_unsigned(struct elf_binary *elf, const void *ptr,
-                            off_t offset, size_t size);
+                            uint64_t offset, size_t size);
 int64_t elf_access_signed(struct elf_binary *elf, const void *ptr,
-                         off_t offset, size_t size);
+                         uint64_t offset, size_t size);
 
 uint64_t elf_round_up(struct elf_binary *elf, uint64_t addr);
 
diff -r e5cfd902d7e4 -r 7286802c9619 xen/tools/compat-build-header.py
--- a/xen/tools/compat-build-header.py  Sun Jan 28 16:37:02 2007 -0700
+++ b/xen/tools/compat-build-header.py  Sun Jan 28 16:47:12 2007 -0700
@@ -3,7 +3,7 @@ import re,sys
 import re,sys
 
 pats = [
- [ r"__InClUdE__", r"#include" ],
+ [ r"__InClUdE__(.*)", r"#include\1\n#pragma pack(4)" ],
  [ r"\"xen-compat.h\"", r"<public/xen-compat.h>" ],
  [ r"(struct|union|enum)\s+(xen_?)?(\w)", r"\1 compat_\3" ],
  [ r"@KeeP@", r"" ],

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog