All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Byrne, John (HP Labs)" <john.l.byrne@hp.com>
Subject: Re: HVM direct boot broken in xen-unstable
Date: Tue, 22 Jul 2008 12:00:57 +0100	[thread overview]
Message-ID: <20080722110057.GF5192@redhat.com> (raw)
In-Reply-To: <18564.44873.954643.912561@mariner.uk.xensource.com>

On Mon, Jul 21, 2008 at 04:46:17PM +0100, Ian Jackson wrote:
> Daniel P. Berrange writes ("Re: [Xen-devel] HVM direct boot broken in xen-unstable"):
> > On Sat, Jul 19, 2008 at 12:52:07AM +0000, Byrne, John (HP Labs) wrote:
> > > Hi!
> > > 
> > > On x86_64, changeset 18081, running/building on rhel5, trying to use
> > > the HVM direct boot causes the domain to reboot immediately and then
> > > the log says the domain is restarting too rapidly. No obvious hints 
> > > as to where the problem is. If I build the in-tree ioemu code, things
> > > work. Any clues as to where to look or how to get some useful debugging
> > > output?
> 
> Byrne, could you send me a copy of your config file so I can reproduce
> this ?  Also, some idea of how you made (or how you obtained) the
> kernel image and initramfs.  I don't think I've ever done a direct
> kernel boot using this code (which is in patches supplied by Daniel)
> and offhand I can't seem to find the documentation.
> 
> > It appears the code is missing from the external ioemu code. The original
> > changesets for HVM kernel boot were
> 
> I've looked at the code and these changes are ones I did attempt to
> port across to the new qemu.  You'll see for example that the `evil
> helper' is still there, just slightly further down the file in pc.c.
> 
> I haven't ever executed the resulting codepaths and evidently I broke
> something, which is not all that surprising.

I think I've identified the problem. In the load_linux() method, the
line where we copy the header into guest memory:

    /* store the finalized header and load the rest of the kernel */
    cpu_physical_memory_write(real_addr, header, 1024);


Is done before the Xen hook runs:

    xen_relocator_hook(prot_addr, protocol, header, kernel_size,
                       real_addr, setup_size-1024);

The xen_relocator_hook modifies byte 0x214 in the header to point to
its hook, and so this change isn't getting written into memory.

The     cpu_physical_memory_write(real_addr, header, 1024) call just
needs to be moved down to be immediately after the call to the xen
hook.

Regards,
Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

      parent reply	other threads:[~2008-07-22 11:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-19  0:52 HVM direct boot broken in xen-unstable Byrne, John (HP Labs)
2008-07-19  8:35 ` Daniel P. Berrange
2008-07-21 10:44   ` Ian Jackson
2008-07-21 15:46   ` Ian Jackson
2008-07-21 15:51     ` Daniel P. Berrange
2008-07-21 15:59       ` Byrne, John (HP Labs)
2008-07-21 16:31       ` Byrne, John (HP Labs)
2008-07-22 14:52       ` Ian Jackson
2008-07-22 15:42         ` Byrne, John (HP Labs)
2008-07-22 18:57         ` Byrne, John (HP Labs)
2008-07-23 11:22           ` Ian Jackson
2008-07-22 11:00     ` Daniel P. Berrange [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080722110057.GF5192@redhat.com \
    --to=berrange@redhat.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=john.l.byrne@hp.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.