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-users

Re: [Xen-users] Error on xm create

To: Andrew Turnbull <abturnbull@xxxxxxxxx>
Subject: Re: [Xen-users] Error on xm create
From: Steven Hand <Steven.Hand@xxxxxxxxxxxx>
Date: Fri, 25 Nov 2005 15:07:47 +0000
Cc: "Petersson, Mats" <mats.petersson@xxxxxxx>, Steven Hand <Steven.Hand@xxxxxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 25 Nov 2005 15:09:39 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: Message from Andrew Turnbull <abturnbull@xxxxxxxxx> of "Fri, 25 Nov 2005 14:50:27 GMT." <bff20ae20511250650l2f935c1cw@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
> On 25/11/05, Petersson, Mats <mats.petersson@xxxxxxx> wrote:
> > > > Well "file /boot/vmlinuz-2.6.12-xenU" to check it's actually a gzip
> > > > compressed image; and if so, "cat /boot/vmlinuz-2.6.12-xenU
> > > | gunzip
> > > > -c >/tmp/FOO" and "objdump -d /tmp/FOO" to check its an ok
> > > ELF image.
> > > >
> > >
> > > Okay
> > >
> > > Followed your steps, and it came out with load of
> > >
> > > c035d68f:       c3                      ret
> > > c035d690:       83 ec 04                sub    $0x4,%esp
> > > c035d693:       e8 b8 2d f6 ff          call   0xc02c0450
> > > c035d698:       e8 63 83 f5 ff          call   0xc02b5a00
> > > c035d69d:       c7 04 24 e0 99 31 c0    movl   $0xc03199e0,(%esp)
> > > c035d6a4:       e8 d7 ff f5 ff          call   0xc02bd680
> > > c035d6a9:       c7 04 24 60 9a 31 c0    movl   $0xc0319a60,(%esp)
> > > c035d6b0:       e8 cb ff f5 ff          call   0xc02bd680
> > > c035d6b5:       e8 e6 33 f6 ff          call   0xc02c0aa0
> > > c035d6ba:       59                      pop    %ecx
> > > c035d6bb:       e9 50 33 f6 ff          jmp    0xc02c0a10
> > >
> > Yes, that looks fine.
> >
> > Are you sure that you uninstalled any old version of Xen before
> > installing the new version? I've had problems before where I had a
> > mixture of Xen "bits" that wasn't from the same build, and thus didn't
> > really expect the same things...
> 
> Its a completely fresh install, I reinstalled the base OS lastnight
> and the pulled down the latest xen-unstable source and then here we
> are.

Ok this is quite odd. 

Can you please apply the following patch and rebuild and reinstall 
the tools (and restart xend) and then retry? 

Should hopefully get some more info out in /var/log/xend-debug.log ...


cheers

S.

diff -r 28a117c5ea94 tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Fri Nov 25 11:19:09 2005
+++ b/tools/libxc/xc_linux_build.c      Fri Nov 25 15:06:01 2005
@@ -480,7 +480,7 @@
 
 #define _p(a) ((void *) (a))
 
-    printf("VIRTUAL MEMORY ARRANGEMENT:\n"
+    fprintf(stderr, "VIRTUAL MEMORY ARRANGEMENT:\n"
            " Loaded kernel: %p->%p\n"
            " Init. ramdisk: %p->%p\n"
            " Phys-Mach map: %p->%p\n"
@@ -499,7 +499,7 @@
            _p(vpt_start), _p(vpt_end),
            _p(vstack_start), _p(vstack_end),
            _p(dsi.v_start), _p(v_end));
-    printf(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));
+    fprintf(stderr, " ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));
 
     if ( ((v_end - dsi.v_start)>>PAGE_SHIFT) > nr_pages )
     {
@@ -541,8 +541,10 @@
         }
     }
 
-    if ( (mmu = xc_init_mmu_updates(xc_handle, dom)) == NULL )
-        goto error_out;
+    if ( (mmu = xc_init_mmu_updates(xc_handle, dom)) == NULL ) {
+        PERROR("Failed to initialize mmu.\n"); 
+        goto error_out;
+    }
 
     /* setup page tables */
 #if defined(__i386__)
@@ -560,8 +562,10 @@
                             dsi.v_start, v_end,
                             page_array, vpt_start, vpt_end);
 #endif
-    if (0 != rc)
-        goto error_out;
+    if (0 != rc) { 
+        PERROR("Failed to setup initial pagetables.\n"); 
+        goto error_out;
+    }
 
     /* Write the phys->machine and machine->phys table entries. */
     physmap_pfn = (vphysmap_start - dsi.v_start) >> PAGE_SHIFT;
@@ -576,8 +580,8 @@
             ((uint64_t)page_array[count] << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE,
             count) )
         {
-            fprintf(stderr,"m2p update failure p=%lx m=%lx\n",
-                    count, page_array[count]); 
+            PERROR("m2p update failure p=%lx m=%lx\n", count, 
+                   page_array[count]); 
             munmap(physmap, PAGE_SIZE);
             goto error_out;
         }
@@ -599,12 +603,16 @@
      */
     if (dsi.pae_kernel) {
         if ( pin_table(xc_handle, MMUEXT_PIN_L3_TABLE,
-                       ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) )
+                       ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) ) { 
+            PERROR("Failed to pin page table root (L3).\n"); 
             goto error_out;
+        }
     } else {
         if ( pin_table(xc_handle, MMUEXT_PIN_L2_TABLE,
-                       ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) )
+                       ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) ) {
+            PERROR("Failed to pin page table root (L2).\n"); 
             goto error_out;
+        }
     }
 #endif
 
@@ -614,15 +622,19 @@
      * correct protection for the page
      */
     if ( pin_table(xc_handle, MMUEXT_PIN_L4_TABLE,
-                   ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) )
-        goto error_out;
+                   ctxt->ctrlreg[3] >> PAGE_SHIFT, dom) ) { 
+        PERROR("Failed to pin page table root (L4).\n"); 
+        goto error_out;
+    }
 #endif
 
     *store_mfn = page_array[(vstoreinfo_start-dsi.v_start) >> PAGE_SHIFT];
     *console_mfn = page_array[(vconsole_start-dsi.v_start) >> PAGE_SHIFT];
     if ( xc_clear_domain_page(xc_handle, dom, *store_mfn) ||
-         xc_clear_domain_page(xc_handle, dom, *console_mfn) )
-        goto error_out;
+         xc_clear_domain_page(xc_handle, dom, *console_mfn) ) { 
+        PERROR("Failed to clean domain page.\n"); 
+        goto error_out;
+    }
 
     start_info = xc_map_foreign_range(
         xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
@@ -662,8 +674,10 @@
     munmap(shared_info, PAGE_SIZE);
 
     /* Send the page update requests down to the hypervisor. */
-    if ( xc_finish_mmu_updates(xc_handle, mmu) )
-        goto error_out;
+    if ( xc_finish_mmu_updates(xc_handle, mmu) ) { 
+        PERROR("Failed to finish mmu updates.\n"); 
+        goto error_out;
+    }
 
     free(mmu);
     free(page_array);
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
<Prev in Thread] Current Thread [Next in Thread>