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