tech-kern archive

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

Re: Xen 3.3: Problem HVM guest



On Tuesday 12 August 2008 23:54:20 Christoph Egger wrote:
> Christoph Egger wrote:
> > Hi,
> >
> > When launching a HVM guest, the process hangs and does not even block
> > any xmlrpc communication, there's a significant system slowdown until
> > reboot.
> >
> > I finally indentified the place of hang. It is in the xentools33 package
> > in ${WRKSRC}/libxc/xc_hvm_build.c , function setup_guest().
> >
> > At the end of setup_guest(), there's this junk of code:
> >
> >
> >
> >     /* Insert JMP <rel32> instruction at address 0x0 to reach entry
> > point. */
> >     entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
> >     if ( entry_eip != 0 )    {
> >         char *page0 = xc_map_foreign_range(
> >             xc_handle, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, 0);
> >         if ( page0 == NULL )
> >             goto error_out;
> >         page0[0] = 0xe9;               <------------ "hang"
> >         *(uint32_t *)&page0[1] = entry_eip - 5;
> >         munmap(page0, PAGE_SIZE);
> >     }
> >
> >
> > The "hang" happens when executing page0[0] = 0xe9;
> >
> > I'm CC this to tech-kern, because I'm not sure if this is a bug in
> > xentools or if I found a UVM/pmap bug.
>
> Here is an URL to the diff where this hunk has been added including the
> commit log:
>
> http://xenbits.xensource.com/xen-unstable.hg/rev/772674585a1a

Undoing this c/s 15985 lets the HVM guest launch, but I don't know if
this is the right way.

Manuell: Can you help me verifying if IOCTL_PRIVCMD_MMAP in
sys/arch/xen/xen/privcmd.c is implemented correctly ?

The deadline is this friday to tell XenSource to revert c/s 15985
before the final Xen 3.3.0 release.

Christoph


Home | Main Index | Thread Index | Old Index