All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Juergen Gross <JGross@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Xen-devel List <xen-devel@lists.xen.org>
Subject: Re: [Xen 4.12 bug] HVM/PVH boot confusion
Date: Wed, 30 Jan 2019 11:59:58 +0000	[thread overview]
Message-ID: <20190130115958.57zdigqskia37c3h@zion.uk.xensource.com> (raw)
In-Reply-To: <5c7ab977-8b31-4266-188e-e0bb045ca085@citrix.com>

On Tue, Jan 29, 2019 at 07:49:51PM +0000, Andrew Cooper wrote:
> Hello,
> 
> Given the following vm.cfg file:
> 
> name="vm"
> type="hvm"
> 
> vcpus=4
> memory=1024
> 
> firmware_override="/root/xen-syms"
> 
> kernel="/boot/vmlinuz-4.4-xen"
> ramdisk="/boot/initrd-4.4.0+10.img"
> 
> cmdline="console=xen,pv dom0=pv --- earlyprintk=xen"
> 

What is your use case here? If you want to use the shim, why don't you
put pvshim=1 directly?

> Xen crashes with the following trace:
> 
> (d15) (XEN) Xen BUG at pvh-boot.c:82
> (d15) (XEN) ----[ Xen-4.12.0-rc  x86_64  debug=y   Not tainted ]----
> (d15) (XEN) CPU:    0
> (d15) (XEN) RIP:    e008:[<ffff82d0804331f2>] pvh_init+0x27d/0x2fe
> <snip>
> (d15) (XEN) Xen call trace:
> (d15) (XEN)    [<ffff82d0804331f2>] pvh_init+0x27d/0x2fe
> (d15) (XEN)    [<ffff82d080429000>] __start_xen+0x14c/0x28f6
> (d15) (XEN)    [<ffff82d0802000f3>] __high_start+0x53/0x55
> (d15) (XEN)
> (d15) (XEN)
> (d15) (XEN) ****************************************
> (d15) (XEN) Panic on CPU 0:
> (d15) (XEN) Xen BUG at pvh-boot.c:82
> (d15) (XEN) ****************************************
> 
> The problem is that Xen is started at its PVH entrypoint (contrary to
> the instructions in the vm config file), and Xen unconditionally expects
> RSDP to be passed.
> 
> There are at least two bugs here.
> 
> 1) RSDP was a late addition to the PVH boot protocol.  Xen's PVH
> entrypoint must not mandate its existence, because there are releases of
> the domain builder which don't provide it.

The inner Xen, in this case, can fall back to scanning low 1MB memory
for RSDP.

> 
> 2) The HVM/PVH boot confusion.  This think this is a still-outstanding
> bug around the broken assumption that the hvmloader binary speaks the
> PVH protocol without advertising itself appropriately (I really regret
> not objecting to those patches before they went in).  At the least, that
> needs fixing by putting a proper ELF note in hvmloader, and the domain
> builder needs to be updated to build all PVH-boot-ABI images consistently.

Do you expect users to drop an arbitrary hvmloader into an arbitrary
version of Xen and they continue to work?

Wei.

> 
> I don't have time to look into this at the moment, if anyone fancies
> trying to fix these issues.
> 
> ~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2019-01-30 11:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-29 19:49 [Xen 4.12 bug] HVM/PVH boot confusion Andrew Cooper
2019-01-30 11:25 ` Roger Pau Monné
2019-01-30 12:10   ` Anthony PERARD
2019-01-30 12:22   ` Andrew Cooper
2019-01-30 11:59 ` Wei Liu [this message]
2019-01-30 12:30   ` Andrew Cooper
2019-01-30 12:46     ` Wei Liu
2019-01-30 13:38       ` Wei Liu
2019-01-30 13:49         ` Juergen Gross
2019-01-30 13:51           ` Wei Liu

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=20190130115958.57zdigqskia37c3h@zion.uk.xensource.com \
    --to=wei.liu2@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=JGross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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.