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-3.1-testing] Merge with xen-unstable for 3.1.0-rc8

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.1-testing] Merge with xen-unstable for 3.1.0-rc8
From: "Xen patchbot-3.1-testing" <patchbot-3.1-testing@xxxxxxxxxxxxxxxxxxx>
Date: Sun, 06 May 2007 10:40:19 -0700
Delivery-date: Sun, 06 May 2007 10:39:39 -0700
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 kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1178407618 -3600
# Node ID 1db5b82369eb0e975d53ba74c8a21dc5e840ee12
# Parent  cc5800ecd71fd8116ca3c3de3027ba0e1bca8ce6
# Parent  e370c94bd6fd0816fec9d654fecde28d8c618168
Merge with xen-unstable for 3.1.0-rc8
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 tools/blktap/drivers/block-qcow.c |    3 +
 tools/libxc/xc_hvm_build.c        |   62 +++++++++++++++++++-------------------
 tools/python/xen/xend/XendAPI.py  |    2 -
 xen/Makefile                      |    2 -
 4 files changed, 35 insertions(+), 34 deletions(-)

diff -r cc5800ecd71f -r 1db5b82369eb tools/blktap/drivers/block-qcow.c
--- a/tools/blktap/drivers/block-qcow.c Thu May 03 19:28:14 2007 +0100
+++ b/tools/blktap/drivers/block-qcow.c Sun May 06 00:26:58 2007 +0100
@@ -199,7 +199,8 @@ static int init_aio_state(struct disk_dr
        }
 
         /* A segment (i.e. a page) can span multiple clusters */
-        s->max_aio_reqs = (getpagesize() / s->cluster_size) + 1;
+        s->max_aio_reqs = ((getpagesize() / s->cluster_size) + 1) *
+            MAX_SEGMENTS_PER_REQ * MAX_REQUESTS;
 
         /* Initialize AIO */
         s->iocb_free_count = s->max_aio_reqs;
diff -r cc5800ecd71f -r 1db5b82369eb tools/libxc/xc_hvm_build.c
--- a/tools/libxc/xc_hvm_build.c        Thu May 03 19:28:14 2007 +0100
+++ b/tools/libxc/xc_hvm_build.c        Sun May 06 00:26:58 2007 +0100
@@ -108,43 +108,45 @@ static void build_e820map(void *e820_pag
     *(((unsigned char *)e820_page) + E820_MAP_NR_OFFSET) = nr_map;
 }
 
