[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Error on xm create



> 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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.