-static int
-loadelfimage(struct elf_binary *elf, int xch, uint32_t dom, unsigned long 
*parray)
+static int loadelfimage(
+    struct elf_binary *elf, int xch, uint32_t dom, unsigned long *parray)
 {
     privcmd_mmap_entry_t *entries = NULL;
     int pages = (elf->pend - elf->pstart + PAGE_SIZE - 1) >> PAGE_SHIFT;
     int i, rc = -1;
 
-    /* map hvmloader address space */
+    /* Map address space for initial elf image. */
     entries = malloc(pages * sizeof(privcmd_mmap_entry_t));
-    if (NULL == entries)
+    if ( entries == NULL )
         goto err;
     elf->dest = mmap(NULL, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE,
                      MAP_SHARED, xch, 0);
-    if (MAP_FAILED == elf->dest)
+    if ( elf->dest == MAP_FAILED )
         goto err;
 
-    for (i = 0; i < pages; i++)
+    for ( i = 0; i < pages; i++ )
     {
         entries[i].va = (uintptr_t)elf->dest + (i << PAGE_SHIFT);
         entries[i].mfn = parray[(elf->pstart >> PAGE_SHIFT) + i];
         entries[i].npages = 1;
     }
+
     rc = xc_map_foreign_ranges(xch, dom, entries, pages);
-    if (rc < 0)
+    if ( rc < 0 )
         goto err;
 
-    /* load hvmloader */
+    /* Load the initial elf image. */
     elf_load_binary(elf);
     rc = 0;
 
  err:
-    /* cleanup */
-    if (elf->dest) {
+    if ( elf->dest )
+    {
         munmap(elf->dest, pages << PAGE_SHIFT);
         elf->dest = NULL;
     }
-    if (entries)
+
+    if ( entries )
         free(entries);
 
     return rc;
@@ -166,13 +168,17 @@ static int setup_guest(int xc_handle,
     int rc;
     xen_capabilities_info_t caps;
 
-    if (0 != elf_init(&elf, image, image_size))
+    /* An HVM guest must be initialised with at least 2MB memory. */
+    if ( memsize < 2 )
+        goto error_out;
+
+    if ( elf_init(&elf, image, image_size) != 0 )
         goto error_out;
     elf_parse_binary(&elf);
     v_start = 0;
     v_end = (unsigned long long)memsize << 20;
 
-    if (xc_version(xc_handle, XENVER_capabilities, &caps) != 0)
+    if ( xc_version(xc_handle, XENVER_capabilities, &caps) != 0 )
     {
         PERROR("Could not get Xen capabilities\n");
         goto error_out;
@@ -185,9 +191,9 @@ static int setup_guest(int xc_handle,
     }
 
     IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
-            "  Loaded HVM loader:    %016"PRIx64"->%016"PRIx64"\n"
-            "  TOTAL:                %016"PRIx64"->%016"PRIx64"\n"
-            "  ENTRY ADDRESS:        %016"PRIx64"\n",
+            "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
+            "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
+            "  ENTRY ADDRESS: %016"PRIx64"\n",
             elf.pstart, elf.pend,
             v_start, v_end,
             elf_uval(&elf, elf.ehdr, e_entry));
@@ -205,9 +211,8 @@ static int setup_guest(int xc_handle,
 
     /* Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000. */
     rc = xc_domain_memory_populate_physmap(
-        xc_handle, dom, (nr_pages > 0xa0) ? 0xa0 : nr_pages,
-        0, 0, &page_array[0x00]);
-    if ( (rc == 0) && (nr_pages > 0xc0) )
+        xc_handle, dom, 0xa0, 0, 0, &page_array[0x00]);
+    if ( rc == 0 )
         rc = xc_domain_memory_populate_physmap(
             xc_handle, dom, nr_pages - 0xc0, 0, 0, &page_array[0xc0]);
     if ( rc != 0 )
@@ -216,7 +221,8 @@ static int setup_guest(int xc_handle,
         goto error_out;
     }
 
-    loadelfimage(&elf, xc_handle, dom, page_array);
+    if ( loadelfimage(&elf, xc_handle, dom, page_array) != 0 )
+        goto error_out;
 
     if ( (e820_page = xc_map_foreign_range(
               xc_handle, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
@@ -328,12 +334,9 @@ static inline int is_loadable_phdr(Elf32
             ((phdr->p_flags & (PF_W|PF_X)) != 0));
 }
 
-/* xc_hvm_build
- *
- * Create a domain for a virtualized Linux, using files/filenames
- *
+/* xc_hvm_build:
+ * Create a domain for a virtualized Linux, using files/filenames.
  */
-
 int xc_hvm_build(int xc_handle,
                  uint32_t domid,
                  int memsize,
@@ -354,12 +357,9 @@ int xc_hvm_build(int xc_handle,
     return sts;
 }
 
-/* xc_hvm_build_mem
- *
- * Create a domain for a virtualized Linux, using buffers
- *
+/* xc_hvm_build_mem:
+ * Create a domain for a virtualized Linux, using memory buffers.
  */
-
 int xc_hvm_build_mem(int xc_handle,
                      uint32_t domid,
                      int memsize,
@@ -379,7 +379,7 @@ int xc_hvm_build_mem(int xc_handle,
     }
 
     img = xc_inflate_buffer(image_buffer, image_size, &img_len);
-    if (img == NULL)
+    if ( img == NULL )
     {
         ERROR("unable to inflate ram disk buffer");
         return -1;
diff -r cc5800ecd71f -r 1db5b82369eb tools/python/xen/xend/XendAPI.py
--- a/tools/python/xen/xend/XendAPI.py  Thu May 03 19:28:14 2007 +0100
+++ b/tools/python/xen/xend/XendAPI.py  Sun May 06 00:26:58 2007 +0100
@@ -1009,7 +1009,7 @@ class XendAPI(object):
                   'cpu_configuration': node.get_cpu_configuration(),
                   'metrics': node.host_metrics_uuid,
                   'capabilities': node.get_capabilities(),
-                  'supported_bootloaders': 'pygrub',
+                  'supported_bootloaders': ['pygrub'],
                   'sched_policy': node.get_vcpus_policy()}
         return xen_api_success(record)
 
diff -r cc5800ecd71f -r 1db5b82369eb xen/Makefile
--- a/xen/Makefile      Thu May 03 19:28:14 2007 +0100
+++ b/xen/Makefile      Sun May 06 00:26:58 2007 +0100
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 3
 export XEN_SUBVERSION    = 1
-export XEN_EXTRAVERSION ?= .0-rc7$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0-rc8$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.1-testing] Merge with xen-unstable for 3.1.0-rc8, Xen patchbot-3.1-testing <=